diff --git a/admin/commands/inventory/add_agent_rta_mysql.go b/admin/commands/inventory/add_agent_rta_mysql.go
new file mode 100644
index 00000000000..b8c6bffa2c3
--- /dev/null
+++ b/admin/commands/inventory/add_agent_rta_mysql.go
@@ -0,0 +1,122 @@
+// Copyright (C) 2023 Percona LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package inventory
+
+import (
+ "time"
+
+ "github.com/percona/pmm/admin/commands"
+ "github.com/percona/pmm/admin/pkg/flags"
+ "github.com/percona/pmm/api/inventory/v1/json/client"
+ agents "github.com/percona/pmm/api/inventory/v1/json/client/agents_service"
+)
+
+var addAgentRTAMySQLAgentResultT = commands.ParseTemplate(`
+Real-Time Analytics MySQL agent added.
+Agent ID : {{ .Agent.AgentID }}
+PMM-Agent ID : {{ .Agent.PMMAgentID }}
+Service ID : {{ .Agent.ServiceID }}
+Username : {{ .Agent.Username }}
+TLS enabled : {{ .Agent.TLS }}
+Skip TLS verification : {{ .Agent.TLSSkipVerify }}
+
+Disabled : {{ .Agent.Disabled }}
+Custom labels : {{ formatCustomLabels .Agent.CustomLabels }}
+Collect interval : {{ .Agent.RtaOptions.CollectInterval }}
+Log level : {{ formatLogLevel .Agent.LogLevel }}
+`)
+
+type addAgentRTAMySQLAgentResult struct {
+ Agent *agents.AddAgentOKBodyRtaMysqlAgent `json:"rta_mysql_agent"`
+}
+
+func (res *addAgentRTAMySQLAgentResult) Result() {}
+
+func (res *addAgentRTAMySQLAgentResult) String() string {
+ return commands.RenderTemplate(addAgentRTAMySQLAgentResultT, res)
+}
+
+// AddAgentRTAMySQLAgentCommand is used by Kong for CLI flags and commands.
+type AddAgentRTAMySQLAgentCommand struct {
+ flags.LogLevelFatalFlags
+
+ PMMAgentID string `arg:"" help:"The pmm-agent identifier which runs this instance"`
+ ServiceID string `arg:"" help:"Service identifier"`
+ Username string `arg:"" optional:"" help:"MySQL username for getting queries data"`
+ Password string `help:"MySQL password for getting queries data"`
+ CustomLabels map[string]string `mapsep:"," help:"Custom user-assigned labels"`
+ SkipConnectionCheck bool `help:"Skip connection check"`
+ TLS bool `help:"Use TLS to connect to the database"`
+ TLSSkipVerify bool `help:"Skip TLS certificate verification"`
+ TLSCaFile string `help:"Path to certificate authority file"`
+ TLSCertFile string `help:"Path to client certificate file"`
+ TLSKeyFile string `help:"Path to client key file"`
+ CollectInterval *time.Duration `placeholder:"DURATION" help:"Query collect interval (default: server-defined 2s)"`
+}
+
+// RunCmd executes the AddAgentRTAMySQLAgentCommand and returns the result.
+func (cmd *AddAgentRTAMySQLAgentCommand) RunCmd() (commands.Result, error) {
+ customLabels := commands.ParseKeyValuePair(&cmd.CustomLabels)
+
+ tlsCa, err := commands.ReadFile(cmd.TLSCaFile)
+ if err != nil {
+ return nil, err
+ }
+
+ tlsCert, err := commands.ReadFile(cmd.TLSCertFile)
+ if err != nil {
+ return nil, err
+ }
+
+ tlsKey, err := commands.ReadFile(cmd.TLSKeyFile)
+ if err != nil {
+ return nil, err
+ }
+
+ params := &agents.AddAgentParams{
+ Body: agents.AddAgentBody{
+ RtaMysqlAgent: &agents.AddAgentParamsBodyRtaMysqlAgent{
+ PMMAgentID: cmd.PMMAgentID,
+ ServiceID: cmd.ServiceID,
+ Username: cmd.Username,
+ Password: cmd.Password,
+ CustomLabels: *customLabels,
+ SkipConnectionCheck: cmd.SkipConnectionCheck,
+ TLS: cmd.TLS,
+ TLSSkipVerify: cmd.TLSSkipVerify,
+ TLSCa: tlsCa,
+ TLSCert: tlsCert,
+ TLSKey: tlsKey,
+ LogLevel: cmd.LogLevel.EnumValue(),
+ },
+ },
+ Context: commands.Ctx,
+ }
+
+ if cmd.CollectInterval != nil {
+ params.Body.RtaMysqlAgent.RtaOptions = &agents.AddAgentParamsBodyRtaMysqlAgentRtaOptions{
+ CollectInterval: cmd.CollectInterval.String(),
+ }
+ }
+
+ resp, err := client.Default.AgentsService.AddAgent(params)
+ if err != nil {
+ return nil, err
+ }
+
+ return &addAgentRTAMySQLAgentResult{
+ Agent: resp.Payload.RtaMysqlAgent,
+ }, nil
+}
diff --git a/admin/commands/inventory/change_agent_rta_mysql.go b/admin/commands/inventory/change_agent_rta_mysql.go
new file mode 100644
index 00000000000..f2c7809cf84
--- /dev/null
+++ b/admin/commands/inventory/change_agent_rta_mysql.go
@@ -0,0 +1,226 @@
+// Copyright (C) 2023 Percona LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package inventory
+
+import (
+ "fmt"
+ "time"
+
+ "github.com/percona/pmm/admin/commands"
+ "github.com/percona/pmm/admin/pkg/flags"
+ "github.com/percona/pmm/api/inventory/v1/json/client"
+ agents "github.com/percona/pmm/api/inventory/v1/json/client/agents_service"
+)
+
+var changeAgentRTAMySQLAgentResultT = commands.ParseTemplate(`
+Real-Time Analytics MySQL agent configuration updated.
+Agent ID : {{ .Agent.AgentID }}
+PMM-Agent ID : {{ .Agent.PMMAgentID }}
+Service ID : {{ .Agent.ServiceID }}
+Username : {{ .Agent.Username }}
+TLS enabled : {{ .Agent.TLS }}
+Skip TLS verification : {{ .Agent.TLSSkipVerify }}
+
+Disabled : {{ .Agent.Disabled }}
+Custom labels : {{ formatCustomLabels .Agent.CustomLabels }}
+Collect interval : {{ .Agent.RtaOptions.CollectInterval }}
+Log level : {{ formatLogLevel .Agent.LogLevel }}
+
+{{- if .Changes}}
+Configuration changes applied:
+{{- range .Changes}}
+ - {{ . }}
+{{- end}}
+{{- end}}
+`)
+
+type changeAgentRTAMySQLAgentResult struct {
+ Agent *agents.ChangeAgentOKBodyRtaMysqlAgent `json:"rta_mysql_agent"`
+ Changes []string `json:"changes,omitempty"`
+}
+
+func (res *changeAgentRTAMySQLAgentResult) Result() {}
+
+func (res *changeAgentRTAMySQLAgentResult) String() string {
+ return commands.RenderTemplate(changeAgentRTAMySQLAgentResultT, res)
+}
+
+// ChangeAgentRTAMySQLAgentCommand is used by Kong for CLI flags and commands.
+type ChangeAgentRTAMySQLAgentCommand struct {
+ // Embedded flags
+ flags.LogLevelFatalChangeFlags
+
+ AgentID string `arg:"" help:"Real-Time Analytics MySQL Agent ID"`
+
+ // NOTE: Only provided flags will be changed, others will remain unchanged
+
+ // Basic options
+ Enable *bool `help:"Enable or disable the agent"`
+ Username *string `help:"MySQL username for getting queries data"`
+ Password *string `help:"MySQL password for getting queries data"`
+
+ // TLS options
+ TLS *bool `help:"Use TLS to connect to the database"`
+ TLSSkipVerify *bool `help:"Skip TLS certificate verification"`
+ TLSCaFile *string `help:"Path to certificate authority file"`
+ TLSCertFile *string `help:"Path to client certificate file"`
+ TLSKeyFile *string `help:"Path to client key file"`
+
+ // RTA specific options
+ CollectInterval *time.Duration `placeholder:"DURATION" help:"Query collect interval (default: server-defined 2s)"`
+
+ // Custom labels
+ CustomLabels *map[string]string `mapsep:"," help:"Custom user-assigned labels"`
+
+ SkipConnectionCheck *bool `help:"Skip connection check"`
+}
+
+// readFlagFile reads the file behind an optional CLI flag; a nil path means
+// the flag was not provided.
+func readFlagFile(path *string, what string) (*string, error) {
+ if path == nil {
+ return nil, nil //nolint:nilnil
+ }
+
+ content, err := commands.ReadFile(*path)
+ if err != nil {
+ return nil, fmt.Errorf("failed to read %s: %w", what, err)
+ }
+
+ return &content, nil
+}
+
+// RunCmd executes the ChangeAgentRTAMySQLAgentCommand and returns the result.
+func (cmd *ChangeAgentRTAMySQLAgentCommand) RunCmd() (commands.Result, error) {
+ // Parse custom labels if provided
+ customLabels := commands.ParseKeyValuePair(cmd.CustomLabels)
+
+ // Read TLS files if provided
+ tlsCa, err := readFlagFile(cmd.TLSCaFile, "TLS CA file")
+ if err != nil {
+ return nil, err
+ }
+
+ tlsCert, err := readFlagFile(cmd.TLSCertFile, "TLS certificate file")
+ if err != nil {
+ return nil, err
+ }
+
+ tlsKey, err := readFlagFile(cmd.TLSKeyFile, "TLS key file")
+ if err != nil {
+ return nil, err
+ }
+
+ body := &agents.ChangeAgentParamsBodyRtaMysqlAgent{
+ Enable: cmd.Enable,
+ Username: cmd.Username,
+ Password: cmd.Password,
+ TLS: cmd.TLS,
+ TLSSkipVerify: cmd.TLSSkipVerify,
+ TLSCa: tlsCa,
+ TLSCert: tlsCert,
+ TLSKey: tlsKey,
+ LogLevel: convertLogLevelPtr(cmd.LogLevel),
+ SkipConnectionCheck: cmd.SkipConnectionCheck,
+ }
+
+ if customLabels != nil {
+ body.CustomLabels = &agents.ChangeAgentParamsBodyRtaMysqlAgentCustomLabels{
+ Values: *customLabels,
+ }
+ }
+
+ if cmd.CollectInterval != nil {
+ body.RtaOptions = &agents.ChangeAgentParamsBodyRtaMysqlAgentRtaOptions{
+ CollectInterval: cmd.CollectInterval.String(),
+ }
+ }
+
+ params := &agents.ChangeAgentParams{
+ AgentID: cmd.AgentID,
+ Body: agents.ChangeAgentBody{
+ RtaMysqlAgent: body,
+ },
+ Context: commands.Ctx,
+ }
+
+ resp, err := client.Default.AgentsService.ChangeAgent(params)
+ if err != nil {
+ return nil, err
+ }
+
+ return &changeAgentRTAMySQLAgentResult{
+ Agent: resp.Payload.RtaMysqlAgent,
+ Changes: cmd.describeChanges(customLabels),
+ }, nil
+}
+
+// describeChanges lists the modifications applied by this command invocation.
+func (cmd *ChangeAgentRTAMySQLAgentCommand) describeChanges(customLabels *map[string]string) []string {
+ var changes []string
+
+ if cmd.Enable != nil {
+ if *cmd.Enable {
+ changes = append(changes, "enabled agent")
+ } else {
+ changes = append(changes, "disabled agent")
+ }
+ }
+ if cmd.Username != nil {
+ changes = append(changes, "updated username")
+ }
+ if cmd.Password != nil {
+ changes = append(changes, "updated password")
+ }
+ if cmd.TLS != nil {
+ if *cmd.TLS {
+ changes = append(changes, "enabled TLS")
+ } else {
+ changes = append(changes, "disabled TLS")
+ }
+ }
+ if cmd.TLSSkipVerify != nil {
+ if *cmd.TLSSkipVerify {
+ changes = append(changes, "enabled TLS skip verification")
+ } else {
+ changes = append(changes, "disabled TLS skip verification")
+ }
+ }
+ if cmd.TLSCaFile != nil {
+ changes = append(changes, "updated TLS CA certificate")
+ }
+ if cmd.TLSCertFile != nil {
+ changes = append(changes, "updated TLS certificate")
+ }
+ if cmd.TLSKeyFile != nil {
+ changes = append(changes, "updated TLS key")
+ }
+ if cmd.LogLevel != nil {
+ changes = append(changes, fmt.Sprintf("changed log level to %s", *cmd.LogLevel))
+ }
+ if customLabels != nil {
+ if len(*customLabels) != 0 {
+ changes = append(changes, "updated custom labels")
+ } else {
+ changes = append(changes, "custom labels are removed")
+ }
+ }
+
+ if cmd.CollectInterval != nil {
+ changes = append(changes, fmt.Sprintf("changed collect interval to %s", *cmd.CollectInterval))
+ }
+
+ return changes
+}
diff --git a/admin/commands/inventory/inventory.go b/admin/commands/inventory/inventory.go
index 850607aa279..ad8a219019f 100644
--- a/admin/commands/inventory/inventory.go
+++ b/admin/commands/inventory/inventory.go
@@ -64,6 +64,7 @@ type AddAgentCommand struct {
RDSExporter AddAgentRDSExporterCommand `cmd:"" help:"Add rds_exporter to inventory"`
RTAMongoDBAgent AddAgentRTAMongoDBAgentCommand `cmd:"" name:"rta-mongodb-agent" help:"Add Real-Time Analytics MongoDB agent to inventory"`
+ RTAMySQLAgent AddAgentRTAMySQLAgentCommand `cmd:"" name:"rta-mysql-agent" help:"Add Real-Time Analytics MySQL agent to inventory"`
}
// AddNodeCommand is used by Kong for CLI flags and commands.
@@ -119,6 +120,7 @@ type ChangeAgentCommand struct {
QANPostgreSQLPgStatementsAgent ChangeAgentQANPostgreSQLPgStatementsAgentCommand `cmd:"" name:"qan-postgresql-pgstatements-agent" help:"Change QAN PostgreSQL pgstatements agent configuration (only passed flags will be changed)"`
QANPostgreSQLPgStatMonitorAgent ChangeAgentQANPostgreSQLPgStatMonitorAgentCommand `cmd:"" name:"qan-postgresql-pgstatmonitor-agent" help:"Change QAN PostgreSQL pgstatmonitor agent configuration (only passed flags will be changed)"`
RTAMongoDBAgent ChangeAgentRTAMongoDBAgentCommand `cmd:"" name:"rta-mongodb-agent" help:"Change Real-Time Analytics MongoDB agent configuration (only passed flags will be changed)"`
+ RTAMySQLAgent ChangeAgentRTAMySQLAgentCommand `cmd:"" name:"rta-mysql-agent" help:"Change Real-Time Analytics MySQL agent configuration (only passed flags will be changed)"`
}
// formatTypeValue checks acceptable type value and variations contains input and returns type value.
diff --git a/admin/commands/inventory/list_agents.go b/admin/commands/inventory/list_agents.go
index 3c87e32b005..37f8a652437 100644
--- a/admin/commands/inventory/list_agents.go
+++ b/admin/commands/inventory/list_agents.go
@@ -53,6 +53,7 @@ var acceptableAgentTypes = map[string][]string{
types.AgentTypeQANPostgreSQLPgStatMonitorAgent: {types.AgentTypeName(types.AgentTypeQANPostgreSQLPgStatMonitorAgent), "qan-postgresql-pgstatmonitor-agent"},
types.AgentTypeRDSExporter: {types.AgentTypeName(types.AgentTypeRDSExporter), "rds-exporter"},
types.AgentTypeRTAMongoDBAgent: {types.AgentTypeName(types.AgentTypeRTAMongoDBAgent), "rta-mongodb-agent"},
+ types.AgentTypeRTAMySQLAgent: {types.AgentTypeName(types.AgentTypeRTAMySQLAgent), "rta-mysql-agent"},
}
type listResultAgent struct {
@@ -141,7 +142,8 @@ func (cmd *ListAgentsCommand) RunCmd() (commands.Result, error) {
len(agentsRes.Payload.QANPostgresqlPgstatementsAgent)+
len(agentsRes.Payload.QANPostgresqlPgstatmonitorAgent)+
len(agentsRes.Payload.ExternalExporter)+
- len(agentsRes.Payload.RtaMongodbAgent),
+ len(agentsRes.Payload.RtaMongodbAgent)+
+ len(agentsRes.Payload.RtaMysqlAgent),
)
for _, a := range agentsRes.Payload.PMMAgent {
status := "disconnected"
@@ -309,6 +311,16 @@ func (cmd *ListAgentsCommand) RunCmd() (commands.Result, error) {
Disabled: a.Disabled,
})
}
+ for _, a := range agentsRes.Payload.RtaMysqlAgent {
+ agentsList = append(agentsList, listResultAgent{
+ AgentType: types.AgentTypeRTAMySQLAgent,
+ AgentID: a.AgentID,
+ PMMAgentID: a.PMMAgentID,
+ ServiceID: a.ServiceID,
+ Status: getAgentStatus(a.Status),
+ Disabled: a.Disabled,
+ })
+ }
return &listAgentsResult{
Agents: agentsList,
diff --git a/agent/agents/mysql/realtimeanalytics/connection.go b/agent/agents/mysql/realtimeanalytics/connection.go
new file mode 100644
index 00000000000..be46a276521
--- /dev/null
+++ b/agent/agents/mysql/realtimeanalytics/connection.go
@@ -0,0 +1,69 @@
+// Copyright (C) 2023 Percona LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package realtimeanalytics
+
+import (
+ "context"
+ "database/sql"
+ "time"
+
+ "github.com/go-sql-driver/mysql"
+
+ "github.com/percona/pmm/agent/tlshelpers"
+)
+
+const (
+ // Timeout for MySQL queries and connection.
+ mysqlQueryTimeout = 5 * time.Second
+)
+
+// createConnection opens a connection to MySQL and verifies it with a ping.
+// It returns the *sql.DB, the instance address(host:port) parsed from the DSN
+// and an error if connection can't be established.
+func createConnection(ctx context.Context, dsn string, files map[string]string, tlsSkipVerify bool) (*sql.DB, string, error) {
+ if files != nil {
+ err := tlshelpers.RegisterMySQLCerts(files, tlsSkipVerify)
+ if err != nil {
+ return nil, "", err
+ }
+ }
+
+ cfg, err := mysql.ParseDSN(dsn)
+ if err != nil {
+ return nil, "", err
+ }
+
+ db, err := sql.Open("mysql", dsn)
+ if err != nil {
+ return nil, "", err
+ }
+
+ // The collector runs one query per interval, so a single long-lived connection
+ // is kept open and reused across collection cycles (no maximum lifetime).
+ db.SetMaxIdleConns(1)
+ db.SetMaxOpenConns(1)
+ db.SetConnMaxLifetime(0)
+
+ pingCtx, cancel := context.WithTimeout(ctx, mysqlQueryTimeout)
+ defer cancel()
+
+ err = db.PingContext(pingCtx)
+ if err != nil {
+ _ = db.Close()
+ return nil, "", err
+ }
+
+ return db, cfg.Addr, nil
+}
diff --git a/agent/agents/mysql/realtimeanalytics/mysql.go b/agent/agents/mysql/realtimeanalytics/mysql.go
new file mode 100644
index 00000000000..cf07a3827b2
--- /dev/null
+++ b/agent/agents/mysql/realtimeanalytics/mysql.go
@@ -0,0 +1,484 @@
+// Copyright (C) 2023 Percona LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Package realtimeanalytics runs built-in Real-Time Analytics Agent for MySQL.
+package realtimeanalytics
+
+import (
+ "context"
+ "database/sql"
+ "encoding/json"
+ "errors"
+ "fmt"
+ "strconv"
+ "strings"
+ "sync"
+ "sync/atomic"
+ "time"
+
+ "github.com/prometheus/client_golang/prometheus"
+ "github.com/sirupsen/logrus"
+ "google.golang.org/protobuf/types/known/durationpb"
+ "google.golang.org/protobuf/types/known/timestamppb"
+
+ "github.com/percona/pmm/agent/agents"
+ mysqlversion "github.com/percona/pmm/agent/utils/version"
+ agentv1 "github.com/percona/pmm/api/agent/v1"
+ inventoryv1 "github.com/percona/pmm/api/inventory/v1"
+ rtav1 "github.com/percona/pmm/api/realtimeanalytics/v1"
+)
+
+const (
+ changesBufferSize = 10
+ // Number of picoseconds per nanosecond, used to convert MySQL picosecond latencies into Go durations.
+ picosecondsPerNanosecond = 1000
+ // Interval used when the server sends none. A non-positive duration makes
+ // time.NewTicker panic, and a panic here takes down the whole pmm-agent, so a
+ // missing interval degrades to the server's own default instead.
+ defaultCollectInterval = 2 * time.Second
+)
+
+// currentQueriesSQL fetches currently running queries from the sys schema.
+// The sys.x$processlist view is the machine-readable (raw) version of sys.processlist
+// (https://dev.mysql.com/doc/refman/8.4/en/sys-processlist.html); it exposes
+// the same columns but with unformatted numeric latencies.
+// We select all columns so the complete row is preserved in the raw payload
+// (mirroring how the MongoDB RTA agent dumps the whole currentOp document), and
+// exclude background threads, idle ("Sleep") connections, the RTA agent's own
+// connection and rows without a current statement.
+const currentQueriesSQL = `
+SELECT *
+FROM sys.x$processlist
+WHERE conn_id IS NOT NULL
+ AND conn_id <> CONNECTION_ID()
+ AND current_statement IS NOT NULL
+ AND command NOT IN ('Sleep', 'Daemon')`
+
+// MySQLRTA extracts Real-Time Analytics data (currently running DB queries) from MySQL.
+type MySQLRTA struct {
+ agentID string
+ serviceID string
+ serviceName string
+ l *logrus.Entry
+
+ // Channel to obtain data from this agent.
+ changes chan agents.Change
+
+ // dsn to connect to MySQL.
+ dsn string
+ // files holds TLS certificates to register for the MySQL connection.
+ files map[string]string
+ // tlsSkipVerify controls TLS certificate validation.
+ tlsSkipVerify bool
+ // collectInterval is how often to collect data from MySQL.
+ collectInterval time.Duration
+
+ // db is the open connection to MySQL, kept between collection cycles.
+ db *sql.DB
+ // dbInstanceAddress is the monitored instance address parsed from the DSN.
+ dbInstanceAddress string
+}
+
+// Params represent Agent parameters.
+type Params struct {
+ AgentID string
+ DSN string // DSN to connect to MySQL.
+ ServiceID string // ServiceID shall be set in RTA queries to link them to the service.
+ ServiceName string // ServiceName shall be set in RTA queries to link them to the service.
+ CollectInterval time.Duration // CollectInterval is how often to collect data from MySQL.
+ TextFiles *agentv1.TextFiles // TLS certificate files (optional).
+ TLSSkipVerify bool // Skip TLS certificate validation.
+}
+
+// New creates new MySQLRTA service.
+// The DSN is expected to be already rendered by the caller (the supervisor renders
+// TLS file templates before constructing the agent).
+func New(params *Params, l *logrus.Entry) *MySQLRTA {
+ var files map[string]string
+ if params.TextFiles != nil {
+ files = params.TextFiles.Files
+ }
+
+ collectInterval := params.CollectInterval
+ if collectInterval <= 0 {
+ l.Warnf("No collect interval set for Real-Time Analytics, falling back to %s", defaultCollectInterval)
+ collectInterval = defaultCollectInterval
+ }
+
+ return &MySQLRTA{
+ agentID: params.AgentID,
+ serviceID: params.ServiceID,
+ serviceName: params.ServiceName,
+ dsn: params.DSN,
+ files: files,
+ tlsSkipVerify: params.TLSSkipVerify,
+ collectInterval: collectInterval,
+ l: l,
+ changes: make(chan agents.Change, changesBufferSize),
+ }
+}
+
+// Run extracts currently running DB queries from MySQL
+// and sends it to the channel until ctx is canceled.
+func (m *MySQLRTA) Run(ctx context.Context) {
+ m.l.Info("Starting MySQL RTA agent")
+
+ m.changes <- agents.Change{Status: inventoryv1.AgentStatus_AGENT_STATUS_STARTING}
+
+ // collectors tracks in-flight collection goroutines so we can wait for them
+ // before closing m.changes, avoiding a "send on closed channel" race on shutdown.
+ var collectors sync.WaitGroup
+
+ // collecting keeps one collection in flight at a time. Each collection runs on
+ // its own pooled connection and the query only excludes its own conn_id, so two
+ // overlapping collections would report each other's processlist query as a
+ // running query.
+ var collecting atomic.Bool
+
+ // terminalStatus is reported just before the changes channel is closed. It stays
+ // DONE for a normal stop and becomes INITIALIZATION_ERROR when the agent cannot
+ // start (connection failure or unmet prerequisites), so the session surfaces a
+ // clear error instead of sitting in RUNNING with no data.
+ terminalStatus := inventoryv1.AgentStatus_AGENT_STATUS_DONE
+ defer func() {
+ collectors.Wait()
+
+ m.changes <- agents.Change{Status: terminalStatus}
+
+ close(m.changes)
+ }()
+
+ db, addr, err := createConnection(ctx, m.dsn, m.files, m.tlsSkipVerify)
+ if err != nil {
+ // A shutdown during initialization is a normal stop, not an initialization failure.
+ if ctx.Err() != nil {
+ return
+ }
+ m.l.Errorf("Can't run Real-Time Analytics agent, reason: %v", err)
+ terminalStatus = inventoryv1.AgentStatus_AGENT_STATUS_INITIALIZATION_ERROR
+ return
+ }
+
+ defer func() {
+ _ = db.Close()
+ }()
+
+ m.db = db
+ m.dbInstanceAddress = addr
+
+ // Verify the instance can actually serve RTA (not MariaDB, performance_schema on,
+ // sys.x$processlist readable) before reporting RUNNING.
+ err = m.checkPrerequisites(ctx)
+ if err != nil {
+ // A shutdown during initialization is a normal stop, not an initialization failure.
+ if ctx.Err() != nil {
+ return
+ }
+ m.l.Errorf("Real-Time Analytics is not supported for this instance: %v", err)
+ terminalStatus = inventoryv1.AgentStatus_AGENT_STATUS_INITIALIZATION_ERROR
+ return
+ }
+
+ m.changes <- agents.Change{Status: inventoryv1.AgentStatus_AGENT_STATUS_RUNNING}
+
+ ticker := time.NewTicker(m.collectInterval)
+ defer ticker.Stop()
+
+ for {
+ select {
+ case <-ctx.Done():
+ m.l.Info("Stopping MySQL RTA agent")
+
+ m.changes <- agents.Change{Status: inventoryv1.AgentStatus_AGENT_STATUS_STOPPING}
+ // m.changes channel will be closed in defer, so we don't need to close it here, just exit the function.
+ return
+ case <-ticker.C:
+ // Skip the tick when the previous collection has not finished; the next
+ // one is only a collect interval away and this is a live view.
+ if !collecting.CompareAndSwap(false, true) {
+ m.l.Debug("Previous processlist collection still running, skipping this tick")
+ continue
+ }
+
+ // Run collection in a separate goroutine to avoid blocking the main loop
+ // and allow timely execution of next ticks in case collection takes longer
+ // than the collect interval.
+ collectors.Add(1)
+ go func(curCtx context.Context) {
+ defer collectors.Done()
+ defer collecting.Store(false)
+
+ rtaQueryBucket, err := m.collectProcessList(curCtx)
+ if err != nil {
+ m.l.Warnf("processlist collection failed: %v", err)
+ return
+ }
+
+ if len(rtaQueryBucket) == 0 {
+ return
+ }
+
+ // Send and cancellation are selected together: the buffer can be full
+ // while nothing drains it during shutdown, and a blocked send would
+ // keep Run from ever returning.
+ select {
+ case <-curCtx.Done():
+ case m.changes <- agents.Change{RTAQueriesBucket: rtaQueryBucket}:
+ }
+ }(ctx)
+ }
+ }
+}
+
+// checkPrerequisites verifies that the target instance can serve Real-Time Analytics:
+// - it must be Oracle MySQL or Percona Server. MariaDB's performance_schema/sys schema
+// differ (no sys.x$processlist with these columns) and are not supported.
+// - performance_schema must be enabled (sys.x$processlist is backed by it).
+// - sys.x$processlist must be readable by the monitoring user (the view is
+// SQL SECURITY INVOKER, so it requires SELECT on the underlying performance_schema tables).
+//
+// It returns a descriptive error otherwise, so the session reports a clear status
+// instead of silently collecting nothing every cycle.
+func (m *MySQLRTA) checkPrerequisites(ctx context.Context) error {
+ checkCtx, cancel := context.WithTimeout(ctx, mysqlQueryTimeout)
+ defer cancel()
+
+ _, vendor, err := mysqlversion.GetMySQLVersion(checkCtx, m.db)
+ if err != nil {
+ return fmt.Errorf("failed to detect MySQL version: %w", err)
+ }
+ if vendor == mysqlversion.MariaDBVendor {
+ return errors.New("MariaDB is not supported by MySQL Real-Time Analytics")
+ }
+
+ var performanceSchema sql.NullInt64
+ err = m.db.QueryRowContext(checkCtx, "SELECT @@performance_schema").Scan(&performanceSchema)
+ if err != nil {
+ return fmt.Errorf("failed to read @@performance_schema: %w", err)
+ }
+ if performanceSchema.Int64 != 1 {
+ return errors.New("performance_schema is disabled; it is required for Real-Time Analytics")
+ }
+
+ // Probe the view that the collector uses so missing schema or privileges fail fast.
+ rows, err := m.db.QueryContext(checkCtx, "SELECT 1 FROM sys.x$processlist LIMIT 1")
+ if err != nil {
+ return fmt.Errorf("sys.x$processlist is not accessible: %w", err)
+ }
+ defer rows.Close() //nolint:errcheck
+
+ return rows.Err()
+}
+
+// collectProcessList queries sys.x$processlist and parses the result into a slice of *QueryData.
+func (m *MySQLRTA) collectProcessList(ctx context.Context) ([]*rtav1.QueryData, error) {
+ queryCtx, cancel := context.WithTimeout(ctx, mysqlQueryTimeout)
+ defer cancel()
+
+ // An empty processlist is not an error: QueryContext does not return sql.ErrNoRows,
+ // it simply yields no rows below, so we only get here on a real query failure.
+ rows, err := m.db.QueryContext(queryCtx, currentQueriesSQL)
+ if err != nil {
+ return nil, fmt.Errorf("failed to query sys.x$processlist: %w", err)
+ }
+ defer func() {
+ _ = rows.Close()
+ }()
+
+ columns, err := rows.Columns()
+ if err != nil {
+ return nil, fmt.Errorf("failed to read processlist columns: %w", err)
+ }
+
+ collectTime := timestamppb.New(time.Now())
+
+ var results []*rtav1.QueryData
+ for rows.Next() {
+ select {
+ case <-ctx.Done():
+ return nil, ctx.Err()
+ default:
+ }
+
+ row, err := scanRow(rows, columns)
+ if err != nil {
+ m.l.Warnf("Failed to scan processlist row: %v", err)
+ continue
+ }
+
+ queryData := m.buildQueryData(row)
+ queryData.QueryCollectTime = collectTime
+
+ results = append(results, queryData)
+ }
+
+ err = rows.Err()
+ if err != nil {
+ m.l.Warnf("Failed to iterate processlist rows: %v", err)
+ return nil, err
+ }
+
+ return results, nil
+}
+
+// scanRow scans a single result row into a map keyed by column name. Values are
+// coerced to int64/float64 when numeric and to nil for SQL NULLs, so the raw
+// payload is human-readable JSON with native types.
+func scanRow(rows *sql.Rows, columns []string) (map[string]any, error) {
+ rawValues := make([]sql.RawBytes, len(columns))
+ scanArgs := make([]any, len(columns))
+ for i := range rawValues {
+ scanArgs[i] = &rawValues[i]
+ }
+
+ err := rows.Scan(scanArgs...)
+ if err != nil {
+ return nil, err
+ }
+
+ row := make(map[string]any, len(columns))
+ for i, col := range columns {
+ row[col] = coerceValue(rawValues[i])
+ }
+
+ return row, nil
+}
+
+// coerceValue converts a raw column value into nil (NULL), int64, float64 or string
+// so the raw payload renders as human-readable JSON with native types.
+//
+// It is tuned for the sys.x$processlist columns, whose numeric columns are plain
+// integers/decimals. It will reinterpret any numeric-looking string as a number, so
+// it is not a general-purpose converter: zero-padded identifiers or values wider than
+// int64 would lose their original textual form. None of the processlist columns have
+// that shape, but keep this in mind before reusing the helper elsewhere.
+func coerceValue(b sql.RawBytes) any {
+ if b == nil {
+ return nil
+ }
+
+ s := string(b)
+
+ i, intErr := strconv.ParseInt(s, 10, 64)
+ if intErr == nil {
+ return i
+ }
+
+ f, floatErr := strconv.ParseFloat(s, 64)
+ if floatErr == nil {
+ return f
+ }
+
+ return s
+}
+
+// buildQueryData converts a single sys.x$processlist row into a *QueryData.
+// The complete row is preserved in QueryRawJson; a curated subset is exposed
+// via the MySQL payload for the details view.
+func (m *MySQLRTA) buildQueryData(row map[string]any) *rtav1.QueryData {
+ execDuration := durationpb.New(time.Duration(mapFloat(row, "statement_latency")/picosecondsPerNanosecond) * time.Nanosecond)
+
+ mysqlPayload := &rtav1.QueryMySQLData{
+ DbInstanceAddress: m.dbInstanceAddress,
+ ProgramName: mapString(row, "program_name"),
+ DatabaseName: mapString(row, "db"),
+ Command: mapString(row, "command"),
+ State: mapString(row, "state"),
+ Username: mapString(row, "user"),
+ RowsExamined: mapInt(row, "rows_examined"),
+ RowsSent: mapInt(row, "rows_sent"),
+ FullScan: strings.EqualFold(mapString(row, "full_scan"), "YES"),
+ }
+
+ rawJSON, err := json.MarshalIndent(row, "", " ")
+ if err != nil {
+ m.l.Warnf("Failed to marshal raw query data: %v", err)
+ }
+
+ return &rtav1.QueryData{
+ ServiceId: m.serviceID,
+ ServiceName: m.serviceName,
+ QueryId: mapString(row, "conn_id"),
+ QueryText: mapString(row, "current_statement"),
+ QueryRawJson: string(rawJSON),
+ QueryExecutionDuration: execDuration,
+ Payload: &rtav1.QueryData_MySqlPayload{
+ MySqlPayload: mysqlPayload,
+ },
+ }
+}
+
+// mapString reads a column from the row as a string regardless of its scanned type.
+func mapString(row map[string]any, key string) string {
+ switch v := row[key].(type) {
+ case string:
+ return v
+ case int64:
+ return strconv.FormatInt(v, 10)
+ case float64:
+ return strconv.FormatFloat(v, 'f', -1, 64)
+ default:
+ return ""
+ }
+}
+
+// mapInt reads a column from the row as an int64.
+func mapInt(row map[string]any, key string) int64 {
+ switch v := row[key].(type) {
+ case int64:
+ return v
+ case float64:
+ return int64(v)
+ case string:
+ i, _ := strconv.ParseInt(v, 10, 64)
+ return i
+ default:
+ return 0
+ }
+}
+
+// mapFloat reads a column from the row as a float64.
+func mapFloat(row map[string]any, key string) float64 {
+ switch v := row[key].(type) {
+ case float64:
+ return v
+ case int64:
+ return float64(v)
+ case string:
+ f, _ := strconv.ParseFloat(v, 64)
+ return f
+ default:
+ return 0
+ }
+}
+
+// Changes returns channel that should be read until it is closed.
+func (m *MySQLRTA) Changes() <-chan agents.Change {
+ return m.changes
+}
+
+// Describe implements prometheus.Collector.
+func (m *MySQLRTA) Describe(_ chan<- *prometheus.Desc) {
+ // This method is needed to satisfy interface.
+}
+
+// Collect implement prometheus.Collector.
+func (m *MySQLRTA) Collect(_ chan<- prometheus.Metric) {
+ // This method is needed to satisfy interface.
+}
+
+// check interfaces.
+var (
+ _ prometheus.Collector = (*MySQLRTA)(nil)
+)
diff --git a/agent/agents/mysql/realtimeanalytics/mysql_test.go b/agent/agents/mysql/realtimeanalytics/mysql_test.go
new file mode 100644
index 00000000000..98d1274b02e
--- /dev/null
+++ b/agent/agents/mysql/realtimeanalytics/mysql_test.go
@@ -0,0 +1,156 @@
+// Copyright (C) 2023 Percona LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package realtimeanalytics
+
+import (
+ "database/sql"
+ "encoding/json"
+ "testing"
+ "time"
+
+ "github.com/sirupsen/logrus"
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+)
+
+func TestCoerceValue(t *testing.T) {
+ t.Parallel()
+
+ assert.Nil(t, coerceValue(nil), "NULL must become nil")
+ assert.Equal(t, int64(123), coerceValue(sql.RawBytes("123")))
+ assert.Equal(t, int64(-5), coerceValue(sql.RawBytes("-5")))
+ assert.Equal(t, int64(2648724198000), coerceValue(sql.RawBytes("2648724198000")))
+ assert.InEpsilon(t, 1.5, coerceValue(sql.RawBytes("1.5")), 0.0001)
+ assert.Equal(t, "COMMIT", coerceValue(sql.RawBytes("COMMIT")))
+ assert.Equal(t, "ACTIVE", coerceValue(sql.RawBytes("ACTIVE")))
+ // non-nil empty value stays an empty string (not nil)
+ emptyValue := coerceValue(sql.RawBytes(""))
+ assert.NotNil(t, emptyValue)
+ assert.Empty(t, emptyValue)
+}
+
+func TestMapHelpers(t *testing.T) {
+ t.Parallel()
+
+ row := map[string]any{
+ "i": int64(7),
+ "f": 2.5,
+ "s": "text",
+ "numStr": "9",
+ "floatStr": "3.5",
+ "null": nil,
+ }
+
+ assert.Equal(t, "7", mapString(row, "i"))
+ assert.Equal(t, "text", mapString(row, "s"))
+ assert.Empty(t, mapString(row, "missing"))
+ assert.Empty(t, mapString(row, "null"))
+
+ assert.Equal(t, int64(7), mapInt(row, "i"))
+ assert.Equal(t, int64(2), mapInt(row, "f")) // truncates
+ assert.Equal(t, int64(9), mapInt(row, "numStr"))
+ assert.Equal(t, int64(0), mapInt(row, "missing"))
+
+ assert.InDelta(t, 2.5, mapFloat(row, "f"), 0)
+ assert.InDelta(t, float64(7), mapFloat(row, "i"), 0)
+ assert.InDelta(t, 3.5, mapFloat(row, "floatStr"), 0)
+ assert.InDelta(t, float64(0), mapFloat(row, "missing"), 0)
+}
+
+func TestBuildQueryData(t *testing.T) {
+ t.Parallel()
+
+ m := &MySQLRTA{
+ serviceID: "svc-1",
+ serviceName: "rta-mysql",
+ dbInstanceAddress: "127.0.0.1:3306",
+ }
+
+ row := map[string]any{
+ "conn_id": int64(42),
+ "user": "sbtest@localhost",
+ "db": "sbtest",
+ "command": "Query",
+ "state": "executing",
+ "statement_latency": int64(2_000_000_000), // 2ms expressed in picoseconds
+ "current_statement": "SELECT 1",
+ "rows_examined": int64(200),
+ "rows_sent": int64(100),
+ "full_scan": "YES",
+ "program_name": "mysql",
+ "trx_state": "ACTIVE",
+ "pid": nil,
+ }
+
+ qd := m.buildQueryData(row)
+ require.NotNil(t, qd)
+
+ assert.Equal(t, "svc-1", qd.ServiceId)
+ assert.Equal(t, "rta-mysql", qd.ServiceName)
+ assert.Equal(t, "42", qd.QueryId)
+ assert.Equal(t, "SELECT 1", qd.QueryText)
+ // 2_000_000_000 ps / 1000 = 2_000_000 ns = 2ms
+ assert.Equal(t, 2*time.Millisecond, qd.QueryExecutionDuration.AsDuration())
+
+ p := qd.GetMySqlPayload()
+ require.NotNil(t, p)
+ assert.Equal(t, "127.0.0.1:3306", p.DbInstanceAddress)
+ assert.Equal(t, "sbtest", p.DatabaseName)
+ assert.Equal(t, "Query", p.Command)
+ assert.Equal(t, "executing", p.State)
+ assert.Equal(t, "sbtest@localhost", p.Username)
+ assert.Equal(t, int64(200), p.RowsExamined)
+ assert.Equal(t, int64(100), p.RowsSent)
+ assert.True(t, p.FullScan)
+ assert.Equal(t, "mysql", p.ProgramName)
+
+ // Raw payload is pretty-printed (multi-line) and preserves the whole row, NULLs included.
+ assert.Contains(t, qd.QueryRawJson, "\n")
+ var parsed map[string]any
+ require.NoError(t, json.Unmarshal([]byte(qd.QueryRawJson), &parsed))
+ assert.Contains(t, parsed, "current_statement")
+ assert.Contains(t, parsed, "statement_latency")
+ assert.Contains(t, parsed, "trx_state")
+ assert.Nil(t, parsed["pid"], "NULL columns are preserved as JSON null")
+}
+
+func TestBuildQueryDataFullScanAndMissing(t *testing.T) {
+ t.Parallel()
+
+ m := &MySQLRTA{serviceID: "svc", serviceName: "svc"}
+
+ // full_scan "NO" -> false, and a missing statement_latency -> zero duration.
+ qd := m.buildQueryData(map[string]any{
+ "conn_id": int64(1),
+ "current_statement": "SELECT 2",
+ "full_scan": "NO",
+ })
+ require.NotNil(t, qd)
+ assert.False(t, qd.GetMySqlPayload().FullScan)
+ assert.Equal(t, time.Duration(0), qd.QueryExecutionDuration.AsDuration())
+}
+
+func TestNewCollectInterval(t *testing.T) {
+ t.Parallel()
+
+ l := logrus.NewEntry(logrus.New())
+
+ assert.Equal(t, 5*time.Second, New(&Params{CollectInterval: 5 * time.Second}, l).collectInterval)
+
+ // A missing or non-positive interval must not reach time.NewTicker, which
+ // panics on it and would take the whole pmm-agent down.
+ assert.Equal(t, defaultCollectInterval, New(&Params{}, l).collectInterval)
+ assert.Equal(t, defaultCollectInterval, New(&Params{CollectInterval: -1}, l).collectInterval)
+}
diff --git a/agent/agents/supervisor/supervisor.go b/agent/agents/supervisor/supervisor.go
index 3a6c4ab3504..048dfcf140c 100644
--- a/agent/agents/supervisor/supervisor.go
+++ b/agent/agents/supervisor/supervisor.go
@@ -37,6 +37,7 @@ import (
mongoprofiler "github.com/percona/pmm/agent/agents/mongodb/profiler"
mongorta "github.com/percona/pmm/agent/agents/mongodb/realtimeanalytics"
"github.com/percona/pmm/agent/agents/mysql/perfschema"
+ mysqlrta "github.com/percona/pmm/agent/agents/mysql/realtimeanalytics"
"github.com/percona/pmm/agent/agents/mysql/slowlog"
"github.com/percona/pmm/agent/agents/noop"
"github.com/percona/pmm/agent/agents/postgres/pgstatmonitor"
@@ -672,6 +673,18 @@ func (s *Supervisor) startBuiltin(agentID string, builtinAgent *agentv1.SetState
}
agent, err = mongorta.New(params, l)
+ case inventoryv1.AgentType_AGENT_TYPE_RTA_MYSQL_AGENT:
+ params := &mysqlrta.Params{
+ DSN: dsn,
+ AgentID: agentID,
+ ServiceID: builtinAgent.ServiceId,
+ ServiceName: builtinAgent.ServiceName,
+ CollectInterval: builtinAgent.RtaOptions.GetCollectInterval().AsDuration(),
+ TextFiles: builtinAgent.GetTextFiles(),
+ TLSSkipVerify: builtinAgent.TlsSkipVerify,
+ }
+ agent = mysqlrta.New(params, l)
+
case typeTestNoop:
agent = noop.New()
diff --git a/api-tests/helpers.go b/api-tests/helpers.go
index 28425dea598..bb698a51738 100644
--- a/api-tests/helpers.go
+++ b/api-tests/helpers.go
@@ -329,6 +329,9 @@ func AddAgent(t *testing.T, body agents.AddAgentBody) *agents.AddAgentOKBody {
case body.RtaMongodbAgent != nil:
require.NotNil(t, res.Payload.RtaMongodbAgent)
agentID = res.Payload.RtaMongodbAgent.AgentID
+ case body.RtaMysqlAgent != nil:
+ require.NotNil(t, res.Payload.RtaMysqlAgent)
+ agentID = res.Payload.RtaMysqlAgent.AgentID
case body.QANMongodbMongologAgent != nil:
require.NotNil(t, res.Payload.QANMongodbMongologAgent)
agentID = res.Payload.QANMongodbMongologAgent.AgentID
diff --git a/api-tests/inventory/agents_rta_mysql_test.go b/api-tests/inventory/agents_rta_mysql_test.go
new file mode 100644
index 00000000000..de78d961c1a
--- /dev/null
+++ b/api-tests/inventory/agents_rta_mysql_test.go
@@ -0,0 +1,365 @@
+// Copyright (C) 2023 Percona LLC
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+package inventory
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+ "google.golang.org/grpc/codes"
+
+ pmmapitests "github.com/percona/pmm/api-tests"
+ "github.com/percona/pmm/api/inventory/v1/json/client"
+ agents "github.com/percona/pmm/api/inventory/v1/json/client/agents_service"
+ services "github.com/percona/pmm/api/inventory/v1/json/client/services_service"
+)
+
+func TestRTAMySQLAgent(t *testing.T) {
+ t.Parallel()
+
+ t.Run("Basic", func(t *testing.T) {
+ t.Parallel()
+
+ genericNodeID := pmmapitests.AddGenericNode(t, pmmapitests.TestString(t, "Test Generic Node for RTA MySQL Agent")).NodeID
+
+ service := pmmapitests.AddService(t, services.AddServiceBody{
+ Mysql: &services.AddServiceParamsBodyMysql{
+ NodeID: genericNodeID,
+ Address: pmmapitests.TestString(t, "localhost"),
+ Port: 3306,
+ ServiceName: pmmapitests.TestString(t, "MySQL Service for RTA Agent test"),
+ },
+ })
+ serviceID := service.Mysql.ServiceID
+ t.Cleanup(func() {
+ pmmapitests.RemoveServices(t, serviceID)
+ })
+
+ pmmAgentID := pmmapitests.AddPMMAgent(t, genericNodeID).AgentID
+
+ t.Cleanup(func() {
+ pmmapitests.RemoveAgents(t, pmmAgentID)
+ })
+
+ res := pmmapitests.AddAgent(t, agents.AddAgentBody{
+ RtaMysqlAgent: &agents.AddAgentParamsBodyRtaMysqlAgent{
+ ServiceID: serviceID,
+ Username: "username",
+ Password: "password",
+ PMMAgentID: pmmAgentID,
+ CustomLabels: map[string]string{
+ "new_label": "RTAMysqlAgent",
+ },
+ RtaOptions: &agents.AddAgentParamsBodyRtaMysqlAgentRtaOptions{
+ CollectInterval: "5s",
+ },
+
+ SkipConnectionCheck: true,
+ },
+ })
+ agentID := res.RtaMysqlAgent.AgentID
+
+ getAgentRes, err := client.Default.AgentsService.GetAgent(&agents.GetAgentParams{
+ AgentID: agentID,
+ Context: pmmapitests.Context,
+ })
+ require.NoError(t, err)
+ assert.Equal(t, &agents.GetAgentOK{
+ Payload: &agents.GetAgentOKBody{
+ RtaMysqlAgent: &agents.GetAgentOKBodyRtaMysqlAgent{
+ AgentID: agentID,
+ ServiceID: serviceID,
+ Username: "username",
+ PMMAgentID: pmmAgentID,
+ CustomLabels: map[string]string{
+ "new_label": "RTAMysqlAgent",
+ },
+ RtaOptions: &agents.GetAgentOKBodyRtaMysqlAgentRtaOptions{
+ CollectInterval: "5s",
+ },
+ Status: &AgentStatusUnknown,
+ LogLevel: new("LOG_LEVEL_UNSPECIFIED"),
+ },
+ },
+ }, getAgentRes)
+
+ // Test change API: disable, then re-enable with new labels and interval.
+ changeRTAMySQLAgentOK, err := client.Default.AgentsService.ChangeAgent(
+ &agents.ChangeAgentParams{
+ AgentID: agentID,
+ Body: agents.ChangeAgentBody{
+ RtaMysqlAgent: &agents.ChangeAgentParamsBodyRtaMysqlAgent{
+ Enable: new(false),
+ CustomLabels: &agents.ChangeAgentParamsBodyRtaMysqlAgentCustomLabels{},
+ },
+ },
+ Context: pmmapitests.Context,
+ },
+ )
+ require.NoError(t, err)
+ assert.Equal(t, &agents.ChangeAgentOK{
+ Payload: &agents.ChangeAgentOKBody{
+ RtaMysqlAgent: &agents.ChangeAgentOKBodyRtaMysqlAgent{
+ AgentID: agentID,
+ ServiceID: serviceID,
+ Username: "username",
+ PMMAgentID: pmmAgentID,
+ Disabled: true,
+ Status: &AgentStatusDone,
+ CustomLabels: map[string]string{},
+ RtaOptions: &agents.ChangeAgentOKBodyRtaMysqlAgentRtaOptions{
+ CollectInterval: "5s",
+ },
+ LogLevel: new("LOG_LEVEL_UNSPECIFIED"),
+ },
+ },
+ }, changeRTAMySQLAgentOK)
+
+ changeRTAMySQLAgentOK, err = client.Default.AgentsService.ChangeAgent(
+ &agents.ChangeAgentParams{
+ AgentID: agentID,
+ Body: agents.ChangeAgentBody{
+ RtaMysqlAgent: &agents.ChangeAgentParamsBodyRtaMysqlAgent{
+ Enable: new(true),
+ CustomLabels: &agents.ChangeAgentParamsBodyRtaMysqlAgentCustomLabels{
+ Values: map[string]string{
+ "new_label": "RTAMysqlAgent",
+ },
+ },
+ RtaOptions: &agents.ChangeAgentParamsBodyRtaMysqlAgentRtaOptions{
+ CollectInterval: "10s",
+ },
+ },
+ },
+ Context: pmmapitests.Context,
+ },
+ )
+ require.NoError(t, err)
+ assert.Equal(t, &agents.ChangeAgentOK{
+ Payload: &agents.ChangeAgentOKBody{
+ RtaMysqlAgent: &agents.ChangeAgentOKBodyRtaMysqlAgent{
+ AgentID: agentID,
+ ServiceID: serviceID,
+ Username: "username",
+ PMMAgentID: pmmAgentID,
+ Disabled: false,
+ CustomLabels: map[string]string{
+ "new_label": "RTAMysqlAgent",
+ },
+ RtaOptions: &agents.ChangeAgentOKBodyRtaMysqlAgentRtaOptions{
+ CollectInterval: "10s",
+ },
+ Status: &AgentStatusDone,
+ LogLevel: new("LOG_LEVEL_UNSPECIFIED"),
+ },
+ },
+ }, changeRTAMySQLAgentOK)
+ })
+
+ t.Run("ChangeOnlySpecifiedFields_KeepOthersUnchanged", func(t *testing.T) {
+ t.Parallel()
+
+ genericNodeID := pmmapitests.AddGenericNode(t, pmmapitests.TestString(t, "Test Generic Node for RTA MySQL partial update")).NodeID
+
+ service := pmmapitests.AddService(t, services.AddServiceBody{
+ Mysql: &services.AddServiceParamsBodyMysql{
+ NodeID: genericNodeID,
+ Address: pmmapitests.TestString(t, "localhost"),
+ Port: 3306,
+ ServiceName: pmmapitests.TestString(t, "MySQL Service for RTA partial update test"),
+ },
+ })
+ serviceID := service.Mysql.ServiceID
+ pmmAgentID := pmmapitests.AddPMMAgent(t, genericNodeID).AgentID
+
+ res := pmmapitests.AddAgent(t, agents.AddAgentBody{
+ RtaMysqlAgent: &agents.AddAgentParamsBodyRtaMysqlAgent{
+ ServiceID: serviceID,
+ Username: "initial-rta-user",
+ Password: "initial-rta-password",
+ PMMAgentID: pmmAgentID,
+ TLS: true,
+ TLSSkipVerify: false,
+ CustomLabels: map[string]string{
+ "environment": "test",
+ "team": "dev",
+ },
+ RtaOptions: &agents.AddAgentParamsBodyRtaMysqlAgentRtaOptions{
+ CollectInterval: "6s",
+ },
+ LogLevel: new("LOG_LEVEL_DEBUG"),
+ SkipConnectionCheck: true,
+ },
+ })
+ agentID := res.RtaMysqlAgent.AgentID
+
+ // Change only username; everything else must remain unchanged.
+ _, err := client.Default.AgentsService.ChangeAgent(&agents.ChangeAgentParams{
+ AgentID: agentID,
+ Body: agents.ChangeAgentBody{
+ RtaMysqlAgent: &agents.ChangeAgentParamsBodyRtaMysqlAgent{
+ Username: new("updated-user"),
+ },
+ },
+ Context: pmmapitests.Context,
+ })
+ require.NoError(t, err)
+
+ getAgentRes, err := client.Default.AgentsService.GetAgent(&agents.GetAgentParams{
+ AgentID: agentID,
+ Context: pmmapitests.Context,
+ })
+ require.NoError(t, err)
+
+ agent := getAgentRes.Payload.RtaMysqlAgent
+ assert.Equal(t, "updated-user", agent.Username) // Changed
+ assert.True(t, agent.TLS) // Unchanged
+ assert.False(t, agent.TLSSkipVerify) // Unchanged
+ assert.Equal(t, map[string]string{
+ "environment": "test",
+ "team": "dev",
+ }, agent.CustomLabels) // Unchanged
+ assert.Equal(t, "6s", agent.RtaOptions.CollectInterval) // Unchanged
+ assert.Equal(t, new("LOG_LEVEL_DEBUG"), agent.LogLevel) // Unchanged
+ assert.False(t, agent.Disabled) // Unchanged
+ })
+
+ t.Run("AddServiceIDEmpty", func(t *testing.T) {
+ t.Parallel()
+
+ genericNodeID := pmmapitests.AddGenericNode(t, pmmapitests.TestString(t, "Test Generic Node for RTA MySQL Agent")).NodeID
+ pmmAgentID := pmmapitests.AddPMMAgent(t, genericNodeID).AgentID
+
+ res, err := client.Default.AgentsService.AddAgent(
+ &agents.AddAgentParams{
+ Body: agents.AddAgentBody{
+ RtaMysqlAgent: &agents.AddAgentParamsBodyRtaMysqlAgent{
+ ServiceID: "",
+ PMMAgentID: pmmAgentID,
+ Username: "username",
+ Password: "password",
+
+ SkipConnectionCheck: true,
+ },
+ },
+ Context: pmmapitests.Context,
+ },
+ )
+ pmmapitests.AssertAPIErrorf(t, err, 400, codes.InvalidArgument, "invalid AddRTAMySQLAgentParams.ServiceId: value length must be at least 1 runes")
+
+ if !assert.Nil(t, res) {
+ pmmapitests.RemoveAgents(t, res.Payload.RtaMysqlAgent.AgentID)
+ }
+ })
+
+ t.Run("AddPMMAgentIDEmpty", func(t *testing.T) {
+ t.Parallel()
+
+ genericNodeID := pmmapitests.AddGenericNode(t, pmmapitests.TestString(t, "Test Generic Node for RTA MySQL Agent")).NodeID
+
+ service := pmmapitests.AddService(t, services.AddServiceBody{
+ Mysql: &services.AddServiceParamsBodyMysql{
+ NodeID: genericNodeID,
+ Address: pmmapitests.TestString(t, "localhost"),
+ Port: 3306,
+ ServiceName: pmmapitests.TestString(t, "MySQL Service for RTA agent"),
+ },
+ })
+ serviceID := service.Mysql.ServiceID
+
+ res, err := client.Default.AgentsService.AddAgent(
+ &agents.AddAgentParams{
+ Body: agents.AddAgentBody{
+ RtaMysqlAgent: &agents.AddAgentParamsBodyRtaMysqlAgent{
+ ServiceID: serviceID,
+ PMMAgentID: "",
+ Username: "username",
+ Password: "password",
+
+ SkipConnectionCheck: true,
+ },
+ },
+ Context: pmmapitests.Context,
+ },
+ )
+ pmmapitests.AssertAPIErrorf(t, err, 400, codes.InvalidArgument, "invalid AddRTAMySQLAgentParams.PmmAgentId: value length must be at least 1 runes")
+ if !assert.Nil(t, res) {
+ pmmapitests.RemoveAgents(t, res.Payload.RtaMysqlAgent.AgentID)
+ }
+ })
+
+ t.Run("NotExistServiceID", func(t *testing.T) {
+ t.Parallel()
+
+ genericNodeID := pmmapitests.AddGenericNode(t, pmmapitests.TestString(t, "Test Generic Node for RTA MySQL Agent")).NodeID
+ pmmAgentID := pmmapitests.AddPMMAgent(t, genericNodeID).AgentID
+
+ res, err := client.Default.AgentsService.AddAgent(
+ &agents.AddAgentParams{
+ Body: agents.AddAgentBody{
+ RtaMysqlAgent: &agents.AddAgentParamsBodyRtaMysqlAgent{
+ ServiceID: "pmm-service-id",
+ PMMAgentID: pmmAgentID,
+ Username: "username",
+ Password: "password",
+ },
+ },
+ Context: pmmapitests.Context,
+ },
+ )
+ pmmapitests.AssertAPIErrorf(t, err, 404, codes.NotFound, "Service with ID \"pmm-service-id\" not found.")
+
+ if !assert.Nil(t, res) {
+ pmmapitests.RemoveAgents(t, res.Payload.RtaMysqlAgent.AgentID)
+ }
+ })
+
+ t.Run("NotExistPMMAgentID", func(t *testing.T) {
+ t.Parallel()
+
+ genericNodeID := pmmapitests.AddGenericNode(t, pmmapitests.TestString(t, "Test Generic Node for RTA MySQL Agent")).NodeID
+
+ service := pmmapitests.AddService(t, services.AddServiceBody{
+ Mysql: &services.AddServiceParamsBodyMysql{
+ NodeID: genericNodeID,
+ Address: pmmapitests.TestString(t, "localhost"),
+ Port: 3306,
+ ServiceName: pmmapitests.TestString(t, "MySQL Service for not exists node ID"),
+ },
+ })
+ serviceID := service.Mysql.ServiceID
+
+ res, err := client.Default.AgentsService.AddAgent(
+ &agents.AddAgentParams{
+ Body: agents.AddAgentBody{
+ RtaMysqlAgent: &agents.AddAgentParamsBodyRtaMysqlAgent{
+ ServiceID: serviceID,
+ PMMAgentID: "pmm-not-exist-server",
+ Username: "username",
+ Password: "password",
+ },
+ },
+ Context: pmmapitests.Context,
+ },
+ )
+ pmmapitests.AssertAPIErrorf(t, err, 404, codes.NotFound, "Agent with ID pmm-not-exist-server not found.")
+
+ if !assert.Nil(t, res) {
+ pmmapitests.RemoveAgents(t, res.Payload.RtaMysqlAgent.AgentID)
+ }
+ })
+}
diff --git a/api/agentlocal/v1/json/client/agent_local_service/status2_responses.go b/api/agentlocal/v1/json/client/agent_local_service/status2_responses.go
index 607efda9a14..9436521d715 100644
--- a/api/agentlocal/v1/json/client/agent_local_service/status2_responses.go
+++ b/api/agentlocal/v1/json/client/agent_local_service/status2_responses.go
@@ -609,7 +609,7 @@ type Status2OKBodyAgentsInfoItems0 struct {
AgentID string `json:"agent_id,omitempty"`
// AgentType describes supported Agent types.
- // Enum: ["AGENT_TYPE_UNSPECIFIED","AGENT_TYPE_PMM_AGENT","AGENT_TYPE_VM_AGENT","AGENT_TYPE_NODE_EXPORTER","AGENT_TYPE_MYSQLD_EXPORTER","AGENT_TYPE_MONGODB_EXPORTER","AGENT_TYPE_POSTGRES_EXPORTER","AGENT_TYPE_PROXYSQL_EXPORTER","AGENT_TYPE_VALKEY_EXPORTER","AGENT_TYPE_QAN_MYSQL_PERFSCHEMA_AGENT","AGENT_TYPE_QAN_MYSQL_SLOWLOG_AGENT","AGENT_TYPE_QAN_MONGODB_PROFILER_AGENT","AGENT_TYPE_QAN_MONGODB_MONGOLOG_AGENT","AGENT_TYPE_QAN_POSTGRESQL_PGSTATEMENTS_AGENT","AGENT_TYPE_QAN_POSTGRESQL_PGSTATMONITOR_AGENT","AGENT_TYPE_EXTERNAL_EXPORTER","AGENT_TYPE_RDS_EXPORTER","AGENT_TYPE_AZURE_DATABASE_EXPORTER","AGENT_TYPE_NOMAD_AGENT","AGENT_TYPE_RTA_MONGODB_AGENT"]
+ // Enum: ["AGENT_TYPE_UNSPECIFIED","AGENT_TYPE_PMM_AGENT","AGENT_TYPE_VM_AGENT","AGENT_TYPE_NODE_EXPORTER","AGENT_TYPE_MYSQLD_EXPORTER","AGENT_TYPE_MONGODB_EXPORTER","AGENT_TYPE_POSTGRES_EXPORTER","AGENT_TYPE_PROXYSQL_EXPORTER","AGENT_TYPE_VALKEY_EXPORTER","AGENT_TYPE_QAN_MYSQL_PERFSCHEMA_AGENT","AGENT_TYPE_QAN_MYSQL_SLOWLOG_AGENT","AGENT_TYPE_QAN_MONGODB_PROFILER_AGENT","AGENT_TYPE_QAN_MONGODB_MONGOLOG_AGENT","AGENT_TYPE_QAN_POSTGRESQL_PGSTATEMENTS_AGENT","AGENT_TYPE_QAN_POSTGRESQL_PGSTATMONITOR_AGENT","AGENT_TYPE_EXTERNAL_EXPORTER","AGENT_TYPE_RDS_EXPORTER","AGENT_TYPE_AZURE_DATABASE_EXPORTER","AGENT_TYPE_NOMAD_AGENT","AGENT_TYPE_RTA_MONGODB_AGENT","AGENT_TYPE_RTA_MYSQL_AGENT"]
AgentType *string `json:"agent_type,omitempty"`
// AgentStatus represents actual Agent status.
@@ -654,7 +654,7 @@ var status2OkBodyAgentsInfoItems0TypeAgentTypePropEnum []any
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["AGENT_TYPE_UNSPECIFIED","AGENT_TYPE_PMM_AGENT","AGENT_TYPE_VM_AGENT","AGENT_TYPE_NODE_EXPORTER","AGENT_TYPE_MYSQLD_EXPORTER","AGENT_TYPE_MONGODB_EXPORTER","AGENT_TYPE_POSTGRES_EXPORTER","AGENT_TYPE_PROXYSQL_EXPORTER","AGENT_TYPE_VALKEY_EXPORTER","AGENT_TYPE_QAN_MYSQL_PERFSCHEMA_AGENT","AGENT_TYPE_QAN_MYSQL_SLOWLOG_AGENT","AGENT_TYPE_QAN_MONGODB_PROFILER_AGENT","AGENT_TYPE_QAN_MONGODB_MONGOLOG_AGENT","AGENT_TYPE_QAN_POSTGRESQL_PGSTATEMENTS_AGENT","AGENT_TYPE_QAN_POSTGRESQL_PGSTATMONITOR_AGENT","AGENT_TYPE_EXTERNAL_EXPORTER","AGENT_TYPE_RDS_EXPORTER","AGENT_TYPE_AZURE_DATABASE_EXPORTER","AGENT_TYPE_NOMAD_AGENT","AGENT_TYPE_RTA_MONGODB_AGENT"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["AGENT_TYPE_UNSPECIFIED","AGENT_TYPE_PMM_AGENT","AGENT_TYPE_VM_AGENT","AGENT_TYPE_NODE_EXPORTER","AGENT_TYPE_MYSQLD_EXPORTER","AGENT_TYPE_MONGODB_EXPORTER","AGENT_TYPE_POSTGRES_EXPORTER","AGENT_TYPE_PROXYSQL_EXPORTER","AGENT_TYPE_VALKEY_EXPORTER","AGENT_TYPE_QAN_MYSQL_PERFSCHEMA_AGENT","AGENT_TYPE_QAN_MYSQL_SLOWLOG_AGENT","AGENT_TYPE_QAN_MONGODB_PROFILER_AGENT","AGENT_TYPE_QAN_MONGODB_MONGOLOG_AGENT","AGENT_TYPE_QAN_POSTGRESQL_PGSTATEMENTS_AGENT","AGENT_TYPE_QAN_POSTGRESQL_PGSTATMONITOR_AGENT","AGENT_TYPE_EXTERNAL_EXPORTER","AGENT_TYPE_RDS_EXPORTER","AGENT_TYPE_AZURE_DATABASE_EXPORTER","AGENT_TYPE_NOMAD_AGENT","AGENT_TYPE_RTA_MONGODB_AGENT","AGENT_TYPE_RTA_MYSQL_AGENT"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -723,6 +723,9 @@ const (
// Status2OKBodyAgentsInfoItems0AgentTypeAGENTTYPERTAMONGODBAGENT captures enum value "AGENT_TYPE_RTA_MONGODB_AGENT"
Status2OKBodyAgentsInfoItems0AgentTypeAGENTTYPERTAMONGODBAGENT string = "AGENT_TYPE_RTA_MONGODB_AGENT"
+
+ // Status2OKBodyAgentsInfoItems0AgentTypeAGENTTYPERTAMYSQLAGENT captures enum value "AGENT_TYPE_RTA_MYSQL_AGENT"
+ Status2OKBodyAgentsInfoItems0AgentTypeAGENTTYPERTAMYSQLAGENT string = "AGENT_TYPE_RTA_MYSQL_AGENT"
)
// prop value enum
diff --git a/api/agentlocal/v1/json/client/agent_local_service/status_responses.go b/api/agentlocal/v1/json/client/agent_local_service/status_responses.go
index 236c43b1008..e97b25a4008 100644
--- a/api/agentlocal/v1/json/client/agent_local_service/status_responses.go
+++ b/api/agentlocal/v1/json/client/agent_local_service/status_responses.go
@@ -646,7 +646,7 @@ type StatusOKBodyAgentsInfoItems0 struct {
AgentID string `json:"agent_id,omitempty"`
// AgentType describes supported Agent types.
- // Enum: ["AGENT_TYPE_UNSPECIFIED","AGENT_TYPE_PMM_AGENT","AGENT_TYPE_VM_AGENT","AGENT_TYPE_NODE_EXPORTER","AGENT_TYPE_MYSQLD_EXPORTER","AGENT_TYPE_MONGODB_EXPORTER","AGENT_TYPE_POSTGRES_EXPORTER","AGENT_TYPE_PROXYSQL_EXPORTER","AGENT_TYPE_VALKEY_EXPORTER","AGENT_TYPE_QAN_MYSQL_PERFSCHEMA_AGENT","AGENT_TYPE_QAN_MYSQL_SLOWLOG_AGENT","AGENT_TYPE_QAN_MONGODB_PROFILER_AGENT","AGENT_TYPE_QAN_MONGODB_MONGOLOG_AGENT","AGENT_TYPE_QAN_POSTGRESQL_PGSTATEMENTS_AGENT","AGENT_TYPE_QAN_POSTGRESQL_PGSTATMONITOR_AGENT","AGENT_TYPE_EXTERNAL_EXPORTER","AGENT_TYPE_RDS_EXPORTER","AGENT_TYPE_AZURE_DATABASE_EXPORTER","AGENT_TYPE_NOMAD_AGENT","AGENT_TYPE_RTA_MONGODB_AGENT"]
+ // Enum: ["AGENT_TYPE_UNSPECIFIED","AGENT_TYPE_PMM_AGENT","AGENT_TYPE_VM_AGENT","AGENT_TYPE_NODE_EXPORTER","AGENT_TYPE_MYSQLD_EXPORTER","AGENT_TYPE_MONGODB_EXPORTER","AGENT_TYPE_POSTGRES_EXPORTER","AGENT_TYPE_PROXYSQL_EXPORTER","AGENT_TYPE_VALKEY_EXPORTER","AGENT_TYPE_QAN_MYSQL_PERFSCHEMA_AGENT","AGENT_TYPE_QAN_MYSQL_SLOWLOG_AGENT","AGENT_TYPE_QAN_MONGODB_PROFILER_AGENT","AGENT_TYPE_QAN_MONGODB_MONGOLOG_AGENT","AGENT_TYPE_QAN_POSTGRESQL_PGSTATEMENTS_AGENT","AGENT_TYPE_QAN_POSTGRESQL_PGSTATMONITOR_AGENT","AGENT_TYPE_EXTERNAL_EXPORTER","AGENT_TYPE_RDS_EXPORTER","AGENT_TYPE_AZURE_DATABASE_EXPORTER","AGENT_TYPE_NOMAD_AGENT","AGENT_TYPE_RTA_MONGODB_AGENT","AGENT_TYPE_RTA_MYSQL_AGENT"]
AgentType *string `json:"agent_type,omitempty"`
// AgentStatus represents actual Agent status.
@@ -691,7 +691,7 @@ var statusOkBodyAgentsInfoItems0TypeAgentTypePropEnum []any
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["AGENT_TYPE_UNSPECIFIED","AGENT_TYPE_PMM_AGENT","AGENT_TYPE_VM_AGENT","AGENT_TYPE_NODE_EXPORTER","AGENT_TYPE_MYSQLD_EXPORTER","AGENT_TYPE_MONGODB_EXPORTER","AGENT_TYPE_POSTGRES_EXPORTER","AGENT_TYPE_PROXYSQL_EXPORTER","AGENT_TYPE_VALKEY_EXPORTER","AGENT_TYPE_QAN_MYSQL_PERFSCHEMA_AGENT","AGENT_TYPE_QAN_MYSQL_SLOWLOG_AGENT","AGENT_TYPE_QAN_MONGODB_PROFILER_AGENT","AGENT_TYPE_QAN_MONGODB_MONGOLOG_AGENT","AGENT_TYPE_QAN_POSTGRESQL_PGSTATEMENTS_AGENT","AGENT_TYPE_QAN_POSTGRESQL_PGSTATMONITOR_AGENT","AGENT_TYPE_EXTERNAL_EXPORTER","AGENT_TYPE_RDS_EXPORTER","AGENT_TYPE_AZURE_DATABASE_EXPORTER","AGENT_TYPE_NOMAD_AGENT","AGENT_TYPE_RTA_MONGODB_AGENT"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["AGENT_TYPE_UNSPECIFIED","AGENT_TYPE_PMM_AGENT","AGENT_TYPE_VM_AGENT","AGENT_TYPE_NODE_EXPORTER","AGENT_TYPE_MYSQLD_EXPORTER","AGENT_TYPE_MONGODB_EXPORTER","AGENT_TYPE_POSTGRES_EXPORTER","AGENT_TYPE_PROXYSQL_EXPORTER","AGENT_TYPE_VALKEY_EXPORTER","AGENT_TYPE_QAN_MYSQL_PERFSCHEMA_AGENT","AGENT_TYPE_QAN_MYSQL_SLOWLOG_AGENT","AGENT_TYPE_QAN_MONGODB_PROFILER_AGENT","AGENT_TYPE_QAN_MONGODB_MONGOLOG_AGENT","AGENT_TYPE_QAN_POSTGRESQL_PGSTATEMENTS_AGENT","AGENT_TYPE_QAN_POSTGRESQL_PGSTATMONITOR_AGENT","AGENT_TYPE_EXTERNAL_EXPORTER","AGENT_TYPE_RDS_EXPORTER","AGENT_TYPE_AZURE_DATABASE_EXPORTER","AGENT_TYPE_NOMAD_AGENT","AGENT_TYPE_RTA_MONGODB_AGENT","AGENT_TYPE_RTA_MYSQL_AGENT"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -760,6 +760,9 @@ const (
// StatusOKBodyAgentsInfoItems0AgentTypeAGENTTYPERTAMONGODBAGENT captures enum value "AGENT_TYPE_RTA_MONGODB_AGENT"
StatusOKBodyAgentsInfoItems0AgentTypeAGENTTYPERTAMONGODBAGENT string = "AGENT_TYPE_RTA_MONGODB_AGENT"
+
+ // StatusOKBodyAgentsInfoItems0AgentTypeAGENTTYPERTAMYSQLAGENT captures enum value "AGENT_TYPE_RTA_MYSQL_AGENT"
+ StatusOKBodyAgentsInfoItems0AgentTypeAGENTTYPERTAMYSQLAGENT string = "AGENT_TYPE_RTA_MYSQL_AGENT"
)
// prop value enum
diff --git a/api/agentlocal/v1/json/v1.json b/api/agentlocal/v1/json/v1.json
index 1eb9d0f86fb..a61dfd39213 100644
--- a/api/agentlocal/v1/json/v1.json
+++ b/api/agentlocal/v1/json/v1.json
@@ -179,7 +179,8 @@
"AGENT_TYPE_RDS_EXPORTER",
"AGENT_TYPE_AZURE_DATABASE_EXPORTER",
"AGENT_TYPE_NOMAD_AGENT",
- "AGENT_TYPE_RTA_MONGODB_AGENT"
+ "AGENT_TYPE_RTA_MONGODB_AGENT",
+ "AGENT_TYPE_RTA_MYSQL_AGENT"
],
"x-order": 1
},
@@ -378,7 +379,8 @@
"AGENT_TYPE_RDS_EXPORTER",
"AGENT_TYPE_AZURE_DATABASE_EXPORTER",
"AGENT_TYPE_NOMAD_AGENT",
- "AGENT_TYPE_RTA_MONGODB_AGENT"
+ "AGENT_TYPE_RTA_MONGODB_AGENT",
+ "AGENT_TYPE_RTA_MYSQL_AGENT"
],
"x-order": 1
},
diff --git a/api/inventory/v1/agents.go b/api/inventory/v1/agents.go
index bba905751ca..f19b43063b5 100644
--- a/api/inventory/v1/agents.go
+++ b/api/inventory/v1/agents.go
@@ -43,3 +43,4 @@ func (*ExternalExporter) sealedAgent() {}
func (*AzureDatabaseExporter) sealedAgent() {}
func (*ValkeyExporter) sealedAgent() {}
func (*RTAMongoDBAgent) sealedAgent() {}
+func (*RTAMySQLAgent) sealedAgent() {}
diff --git a/api/inventory/v1/agents.pb.go b/api/inventory/v1/agents.pb.go
index da6a2c941dd..0d22547699a 100644
--- a/api/inventory/v1/agents.pb.go
+++ b/api/inventory/v1/agents.pb.go
@@ -53,6 +53,7 @@ const (
AgentType_AGENT_TYPE_AZURE_DATABASE_EXPORTER AgentType = 15
AgentType_AGENT_TYPE_NOMAD_AGENT AgentType = 16
AgentType_AGENT_TYPE_RTA_MONGODB_AGENT AgentType = 19
+ AgentType_AGENT_TYPE_RTA_MYSQL_AGENT AgentType = 20
)
// Enum value maps for AgentType.
@@ -78,6 +79,7 @@ var (
15: "AGENT_TYPE_AZURE_DATABASE_EXPORTER",
16: "AGENT_TYPE_NOMAD_AGENT",
19: "AGENT_TYPE_RTA_MONGODB_AGENT",
+ 20: "AGENT_TYPE_RTA_MYSQL_AGENT",
}
AgentType_value = map[string]int32{
"AGENT_TYPE_UNSPECIFIED": 0,
@@ -100,6 +102,7 @@ var (
"AGENT_TYPE_AZURE_DATABASE_EXPORTER": 15,
"AGENT_TYPE_NOMAD_AGENT": 16,
"AGENT_TYPE_RTA_MONGODB_AGENT": 19,
+ "AGENT_TYPE_RTA_MYSQL_AGENT": 20,
}
)
@@ -2480,6 +2483,142 @@ func (x *RTAMongoDBAgent) GetLogLevel() LogLevel {
return LogLevel_LOG_LEVEL_UNSPECIFIED
}
+// RTAMySQLAgent runs within pmm-agent and sends MySQL Real-Time Query Analytics data to the PMM Server.
+type RTAMySQLAgent struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ // Unique agent identifier.
+ AgentId string `protobuf:"bytes,1,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"`
+ // The pmm-agent identifier which runs this instance.
+ PmmAgentId string `protobuf:"bytes,2,opt,name=pmm_agent_id,json=pmmAgentId,proto3" json:"pmm_agent_id,omitempty"`
+ // Desired Agent status: enabled (false) or disabled (true).
+ Disabled bool `protobuf:"varint,3,opt,name=disabled,proto3" json:"disabled,omitempty"`
+ // Service identifier.
+ ServiceId string `protobuf:"bytes,4,opt,name=service_id,json=serviceId,proto3" json:"service_id,omitempty"`
+ // MySQL username for getting the currently running queries.
+ Username string `protobuf:"bytes,5,opt,name=username,proto3" json:"username,omitempty"`
+ // Use TLS for database connections.
+ Tls bool `protobuf:"varint,6,opt,name=tls,proto3" json:"tls,omitempty"`
+ // Skip TLS certificate and hostname validation.
+ TlsSkipVerify bool `protobuf:"varint,7,opt,name=tls_skip_verify,json=tlsSkipVerify,proto3" json:"tls_skip_verify,omitempty"`
+ // Custom user-assigned labels.
+ CustomLabels map[string]string `protobuf:"bytes,8,rep,name=custom_labels,json=customLabels,proto3" json:"custom_labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+ // Real-Time Analytics options.
+ RtaOptions *RTAOptions `protobuf:"bytes,9,opt,name=rta_options,json=rtaOptions,proto3" json:"rta_options,omitempty"`
+ // Actual Agent status.
+ Status AgentStatus `protobuf:"varint,10,opt,name=status,proto3,enum=inventory.v1.AgentStatus" json:"status,omitempty"`
+ // Log level for exporter.
+ LogLevel LogLevel `protobuf:"varint,11,opt,name=log_level,json=logLevel,proto3,enum=inventory.v1.LogLevel" json:"log_level,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *RTAMySQLAgent) Reset() {
+ *x = RTAMySQLAgent{}
+ mi := &file_inventory_v1_agents_proto_msgTypes[15]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *RTAMySQLAgent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RTAMySQLAgent) ProtoMessage() {}
+
+func (x *RTAMySQLAgent) ProtoReflect() protoreflect.Message {
+ mi := &file_inventory_v1_agents_proto_msgTypes[15]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RTAMySQLAgent.ProtoReflect.Descriptor instead.
+func (*RTAMySQLAgent) Descriptor() ([]byte, []int) {
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{15}
+}
+
+func (x *RTAMySQLAgent) GetAgentId() string {
+ if x != nil {
+ return x.AgentId
+ }
+ return ""
+}
+
+func (x *RTAMySQLAgent) GetPmmAgentId() string {
+ if x != nil {
+ return x.PmmAgentId
+ }
+ return ""
+}
+
+func (x *RTAMySQLAgent) GetDisabled() bool {
+ if x != nil {
+ return x.Disabled
+ }
+ return false
+}
+
+func (x *RTAMySQLAgent) GetServiceId() string {
+ if x != nil {
+ return x.ServiceId
+ }
+ return ""
+}
+
+func (x *RTAMySQLAgent) GetUsername() string {
+ if x != nil {
+ return x.Username
+ }
+ return ""
+}
+
+func (x *RTAMySQLAgent) GetTls() bool {
+ if x != nil {
+ return x.Tls
+ }
+ return false
+}
+
+func (x *RTAMySQLAgent) GetTlsSkipVerify() bool {
+ if x != nil {
+ return x.TlsSkipVerify
+ }
+ return false
+}
+
+func (x *RTAMySQLAgent) GetCustomLabels() map[string]string {
+ if x != nil {
+ return x.CustomLabels
+ }
+ return nil
+}
+
+func (x *RTAMySQLAgent) GetRtaOptions() *RTAOptions {
+ if x != nil {
+ return x.RtaOptions
+ }
+ return nil
+}
+
+func (x *RTAMySQLAgent) GetStatus() AgentStatus {
+ if x != nil {
+ return x.Status
+ }
+ return AgentStatus_AGENT_STATUS_UNSPECIFIED
+}
+
+func (x *RTAMySQLAgent) GetLogLevel() LogLevel {
+ if x != nil {
+ return x.LogLevel
+ }
+ return LogLevel_LOG_LEVEL_UNSPECIFIED
+}
+
// QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.
type QANPostgreSQLPgStatementsAgent struct {
state protoimpl.MessageState `protogen:"open.v1"`
@@ -2515,7 +2654,7 @@ type QANPostgreSQLPgStatementsAgent struct {
func (x *QANPostgreSQLPgStatementsAgent) Reset() {
*x = QANPostgreSQLPgStatementsAgent{}
- mi := &file_inventory_v1_agents_proto_msgTypes[15]
+ mi := &file_inventory_v1_agents_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2527,7 +2666,7 @@ func (x *QANPostgreSQLPgStatementsAgent) String() string {
func (*QANPostgreSQLPgStatementsAgent) ProtoMessage() {}
func (x *QANPostgreSQLPgStatementsAgent) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[15]
+ mi := &file_inventory_v1_agents_proto_msgTypes[16]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2540,7 +2679,7 @@ func (x *QANPostgreSQLPgStatementsAgent) ProtoReflect() protoreflect.Message {
// Deprecated: Use QANPostgreSQLPgStatementsAgent.ProtoReflect.Descriptor instead.
func (*QANPostgreSQLPgStatementsAgent) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{15}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{16}
}
func (x *QANPostgreSQLPgStatementsAgent) GetAgentId() string {
@@ -2671,7 +2810,7 @@ type QANPostgreSQLPgStatMonitorAgent struct {
func (x *QANPostgreSQLPgStatMonitorAgent) Reset() {
*x = QANPostgreSQLPgStatMonitorAgent{}
- mi := &file_inventory_v1_agents_proto_msgTypes[16]
+ mi := &file_inventory_v1_agents_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2683,7 +2822,7 @@ func (x *QANPostgreSQLPgStatMonitorAgent) String() string {
func (*QANPostgreSQLPgStatMonitorAgent) ProtoMessage() {}
func (x *QANPostgreSQLPgStatMonitorAgent) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[16]
+ mi := &file_inventory_v1_agents_proto_msgTypes[17]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2696,7 +2835,7 @@ func (x *QANPostgreSQLPgStatMonitorAgent) ProtoReflect() protoreflect.Message {
// Deprecated: Use QANPostgreSQLPgStatMonitorAgent.ProtoReflect.Descriptor instead.
func (*QANPostgreSQLPgStatMonitorAgent) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{16}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{17}
}
func (x *QANPostgreSQLPgStatMonitorAgent) GetAgentId() string {
@@ -2836,7 +2975,7 @@ type RDSExporter struct {
func (x *RDSExporter) Reset() {
*x = RDSExporter{}
- mi := &file_inventory_v1_agents_proto_msgTypes[17]
+ mi := &file_inventory_v1_agents_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2848,7 +2987,7 @@ func (x *RDSExporter) String() string {
func (*RDSExporter) ProtoMessage() {}
func (x *RDSExporter) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[17]
+ mi := &file_inventory_v1_agents_proto_msgTypes[18]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2861,7 +3000,7 @@ func (x *RDSExporter) ProtoReflect() protoreflect.Message {
// Deprecated: Use RDSExporter.ProtoReflect.Descriptor instead.
func (*RDSExporter) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{17}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{18}
}
func (x *RDSExporter) GetAgentId() string {
@@ -3006,7 +3145,7 @@ type ExternalExporter struct {
func (x *ExternalExporter) Reset() {
*x = ExternalExporter{}
- mi := &file_inventory_v1_agents_proto_msgTypes[18]
+ mi := &file_inventory_v1_agents_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3018,7 +3157,7 @@ func (x *ExternalExporter) String() string {
func (*ExternalExporter) ProtoMessage() {}
func (x *ExternalExporter) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[18]
+ mi := &file_inventory_v1_agents_proto_msgTypes[19]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3031,7 +3170,7 @@ func (x *ExternalExporter) ProtoReflect() protoreflect.Message {
// Deprecated: Use ExternalExporter.ProtoReflect.Descriptor instead.
func (*ExternalExporter) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{18}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{19}
}
func (x *ExternalExporter) GetAgentId() string {
@@ -3167,7 +3306,7 @@ type AzureDatabaseExporter struct {
func (x *AzureDatabaseExporter) Reset() {
*x = AzureDatabaseExporter{}
- mi := &file_inventory_v1_agents_proto_msgTypes[19]
+ mi := &file_inventory_v1_agents_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3179,7 +3318,7 @@ func (x *AzureDatabaseExporter) String() string {
func (*AzureDatabaseExporter) ProtoMessage() {}
func (x *AzureDatabaseExporter) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[19]
+ mi := &file_inventory_v1_agents_proto_msgTypes[20]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3192,7 +3331,7 @@ func (x *AzureDatabaseExporter) ProtoReflect() protoreflect.Message {
// Deprecated: Use AzureDatabaseExporter.ProtoReflect.Descriptor instead.
func (*AzureDatabaseExporter) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{19}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{20}
}
func (x *AzureDatabaseExporter) GetAgentId() string {
@@ -3303,7 +3442,7 @@ type ChangeCommonAgentParams struct {
func (x *ChangeCommonAgentParams) Reset() {
*x = ChangeCommonAgentParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[20]
+ mi := &file_inventory_v1_agents_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3315,7 +3454,7 @@ func (x *ChangeCommonAgentParams) String() string {
func (*ChangeCommonAgentParams) ProtoMessage() {}
func (x *ChangeCommonAgentParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[20]
+ mi := &file_inventory_v1_agents_proto_msgTypes[21]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3328,7 +3467,7 @@ func (x *ChangeCommonAgentParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use ChangeCommonAgentParams.ProtoReflect.Descriptor instead.
func (*ChangeCommonAgentParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{20}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{21}
}
func (x *ChangeCommonAgentParams) GetEnable() bool {
@@ -3378,7 +3517,7 @@ type ListAgentsRequest struct {
func (x *ListAgentsRequest) Reset() {
*x = ListAgentsRequest{}
- mi := &file_inventory_v1_agents_proto_msgTypes[21]
+ mi := &file_inventory_v1_agents_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3390,7 +3529,7 @@ func (x *ListAgentsRequest) String() string {
func (*ListAgentsRequest) ProtoMessage() {}
func (x *ListAgentsRequest) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[21]
+ mi := &file_inventory_v1_agents_proto_msgTypes[22]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3403,7 +3542,7 @@ func (x *ListAgentsRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListAgentsRequest.ProtoReflect.Descriptor instead.
func (*ListAgentsRequest) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{21}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{22}
}
func (x *ListAgentsRequest) GetPmmAgentId() string {
@@ -3455,13 +3594,14 @@ type ListAgentsResponse struct {
NomadAgent []*NomadAgent `protobuf:"bytes,16,rep,name=nomad_agent,json=nomadAgent,proto3" json:"nomad_agent,omitempty"`
ValkeyExporter []*ValkeyExporter `protobuf:"bytes,17,rep,name=valkey_exporter,json=valkeyExporter,proto3" json:"valkey_exporter,omitempty"`
RtaMongodbAgent []*RTAMongoDBAgent `protobuf:"bytes,19,rep,name=rta_mongodb_agent,json=rtaMongodbAgent,proto3" json:"rta_mongodb_agent,omitempty"`
+ RtaMysqlAgent []*RTAMySQLAgent `protobuf:"bytes,20,rep,name=rta_mysql_agent,json=rtaMysqlAgent,proto3" json:"rta_mysql_agent,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListAgentsResponse) Reset() {
*x = ListAgentsResponse{}
- mi := &file_inventory_v1_agents_proto_msgTypes[22]
+ mi := &file_inventory_v1_agents_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3473,7 +3613,7 @@ func (x *ListAgentsResponse) String() string {
func (*ListAgentsResponse) ProtoMessage() {}
func (x *ListAgentsResponse) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[22]
+ mi := &file_inventory_v1_agents_proto_msgTypes[23]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3486,7 +3626,7 @@ func (x *ListAgentsResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListAgentsResponse.ProtoReflect.Descriptor instead.
func (*ListAgentsResponse) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{22}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{23}
}
func (x *ListAgentsResponse) GetPmmAgent() []*PMMAgent {
@@ -3622,6 +3762,13 @@ func (x *ListAgentsResponse) GetRtaMongodbAgent() []*RTAMongoDBAgent {
return nil
}
+func (x *ListAgentsResponse) GetRtaMysqlAgent() []*RTAMySQLAgent {
+ if x != nil {
+ return x.RtaMysqlAgent
+ }
+ return nil
+}
+
type GetAgentRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Unique randomly generated instance identifier.
@@ -3632,7 +3779,7 @@ type GetAgentRequest struct {
func (x *GetAgentRequest) Reset() {
*x = GetAgentRequest{}
- mi := &file_inventory_v1_agents_proto_msgTypes[23]
+ mi := &file_inventory_v1_agents_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3644,7 +3791,7 @@ func (x *GetAgentRequest) String() string {
func (*GetAgentRequest) ProtoMessage() {}
func (x *GetAgentRequest) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[23]
+ mi := &file_inventory_v1_agents_proto_msgTypes[24]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3657,7 +3804,7 @@ func (x *GetAgentRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetAgentRequest.ProtoReflect.Descriptor instead.
func (*GetAgentRequest) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{23}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{24}
}
func (x *GetAgentRequest) GetAgentId() string {
@@ -3690,6 +3837,7 @@ type GetAgentResponse struct {
// *GetAgentResponse_NomadAgent
// *GetAgentResponse_ValkeyExporter
// *GetAgentResponse_RtaMongodbAgent
+ // *GetAgentResponse_RtaMysqlAgent
Agent isGetAgentResponse_Agent `protobuf_oneof:"agent"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
@@ -3697,7 +3845,7 @@ type GetAgentResponse struct {
func (x *GetAgentResponse) Reset() {
*x = GetAgentResponse{}
- mi := &file_inventory_v1_agents_proto_msgTypes[24]
+ mi := &file_inventory_v1_agents_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3709,7 +3857,7 @@ func (x *GetAgentResponse) String() string {
func (*GetAgentResponse) ProtoMessage() {}
func (x *GetAgentResponse) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[24]
+ mi := &file_inventory_v1_agents_proto_msgTypes[25]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3722,7 +3870,7 @@ func (x *GetAgentResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetAgentResponse.ProtoReflect.Descriptor instead.
func (*GetAgentResponse) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{24}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{25}
}
func (x *GetAgentResponse) GetAgent() isGetAgentResponse_Agent {
@@ -3903,6 +4051,15 @@ func (x *GetAgentResponse) GetRtaMongodbAgent() *RTAMongoDBAgent {
return nil
}
+func (x *GetAgentResponse) GetRtaMysqlAgent() *RTAMySQLAgent {
+ if x != nil {
+ if x, ok := x.Agent.(*GetAgentResponse_RtaMysqlAgent); ok {
+ return x.RtaMysqlAgent
+ }
+ }
+ return nil
+}
+
type isGetAgentResponse_Agent interface {
isGetAgentResponse_Agent()
}
@@ -3983,6 +4140,10 @@ type GetAgentResponse_RtaMongodbAgent struct {
RtaMongodbAgent *RTAMongoDBAgent `protobuf:"bytes,19,opt,name=rta_mongodb_agent,json=rtaMongodbAgent,proto3,oneof"`
}
+type GetAgentResponse_RtaMysqlAgent struct {
+ RtaMysqlAgent *RTAMySQLAgent `protobuf:"bytes,20,opt,name=rta_mysql_agent,json=rtaMysqlAgent,proto3,oneof"`
+}
+
func (*GetAgentResponse_PmmAgent) isGetAgentResponse_Agent() {}
func (*GetAgentResponse_Vmagent) isGetAgentResponse_Agent() {}
@@ -4021,6 +4182,8 @@ func (*GetAgentResponse_ValkeyExporter) isGetAgentResponse_Agent() {}
func (*GetAgentResponse_RtaMongodbAgent) isGetAgentResponse_Agent() {}
+func (*GetAgentResponse_RtaMysqlAgent) isGetAgentResponse_Agent() {}
+
type GetAgentLogsRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Unique randomly generated instance identifier.
@@ -4033,7 +4196,7 @@ type GetAgentLogsRequest struct {
func (x *GetAgentLogsRequest) Reset() {
*x = GetAgentLogsRequest{}
- mi := &file_inventory_v1_agents_proto_msgTypes[25]
+ mi := &file_inventory_v1_agents_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4045,7 +4208,7 @@ func (x *GetAgentLogsRequest) String() string {
func (*GetAgentLogsRequest) ProtoMessage() {}
func (x *GetAgentLogsRequest) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[25]
+ mi := &file_inventory_v1_agents_proto_msgTypes[26]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4058,7 +4221,7 @@ func (x *GetAgentLogsRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetAgentLogsRequest.ProtoReflect.Descriptor instead.
func (*GetAgentLogsRequest) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{25}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{26}
}
func (x *GetAgentLogsRequest) GetAgentId() string {
@@ -4085,7 +4248,7 @@ type GetAgentLogsResponse struct {
func (x *GetAgentLogsResponse) Reset() {
*x = GetAgentLogsResponse{}
- mi := &file_inventory_v1_agents_proto_msgTypes[26]
+ mi := &file_inventory_v1_agents_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4097,7 +4260,7 @@ func (x *GetAgentLogsResponse) String() string {
func (*GetAgentLogsResponse) ProtoMessage() {}
func (x *GetAgentLogsResponse) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[26]
+ mi := &file_inventory_v1_agents_proto_msgTypes[27]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4110,7 +4273,7 @@ func (x *GetAgentLogsResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetAgentLogsResponse.ProtoReflect.Descriptor instead.
func (*GetAgentLogsResponse) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{26}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{27}
}
func (x *GetAgentLogsResponse) GetLogs() []string {
@@ -4148,6 +4311,7 @@ type AddAgentRequest struct {
// *AddAgentRequest_QanPostgresqlPgstatmonitorAgent
// *AddAgentRequest_ValkeyExporter
// *AddAgentRequest_RtaMongodbAgent
+ // *AddAgentRequest_RtaMysqlAgent
Agent isAddAgentRequest_Agent `protobuf_oneof:"agent"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
@@ -4155,7 +4319,7 @@ type AddAgentRequest struct {
func (x *AddAgentRequest) Reset() {
*x = AddAgentRequest{}
- mi := &file_inventory_v1_agents_proto_msgTypes[27]
+ mi := &file_inventory_v1_agents_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4167,7 +4331,7 @@ func (x *AddAgentRequest) String() string {
func (*AddAgentRequest) ProtoMessage() {}
func (x *AddAgentRequest) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[27]
+ mi := &file_inventory_v1_agents_proto_msgTypes[28]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4180,7 +4344,7 @@ func (x *AddAgentRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use AddAgentRequest.ProtoReflect.Descriptor instead.
func (*AddAgentRequest) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{27}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{28}
}
func (x *AddAgentRequest) GetAgent() isAddAgentRequest_Agent {
@@ -4343,6 +4507,15 @@ func (x *AddAgentRequest) GetRtaMongodbAgent() *AddRTAMongoDBAgentParams {
return nil
}
+func (x *AddAgentRequest) GetRtaMysqlAgent() *AddRTAMySQLAgentParams {
+ if x != nil {
+ if x, ok := x.Agent.(*AddAgentRequest_RtaMysqlAgent); ok {
+ return x.RtaMysqlAgent
+ }
+ }
+ return nil
+}
+
type isAddAgentRequest_Agent interface {
isAddAgentRequest_Agent()
}
@@ -4415,6 +4588,10 @@ type AddAgentRequest_RtaMongodbAgent struct {
RtaMongodbAgent *AddRTAMongoDBAgentParams `protobuf:"bytes,17,opt,name=rta_mongodb_agent,json=rtaMongodbAgent,proto3,oneof"`
}
+type AddAgentRequest_RtaMysqlAgent struct {
+ RtaMysqlAgent *AddRTAMySQLAgentParams `protobuf:"bytes,18,opt,name=rta_mysql_agent,json=rtaMysqlAgent,proto3,oneof"`
+}
+
func (*AddAgentRequest_PmmAgent) isAddAgentRequest_Agent() {}
func (*AddAgentRequest_NodeExporter) isAddAgentRequest_Agent() {}
@@ -4449,6 +4626,8 @@ func (*AddAgentRequest_ValkeyExporter) isAddAgentRequest_Agent() {}
func (*AddAgentRequest_RtaMongodbAgent) isAddAgentRequest_Agent() {}
+func (*AddAgentRequest_RtaMysqlAgent) isAddAgentRequest_Agent() {}
+
type AddAgentResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Types that are valid to be assigned to Agent:
@@ -4470,6 +4649,7 @@ type AddAgentResponse struct {
// *AddAgentResponse_QanPostgresqlPgstatmonitorAgent
// *AddAgentResponse_ValkeyExporter
// *AddAgentResponse_RtaMongodbAgent
+ // *AddAgentResponse_RtaMysqlAgent
Agent isAddAgentResponse_Agent `protobuf_oneof:"agent"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
@@ -4477,7 +4657,7 @@ type AddAgentResponse struct {
func (x *AddAgentResponse) Reset() {
*x = AddAgentResponse{}
- mi := &file_inventory_v1_agents_proto_msgTypes[28]
+ mi := &file_inventory_v1_agents_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4489,7 +4669,7 @@ func (x *AddAgentResponse) String() string {
func (*AddAgentResponse) ProtoMessage() {}
func (x *AddAgentResponse) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[28]
+ mi := &file_inventory_v1_agents_proto_msgTypes[29]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4502,7 +4682,7 @@ func (x *AddAgentResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use AddAgentResponse.ProtoReflect.Descriptor instead.
func (*AddAgentResponse) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{28}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{29}
}
func (x *AddAgentResponse) GetAgent() isAddAgentResponse_Agent {
@@ -4665,6 +4845,15 @@ func (x *AddAgentResponse) GetRtaMongodbAgent() *RTAMongoDBAgent {
return nil
}
+func (x *AddAgentResponse) GetRtaMysqlAgent() *RTAMySQLAgent {
+ if x != nil {
+ if x, ok := x.Agent.(*AddAgentResponse_RtaMysqlAgent); ok {
+ return x.RtaMysqlAgent
+ }
+ }
+ return nil
+}
+
type isAddAgentResponse_Agent interface {
isAddAgentResponse_Agent()
}
@@ -4737,6 +4926,10 @@ type AddAgentResponse_RtaMongodbAgent struct {
RtaMongodbAgent *RTAMongoDBAgent `protobuf:"bytes,17,opt,name=rta_mongodb_agent,json=rtaMongodbAgent,proto3,oneof"`
}
+type AddAgentResponse_RtaMysqlAgent struct {
+ RtaMysqlAgent *RTAMySQLAgent `protobuf:"bytes,18,opt,name=rta_mysql_agent,json=rtaMysqlAgent,proto3,oneof"`
+}
+
func (*AddAgentResponse_PmmAgent) isAddAgentResponse_Agent() {}
func (*AddAgentResponse_NodeExporter) isAddAgentResponse_Agent() {}
@@ -4771,6 +4964,8 @@ func (*AddAgentResponse_ValkeyExporter) isAddAgentResponse_Agent() {}
func (*AddAgentResponse_RtaMongodbAgent) isAddAgentResponse_Agent() {}
+func (*AddAgentResponse_RtaMysqlAgent) isAddAgentResponse_Agent() {}
+
type ChangeAgentRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
AgentId string `protobuf:"bytes,1,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"`
@@ -4793,6 +4988,7 @@ type ChangeAgentRequest struct {
// *ChangeAgentRequest_NomadAgent
// *ChangeAgentRequest_ValkeyExporter
// *ChangeAgentRequest_RtaMongodbAgent
+ // *ChangeAgentRequest_RtaMysqlAgent
Agent isChangeAgentRequest_Agent `protobuf_oneof:"agent"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
@@ -4800,7 +4996,7 @@ type ChangeAgentRequest struct {
func (x *ChangeAgentRequest) Reset() {
*x = ChangeAgentRequest{}
- mi := &file_inventory_v1_agents_proto_msgTypes[29]
+ mi := &file_inventory_v1_agents_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4812,7 +5008,7 @@ func (x *ChangeAgentRequest) String() string {
func (*ChangeAgentRequest) ProtoMessage() {}
func (x *ChangeAgentRequest) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[29]
+ mi := &file_inventory_v1_agents_proto_msgTypes[30]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4825,7 +5021,7 @@ func (x *ChangeAgentRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ChangeAgentRequest.ProtoReflect.Descriptor instead.
func (*ChangeAgentRequest) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{29}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{30}
}
func (x *ChangeAgentRequest) GetAgentId() string {
@@ -4995,6 +5191,15 @@ func (x *ChangeAgentRequest) GetRtaMongodbAgent() *ChangeRTAMongoDBAgentParams {
return nil
}
+func (x *ChangeAgentRequest) GetRtaMysqlAgent() *ChangeRTAMySQLAgentParams {
+ if x != nil {
+ if x, ok := x.Agent.(*ChangeAgentRequest_RtaMysqlAgent); ok {
+ return x.RtaMysqlAgent
+ }
+ }
+ return nil
+}
+
type isChangeAgentRequest_Agent interface {
isChangeAgentRequest_Agent()
}
@@ -5067,6 +5272,10 @@ type ChangeAgentRequest_RtaMongodbAgent struct {
RtaMongodbAgent *ChangeRTAMongoDBAgentParams `protobuf:"bytes,18,opt,name=rta_mongodb_agent,json=rtaMongodbAgent,proto3,oneof"`
}
+type ChangeAgentRequest_RtaMysqlAgent struct {
+ RtaMysqlAgent *ChangeRTAMySQLAgentParams `protobuf:"bytes,19,opt,name=rta_mysql_agent,json=rtaMysqlAgent,proto3,oneof"`
+}
+
func (*ChangeAgentRequest_NodeExporter) isChangeAgentRequest_Agent() {}
func (*ChangeAgentRequest_MysqldExporter) isChangeAgentRequest_Agent() {}
@@ -5101,6 +5310,8 @@ func (*ChangeAgentRequest_ValkeyExporter) isChangeAgentRequest_Agent() {}
func (*ChangeAgentRequest_RtaMongodbAgent) isChangeAgentRequest_Agent() {}
+func (*ChangeAgentRequest_RtaMysqlAgent) isChangeAgentRequest_Agent() {}
+
type ChangeAgentResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Types that are valid to be assigned to Agent:
@@ -5122,6 +5333,7 @@ type ChangeAgentResponse struct {
// *ChangeAgentResponse_NomadAgent
// *ChangeAgentResponse_ValkeyExporter
// *ChangeAgentResponse_RtaMongodbAgent
+ // *ChangeAgentResponse_RtaMysqlAgent
Agent isChangeAgentResponse_Agent `protobuf_oneof:"agent"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
@@ -5129,7 +5341,7 @@ type ChangeAgentResponse struct {
func (x *ChangeAgentResponse) Reset() {
*x = ChangeAgentResponse{}
- mi := &file_inventory_v1_agents_proto_msgTypes[30]
+ mi := &file_inventory_v1_agents_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5141,7 +5353,7 @@ func (x *ChangeAgentResponse) String() string {
func (*ChangeAgentResponse) ProtoMessage() {}
func (x *ChangeAgentResponse) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[30]
+ mi := &file_inventory_v1_agents_proto_msgTypes[31]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5154,7 +5366,7 @@ func (x *ChangeAgentResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ChangeAgentResponse.ProtoReflect.Descriptor instead.
func (*ChangeAgentResponse) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{30}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{31}
}
func (x *ChangeAgentResponse) GetAgent() isChangeAgentResponse_Agent {
@@ -5317,10 +5529,19 @@ func (x *ChangeAgentResponse) GetRtaMongodbAgent() *RTAMongoDBAgent {
return nil
}
-type isChangeAgentResponse_Agent interface {
- isChangeAgentResponse_Agent()
-}
-
+func (x *ChangeAgentResponse) GetRtaMysqlAgent() *RTAMySQLAgent {
+ if x != nil {
+ if x, ok := x.Agent.(*ChangeAgentResponse_RtaMysqlAgent); ok {
+ return x.RtaMysqlAgent
+ }
+ }
+ return nil
+}
+
+type isChangeAgentResponse_Agent interface {
+ isChangeAgentResponse_Agent()
+}
+
type ChangeAgentResponse_NodeExporter struct {
NodeExporter *NodeExporter `protobuf:"bytes,2,opt,name=node_exporter,json=nodeExporter,proto3,oneof"`
}
@@ -5389,6 +5610,10 @@ type ChangeAgentResponse_RtaMongodbAgent struct {
RtaMongodbAgent *RTAMongoDBAgent `protobuf:"bytes,18,opt,name=rta_mongodb_agent,json=rtaMongodbAgent,proto3,oneof"`
}
+type ChangeAgentResponse_RtaMysqlAgent struct {
+ RtaMysqlAgent *RTAMySQLAgent `protobuf:"bytes,19,opt,name=rta_mysql_agent,json=rtaMysqlAgent,proto3,oneof"`
+}
+
func (*ChangeAgentResponse_NodeExporter) isChangeAgentResponse_Agent() {}
func (*ChangeAgentResponse_MysqldExporter) isChangeAgentResponse_Agent() {}
@@ -5423,6 +5648,8 @@ func (*ChangeAgentResponse_ValkeyExporter) isChangeAgentResponse_Agent() {}
func (*ChangeAgentResponse_RtaMongodbAgent) isChangeAgentResponse_Agent() {}
+func (*ChangeAgentResponse_RtaMysqlAgent) isChangeAgentResponse_Agent() {}
+
type AddPMMAgentParams struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Node identifier where this instance runs.
@@ -5435,7 +5662,7 @@ type AddPMMAgentParams struct {
func (x *AddPMMAgentParams) Reset() {
*x = AddPMMAgentParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[31]
+ mi := &file_inventory_v1_agents_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5447,7 +5674,7 @@ func (x *AddPMMAgentParams) String() string {
func (*AddPMMAgentParams) ProtoMessage() {}
func (x *AddPMMAgentParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[31]
+ mi := &file_inventory_v1_agents_proto_msgTypes[32]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5460,7 +5687,7 @@ func (x *AddPMMAgentParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use AddPMMAgentParams.ProtoReflect.Descriptor instead.
func (*AddPMMAgentParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{31}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{32}
}
func (x *AddPMMAgentParams) GetRunsOnNodeId() string {
@@ -5497,7 +5724,7 @@ type AddNodeExporterParams struct {
func (x *AddNodeExporterParams) Reset() {
*x = AddNodeExporterParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[32]
+ mi := &file_inventory_v1_agents_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5509,7 +5736,7 @@ func (x *AddNodeExporterParams) String() string {
func (*AddNodeExporterParams) ProtoMessage() {}
func (x *AddNodeExporterParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[32]
+ mi := &file_inventory_v1_agents_proto_msgTypes[33]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5522,7 +5749,7 @@ func (x *AddNodeExporterParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use AddNodeExporterParams.ProtoReflect.Descriptor instead.
func (*AddNodeExporterParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{32}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{33}
}
func (x *AddNodeExporterParams) GetPmmAgentId() string {
@@ -5589,7 +5816,7 @@ type ChangeNodeExporterParams struct {
func (x *ChangeNodeExporterParams) Reset() {
*x = ChangeNodeExporterParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[33]
+ mi := &file_inventory_v1_agents_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5601,7 +5828,7 @@ func (x *ChangeNodeExporterParams) String() string {
func (*ChangeNodeExporterParams) ProtoMessage() {}
func (x *ChangeNodeExporterParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[33]
+ mi := &file_inventory_v1_agents_proto_msgTypes[34]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5614,7 +5841,7 @@ func (x *ChangeNodeExporterParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use ChangeNodeExporterParams.ProtoReflect.Descriptor instead.
func (*ChangeNodeExporterParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{33}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{34}
}
func (x *ChangeNodeExporterParams) GetEnable() bool {
@@ -5714,7 +5941,7 @@ type AddMySQLdExporterParams struct {
func (x *AddMySQLdExporterParams) Reset() {
*x = AddMySQLdExporterParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[34]
+ mi := &file_inventory_v1_agents_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5726,7 +5953,7 @@ func (x *AddMySQLdExporterParams) String() string {
func (*AddMySQLdExporterParams) ProtoMessage() {}
func (x *AddMySQLdExporterParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[34]
+ mi := &file_inventory_v1_agents_proto_msgTypes[35]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5739,7 +5966,7 @@ func (x *AddMySQLdExporterParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use AddMySQLdExporterParams.ProtoReflect.Descriptor instead.
func (*AddMySQLdExporterParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{34}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{35}
}
func (x *AddMySQLdExporterParams) GetPmmAgentId() string {
@@ -5919,7 +6146,7 @@ type ChangeMySQLdExporterParams struct {
func (x *ChangeMySQLdExporterParams) Reset() {
*x = ChangeMySQLdExporterParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[35]
+ mi := &file_inventory_v1_agents_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -5931,7 +6158,7 @@ func (x *ChangeMySQLdExporterParams) String() string {
func (*ChangeMySQLdExporterParams) ProtoMessage() {}
func (x *ChangeMySQLdExporterParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[35]
+ mi := &file_inventory_v1_agents_proto_msgTypes[36]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -5944,7 +6171,7 @@ func (x *ChangeMySQLdExporterParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use ChangeMySQLdExporterParams.ProtoReflect.Descriptor instead.
func (*ChangeMySQLdExporterParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{35}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{36}
}
func (x *ChangeMySQLdExporterParams) GetEnable() bool {
@@ -6133,7 +6360,7 @@ type AddMongoDBExporterParams struct {
func (x *AddMongoDBExporterParams) Reset() {
*x = AddMongoDBExporterParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[36]
+ mi := &file_inventory_v1_agents_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6145,7 +6372,7 @@ func (x *AddMongoDBExporterParams) String() string {
func (*AddMongoDBExporterParams) ProtoMessage() {}
func (x *AddMongoDBExporterParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[36]
+ mi := &file_inventory_v1_agents_proto_msgTypes[37]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6158,7 +6385,7 @@ func (x *AddMongoDBExporterParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use AddMongoDBExporterParams.ProtoReflect.Descriptor instead.
func (*AddMongoDBExporterParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{36}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{37}
}
func (x *AddMongoDBExporterParams) GetPmmAgentId() string {
@@ -6383,7 +6610,7 @@ type ChangeMongoDBExporterParams struct {
func (x *ChangeMongoDBExporterParams) Reset() {
*x = ChangeMongoDBExporterParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[37]
+ mi := &file_inventory_v1_agents_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6395,7 +6622,7 @@ func (x *ChangeMongoDBExporterParams) String() string {
func (*ChangeMongoDBExporterParams) ProtoMessage() {}
func (x *ChangeMongoDBExporterParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[37]
+ mi := &file_inventory_v1_agents_proto_msgTypes[38]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6408,7 +6635,7 @@ func (x *ChangeMongoDBExporterParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use ChangeMongoDBExporterParams.ProtoReflect.Descriptor instead.
func (*ChangeMongoDBExporterParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{37}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{38}
}
func (x *ChangeMongoDBExporterParams) GetEnable() bool {
@@ -6618,7 +6845,7 @@ type AddPostgresExporterParams struct {
func (x *AddPostgresExporterParams) Reset() {
*x = AddPostgresExporterParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[38]
+ mi := &file_inventory_v1_agents_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6630,7 +6857,7 @@ func (x *AddPostgresExporterParams) String() string {
func (*AddPostgresExporterParams) ProtoMessage() {}
func (x *AddPostgresExporterParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[38]
+ mi := &file_inventory_v1_agents_proto_msgTypes[39]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6643,7 +6870,7 @@ func (x *AddPostgresExporterParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use AddPostgresExporterParams.ProtoReflect.Descriptor instead.
func (*AddPostgresExporterParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{38}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{39}
}
func (x *AddPostgresExporterParams) GetPmmAgentId() string {
@@ -6825,7 +7052,7 @@ type ChangePostgresExporterParams struct {
func (x *ChangePostgresExporterParams) Reset() {
*x = ChangePostgresExporterParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[39]
+ mi := &file_inventory_v1_agents_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6837,7 +7064,7 @@ func (x *ChangePostgresExporterParams) String() string {
func (*ChangePostgresExporterParams) ProtoMessage() {}
func (x *ChangePostgresExporterParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[39]
+ mi := &file_inventory_v1_agents_proto_msgTypes[40]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6850,7 +7077,7 @@ func (x *ChangePostgresExporterParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use ChangePostgresExporterParams.ProtoReflect.Descriptor instead.
func (*ChangePostgresExporterParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{39}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{40}
}
func (x *ChangePostgresExporterParams) GetEnable() bool {
@@ -7022,7 +7249,7 @@ type AddProxySQLExporterParams struct {
func (x *AddProxySQLExporterParams) Reset() {
*x = AddProxySQLExporterParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[40]
+ mi := &file_inventory_v1_agents_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7034,7 +7261,7 @@ func (x *AddProxySQLExporterParams) String() string {
func (*AddProxySQLExporterParams) ProtoMessage() {}
func (x *AddProxySQLExporterParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[40]
+ mi := &file_inventory_v1_agents_proto_msgTypes[41]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7047,7 +7274,7 @@ func (x *AddProxySQLExporterParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use AddProxySQLExporterParams.ProtoReflect.Descriptor instead.
func (*AddProxySQLExporterParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{40}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{41}
}
func (x *AddProxySQLExporterParams) GetPmmAgentId() string {
@@ -7184,7 +7411,7 @@ type ChangeProxySQLExporterParams struct {
func (x *ChangeProxySQLExporterParams) Reset() {
*x = ChangeProxySQLExporterParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[41]
+ mi := &file_inventory_v1_agents_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7196,7 +7423,7 @@ func (x *ChangeProxySQLExporterParams) String() string {
func (*ChangeProxySQLExporterParams) ProtoMessage() {}
func (x *ChangeProxySQLExporterParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[41]
+ mi := &file_inventory_v1_agents_proto_msgTypes[42]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7209,7 +7436,7 @@ func (x *ChangeProxySQLExporterParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use ChangeProxySQLExporterParams.ProtoReflect.Descriptor instead.
func (*ChangeProxySQLExporterParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{41}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{42}
}
func (x *ChangeProxySQLExporterParams) GetEnable() bool {
@@ -7350,7 +7577,7 @@ type AddQANMySQLPerfSchemaAgentParams struct {
func (x *AddQANMySQLPerfSchemaAgentParams) Reset() {
*x = AddQANMySQLPerfSchemaAgentParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[42]
+ mi := &file_inventory_v1_agents_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7362,7 +7589,7 @@ func (x *AddQANMySQLPerfSchemaAgentParams) String() string {
func (*AddQANMySQLPerfSchemaAgentParams) ProtoMessage() {}
func (x *AddQANMySQLPerfSchemaAgentParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[42]
+ mi := &file_inventory_v1_agents_proto_msgTypes[43]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7375,7 +7602,7 @@ func (x *AddQANMySQLPerfSchemaAgentParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use AddQANMySQLPerfSchemaAgentParams.ProtoReflect.Descriptor instead.
func (*AddQANMySQLPerfSchemaAgentParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{42}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{43}
}
func (x *AddQANMySQLPerfSchemaAgentParams) GetPmmAgentId() string {
@@ -7530,7 +7757,7 @@ type ChangeQANMySQLPerfSchemaAgentParams struct {
func (x *ChangeQANMySQLPerfSchemaAgentParams) Reset() {
*x = ChangeQANMySQLPerfSchemaAgentParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[43]
+ mi := &file_inventory_v1_agents_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7542,7 +7769,7 @@ func (x *ChangeQANMySQLPerfSchemaAgentParams) String() string {
func (*ChangeQANMySQLPerfSchemaAgentParams) ProtoMessage() {}
func (x *ChangeQANMySQLPerfSchemaAgentParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[43]
+ mi := &file_inventory_v1_agents_proto_msgTypes[44]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7555,7 +7782,7 @@ func (x *ChangeQANMySQLPerfSchemaAgentParams) ProtoReflect() protoreflect.Messag
// Deprecated: Use ChangeQANMySQLPerfSchemaAgentParams.ProtoReflect.Descriptor instead.
func (*ChangeQANMySQLPerfSchemaAgentParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{43}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{44}
}
func (x *ChangeQANMySQLPerfSchemaAgentParams) GetEnable() bool {
@@ -7713,7 +7940,7 @@ type AddQANMySQLSlowlogAgentParams struct {
func (x *AddQANMySQLSlowlogAgentParams) Reset() {
*x = AddQANMySQLSlowlogAgentParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[44]
+ mi := &file_inventory_v1_agents_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7725,7 +7952,7 @@ func (x *AddQANMySQLSlowlogAgentParams) String() string {
func (*AddQANMySQLSlowlogAgentParams) ProtoMessage() {}
func (x *AddQANMySQLSlowlogAgentParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[44]
+ mi := &file_inventory_v1_agents_proto_msgTypes[45]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7738,7 +7965,7 @@ func (x *AddQANMySQLSlowlogAgentParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use AddQANMySQLSlowlogAgentParams.ProtoReflect.Descriptor instead.
func (*AddQANMySQLSlowlogAgentParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{44}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{45}
}
func (x *AddQANMySQLSlowlogAgentParams) GetPmmAgentId() string {
@@ -7902,7 +8129,7 @@ type ChangeQANMySQLSlowlogAgentParams struct {
func (x *ChangeQANMySQLSlowlogAgentParams) Reset() {
*x = ChangeQANMySQLSlowlogAgentParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[45]
+ mi := &file_inventory_v1_agents_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7914,7 +8141,7 @@ func (x *ChangeQANMySQLSlowlogAgentParams) String() string {
func (*ChangeQANMySQLSlowlogAgentParams) ProtoMessage() {}
func (x *ChangeQANMySQLSlowlogAgentParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[45]
+ mi := &file_inventory_v1_agents_proto_msgTypes[46]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7927,7 +8154,7 @@ func (x *ChangeQANMySQLSlowlogAgentParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use ChangeQANMySQLSlowlogAgentParams.ProtoReflect.Descriptor instead.
func (*ChangeQANMySQLSlowlogAgentParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{45}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{46}
}
func (x *ChangeQANMySQLSlowlogAgentParams) GetEnable() bool {
@@ -8089,7 +8316,7 @@ type AddQANMongoDBProfilerAgentParams struct {
func (x *AddQANMongoDBProfilerAgentParams) Reset() {
*x = AddQANMongoDBProfilerAgentParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[46]
+ mi := &file_inventory_v1_agents_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8101,7 +8328,7 @@ func (x *AddQANMongoDBProfilerAgentParams) String() string {
func (*AddQANMongoDBProfilerAgentParams) ProtoMessage() {}
func (x *AddQANMongoDBProfilerAgentParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[46]
+ mi := &file_inventory_v1_agents_proto_msgTypes[47]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8114,7 +8341,7 @@ func (x *AddQANMongoDBProfilerAgentParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use AddQANMongoDBProfilerAgentParams.ProtoReflect.Descriptor instead.
func (*AddQANMongoDBProfilerAgentParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{46}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{47}
}
func (x *AddQANMongoDBProfilerAgentParams) GetPmmAgentId() string {
@@ -8262,7 +8489,7 @@ type ChangeQANMongoDBProfilerAgentParams struct {
func (x *ChangeQANMongoDBProfilerAgentParams) Reset() {
*x = ChangeQANMongoDBProfilerAgentParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[47]
+ mi := &file_inventory_v1_agents_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8274,7 +8501,7 @@ func (x *ChangeQANMongoDBProfilerAgentParams) String() string {
func (*ChangeQANMongoDBProfilerAgentParams) ProtoMessage() {}
func (x *ChangeQANMongoDBProfilerAgentParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[47]
+ mi := &file_inventory_v1_agents_proto_msgTypes[48]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8287,7 +8514,7 @@ func (x *ChangeQANMongoDBProfilerAgentParams) ProtoReflect() protoreflect.Messag
// Deprecated: Use ChangeQANMongoDBProfilerAgentParams.ProtoReflect.Descriptor instead.
func (*ChangeQANMongoDBProfilerAgentParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{47}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{48}
}
func (x *ChangeQANMongoDBProfilerAgentParams) GetEnable() bool {
@@ -8442,7 +8669,7 @@ type AddQANMongoDBMongologAgentParams struct {
func (x *AddQANMongoDBMongologAgentParams) Reset() {
*x = AddQANMongoDBMongologAgentParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[48]
+ mi := &file_inventory_v1_agents_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8454,7 +8681,7 @@ func (x *AddQANMongoDBMongologAgentParams) String() string {
func (*AddQANMongoDBMongologAgentParams) ProtoMessage() {}
func (x *AddQANMongoDBMongologAgentParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[48]
+ mi := &file_inventory_v1_agents_proto_msgTypes[49]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8467,7 +8694,7 @@ func (x *AddQANMongoDBMongologAgentParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use AddQANMongoDBMongologAgentParams.ProtoReflect.Descriptor instead.
func (*AddQANMongoDBMongologAgentParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{48}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{49}
}
func (x *AddQANMongoDBMongologAgentParams) GetPmmAgentId() string {
@@ -8615,7 +8842,7 @@ type ChangeQANMongoDBMongologAgentParams struct {
func (x *ChangeQANMongoDBMongologAgentParams) Reset() {
*x = ChangeQANMongoDBMongologAgentParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[49]
+ mi := &file_inventory_v1_agents_proto_msgTypes[50]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8627,7 +8854,7 @@ func (x *ChangeQANMongoDBMongologAgentParams) String() string {
func (*ChangeQANMongoDBMongologAgentParams) ProtoMessage() {}
func (x *ChangeQANMongoDBMongologAgentParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[49]
+ mi := &file_inventory_v1_agents_proto_msgTypes[50]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8640,7 +8867,7 @@ func (x *ChangeQANMongoDBMongologAgentParams) ProtoReflect() protoreflect.Messag
// Deprecated: Use ChangeQANMongoDBMongologAgentParams.ProtoReflect.Descriptor instead.
func (*ChangeQANMongoDBMongologAgentParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{49}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{50}
}
func (x *ChangeQANMongoDBMongologAgentParams) GetEnable() bool {
@@ -8791,7 +9018,7 @@ type AddQANPostgreSQLPgStatementsAgentParams struct {
func (x *AddQANPostgreSQLPgStatementsAgentParams) Reset() {
*x = AddQANPostgreSQLPgStatementsAgentParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[50]
+ mi := &file_inventory_v1_agents_proto_msgTypes[51]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8803,7 +9030,7 @@ func (x *AddQANPostgreSQLPgStatementsAgentParams) String() string {
func (*AddQANPostgreSQLPgStatementsAgentParams) ProtoMessage() {}
func (x *AddQANPostgreSQLPgStatementsAgentParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[50]
+ mi := &file_inventory_v1_agents_proto_msgTypes[51]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8816,7 +9043,7 @@ func (x *AddQANPostgreSQLPgStatementsAgentParams) ProtoReflect() protoreflect.Me
// Deprecated: Use AddQANPostgreSQLPgStatementsAgentParams.ProtoReflect.Descriptor instead.
func (*AddQANPostgreSQLPgStatementsAgentParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{50}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{51}
}
func (x *AddQANPostgreSQLPgStatementsAgentParams) GetPmmAgentId() string {
@@ -8955,7 +9182,7 @@ type ChangeQANPostgreSQLPgStatementsAgentParams struct {
func (x *ChangeQANPostgreSQLPgStatementsAgentParams) Reset() {
*x = ChangeQANPostgreSQLPgStatementsAgentParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[51]
+ mi := &file_inventory_v1_agents_proto_msgTypes[52]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8967,7 +9194,7 @@ func (x *ChangeQANPostgreSQLPgStatementsAgentParams) String() string {
func (*ChangeQANPostgreSQLPgStatementsAgentParams) ProtoMessage() {}
func (x *ChangeQANPostgreSQLPgStatementsAgentParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[51]
+ mi := &file_inventory_v1_agents_proto_msgTypes[52]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8980,7 +9207,7 @@ func (x *ChangeQANPostgreSQLPgStatementsAgentParams) ProtoReflect() protoreflect
// Deprecated: Use ChangeQANPostgreSQLPgStatementsAgentParams.ProtoReflect.Descriptor instead.
func (*ChangeQANPostgreSQLPgStatementsAgentParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{51}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{52}
}
func (x *ChangeQANPostgreSQLPgStatementsAgentParams) GetEnable() bool {
@@ -9126,7 +9353,7 @@ type AddQANPostgreSQLPgStatMonitorAgentParams struct {
func (x *AddQANPostgreSQLPgStatMonitorAgentParams) Reset() {
*x = AddQANPostgreSQLPgStatMonitorAgentParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[52]
+ mi := &file_inventory_v1_agents_proto_msgTypes[53]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -9138,7 +9365,7 @@ func (x *AddQANPostgreSQLPgStatMonitorAgentParams) String() string {
func (*AddQANPostgreSQLPgStatMonitorAgentParams) ProtoMessage() {}
func (x *AddQANPostgreSQLPgStatMonitorAgentParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[52]
+ mi := &file_inventory_v1_agents_proto_msgTypes[53]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -9151,7 +9378,7 @@ func (x *AddQANPostgreSQLPgStatMonitorAgentParams) ProtoReflect() protoreflect.M
// Deprecated: Use AddQANPostgreSQLPgStatMonitorAgentParams.ProtoReflect.Descriptor instead.
func (*AddQANPostgreSQLPgStatMonitorAgentParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{52}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{53}
}
func (x *AddQANPostgreSQLPgStatMonitorAgentParams) GetPmmAgentId() string {
@@ -9299,7 +9526,7 @@ type ChangeQANPostgreSQLPgStatMonitorAgentParams struct {
func (x *ChangeQANPostgreSQLPgStatMonitorAgentParams) Reset() {
*x = ChangeQANPostgreSQLPgStatMonitorAgentParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[53]
+ mi := &file_inventory_v1_agents_proto_msgTypes[54]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -9311,7 +9538,7 @@ func (x *ChangeQANPostgreSQLPgStatMonitorAgentParams) String() string {
func (*ChangeQANPostgreSQLPgStatMonitorAgentParams) ProtoMessage() {}
func (x *ChangeQANPostgreSQLPgStatMonitorAgentParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[53]
+ mi := &file_inventory_v1_agents_proto_msgTypes[54]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -9324,7 +9551,7 @@ func (x *ChangeQANPostgreSQLPgStatMonitorAgentParams) ProtoReflect() protoreflec
// Deprecated: Use ChangeQANPostgreSQLPgStatMonitorAgentParams.ProtoReflect.Descriptor instead.
func (*ChangeQANPostgreSQLPgStatMonitorAgentParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{53}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{54}
}
func (x *ChangeQANPostgreSQLPgStatMonitorAgentParams) GetEnable() bool {
@@ -9467,7 +9694,7 @@ type AddRDSExporterParams struct {
func (x *AddRDSExporterParams) Reset() {
*x = AddRDSExporterParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[54]
+ mi := &file_inventory_v1_agents_proto_msgTypes[55]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -9479,7 +9706,7 @@ func (x *AddRDSExporterParams) String() string {
func (*AddRDSExporterParams) ProtoMessage() {}
func (x *AddRDSExporterParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[54]
+ mi := &file_inventory_v1_agents_proto_msgTypes[55]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -9492,7 +9719,7 @@ func (x *AddRDSExporterParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use AddRDSExporterParams.ProtoReflect.Descriptor instead.
func (*AddRDSExporterParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{54}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{55}
}
func (x *AddRDSExporterParams) GetPmmAgentId() string {
@@ -9591,7 +9818,7 @@ type ChangeRDSExporterParams struct {
func (x *ChangeRDSExporterParams) Reset() {
*x = ChangeRDSExporterParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[55]
+ mi := &file_inventory_v1_agents_proto_msgTypes[56]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -9603,7 +9830,7 @@ func (x *ChangeRDSExporterParams) String() string {
func (*ChangeRDSExporterParams) ProtoMessage() {}
func (x *ChangeRDSExporterParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[55]
+ mi := &file_inventory_v1_agents_proto_msgTypes[56]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -9616,7 +9843,7 @@ func (x *ChangeRDSExporterParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use ChangeRDSExporterParams.ProtoReflect.Descriptor instead.
func (*ChangeRDSExporterParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{55}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{56}
}
func (x *ChangeRDSExporterParams) GetEnable() bool {
@@ -9710,7 +9937,7 @@ type AddExternalExporterParams struct {
func (x *AddExternalExporterParams) Reset() {
*x = AddExternalExporterParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[56]
+ mi := &file_inventory_v1_agents_proto_msgTypes[57]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -9722,7 +9949,7 @@ func (x *AddExternalExporterParams) String() string {
func (*AddExternalExporterParams) ProtoMessage() {}
func (x *AddExternalExporterParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[56]
+ mi := &file_inventory_v1_agents_proto_msgTypes[57]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -9735,7 +9962,7 @@ func (x *AddExternalExporterParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use AddExternalExporterParams.ProtoReflect.Descriptor instead.
func (*AddExternalExporterParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{56}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{57}
}
func (x *AddExternalExporterParams) GetRunsOnNodeId() string {
@@ -9834,7 +10061,7 @@ type ChangeExternalExporterParams struct {
func (x *ChangeExternalExporterParams) Reset() {
*x = ChangeExternalExporterParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[57]
+ mi := &file_inventory_v1_agents_proto_msgTypes[58]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -9846,7 +10073,7 @@ func (x *ChangeExternalExporterParams) String() string {
func (*ChangeExternalExporterParams) ProtoMessage() {}
func (x *ChangeExternalExporterParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[57]
+ mi := &file_inventory_v1_agents_proto_msgTypes[58]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -9859,7 +10086,7 @@ func (x *ChangeExternalExporterParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use ChangeExternalExporterParams.ProtoReflect.Descriptor instead.
func (*ChangeExternalExporterParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{57}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{58}
}
func (x *ChangeExternalExporterParams) GetEnable() bool {
@@ -9957,7 +10184,7 @@ type AddAzureDatabaseExporterParams struct {
func (x *AddAzureDatabaseExporterParams) Reset() {
*x = AddAzureDatabaseExporterParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[58]
+ mi := &file_inventory_v1_agents_proto_msgTypes[59]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -9969,7 +10196,7 @@ func (x *AddAzureDatabaseExporterParams) String() string {
func (*AddAzureDatabaseExporterParams) ProtoMessage() {}
func (x *AddAzureDatabaseExporterParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[58]
+ mi := &file_inventory_v1_agents_proto_msgTypes[59]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -9982,7 +10209,7 @@ func (x *AddAzureDatabaseExporterParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use AddAzureDatabaseExporterParams.ProtoReflect.Descriptor instead.
func (*AddAzureDatabaseExporterParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{58}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{59}
}
func (x *AddAzureDatabaseExporterParams) GetPmmAgentId() string {
@@ -10097,7 +10324,7 @@ type ChangeAzureDatabaseExporterParams struct {
func (x *ChangeAzureDatabaseExporterParams) Reset() {
*x = ChangeAzureDatabaseExporterParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[59]
+ mi := &file_inventory_v1_agents_proto_msgTypes[60]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10109,7 +10336,7 @@ func (x *ChangeAzureDatabaseExporterParams) String() string {
func (*ChangeAzureDatabaseExporterParams) ProtoMessage() {}
func (x *ChangeAzureDatabaseExporterParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[59]
+ mi := &file_inventory_v1_agents_proto_msgTypes[60]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10122,7 +10349,7 @@ func (x *ChangeAzureDatabaseExporterParams) ProtoReflect() protoreflect.Message
// Deprecated: Use ChangeAzureDatabaseExporterParams.ProtoReflect.Descriptor instead.
func (*ChangeAzureDatabaseExporterParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{59}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{60}
}
func (x *ChangeAzureDatabaseExporterParams) GetEnable() bool {
@@ -10205,7 +10432,7 @@ type ChangeNomadAgentParams struct {
func (x *ChangeNomadAgentParams) Reset() {
*x = ChangeNomadAgentParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[60]
+ mi := &file_inventory_v1_agents_proto_msgTypes[61]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10217,7 +10444,7 @@ func (x *ChangeNomadAgentParams) String() string {
func (*ChangeNomadAgentParams) ProtoMessage() {}
func (x *ChangeNomadAgentParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[60]
+ mi := &file_inventory_v1_agents_proto_msgTypes[61]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10230,7 +10457,7 @@ func (x *ChangeNomadAgentParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use ChangeNomadAgentParams.ProtoReflect.Descriptor instead.
func (*ChangeNomadAgentParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{60}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{61}
}
func (x *ChangeNomadAgentParams) GetEnable() bool {
@@ -10282,7 +10509,7 @@ type AddValkeyExporterParams struct {
func (x *AddValkeyExporterParams) Reset() {
*x = AddValkeyExporterParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[61]
+ mi := &file_inventory_v1_agents_proto_msgTypes[62]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10294,7 +10521,7 @@ func (x *AddValkeyExporterParams) String() string {
func (*AddValkeyExporterParams) ProtoMessage() {}
func (x *AddValkeyExporterParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[61]
+ mi := &file_inventory_v1_agents_proto_msgTypes[62]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10307,7 +10534,7 @@ func (x *AddValkeyExporterParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use AddValkeyExporterParams.ProtoReflect.Descriptor instead.
func (*AddValkeyExporterParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{61}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{62}
}
func (x *AddValkeyExporterParams) GetPmmAgentId() string {
@@ -10471,7 +10698,7 @@ type ChangeValkeyExporterParams struct {
func (x *ChangeValkeyExporterParams) Reset() {
*x = ChangeValkeyExporterParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[62]
+ mi := &file_inventory_v1_agents_proto_msgTypes[63]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10483,7 +10710,7 @@ func (x *ChangeValkeyExporterParams) String() string {
func (*ChangeValkeyExporterParams) ProtoMessage() {}
func (x *ChangeValkeyExporterParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[62]
+ mi := &file_inventory_v1_agents_proto_msgTypes[63]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10496,7 +10723,7 @@ func (x *ChangeValkeyExporterParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use ChangeValkeyExporterParams.ProtoReflect.Descriptor instead.
func (*ChangeValkeyExporterParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{62}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{63}
}
func (x *ChangeValkeyExporterParams) GetEnable() bool {
@@ -10657,7 +10884,7 @@ type AddRTAMongoDBAgentParams struct {
func (x *AddRTAMongoDBAgentParams) Reset() {
*x = AddRTAMongoDBAgentParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[63]
+ mi := &file_inventory_v1_agents_proto_msgTypes[64]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10669,7 +10896,7 @@ func (x *AddRTAMongoDBAgentParams) String() string {
func (*AddRTAMongoDBAgentParams) ProtoMessage() {}
func (x *AddRTAMongoDBAgentParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[63]
+ mi := &file_inventory_v1_agents_proto_msgTypes[64]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10682,7 +10909,7 @@ func (x *AddRTAMongoDBAgentParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use AddRTAMongoDBAgentParams.ProtoReflect.Descriptor instead.
func (*AddRTAMongoDBAgentParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{63}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{64}
}
func (x *AddRTAMongoDBAgentParams) GetPmmAgentId() string {
@@ -10817,7 +11044,7 @@ type ChangeRTAMongoDBAgentParams struct {
func (x *ChangeRTAMongoDBAgentParams) Reset() {
*x = ChangeRTAMongoDBAgentParams{}
- mi := &file_inventory_v1_agents_proto_msgTypes[64]
+ mi := &file_inventory_v1_agents_proto_msgTypes[65]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -10829,7 +11056,7 @@ func (x *ChangeRTAMongoDBAgentParams) String() string {
func (*ChangeRTAMongoDBAgentParams) ProtoMessage() {}
func (x *ChangeRTAMongoDBAgentParams) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[64]
+ mi := &file_inventory_v1_agents_proto_msgTypes[65]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10842,7 +11069,7 @@ func (x *ChangeRTAMongoDBAgentParams) ProtoReflect() protoreflect.Message {
// Deprecated: Use ChangeRTAMongoDBAgentParams.ProtoReflect.Descriptor instead.
func (*ChangeRTAMongoDBAgentParams) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{64}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{65}
}
func (x *ChangeRTAMongoDBAgentParams) GetEnable() bool {
@@ -10936,30 +11163,54 @@ func (x *ChangeRTAMongoDBAgentParams) GetSkipConnectionCheck() bool {
return false
}
-type RemoveAgentRequest struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- AgentId string `protobuf:"bytes,1,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"`
- // Remove agent with all dependencies.
- Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"`
+type AddRTAMySQLAgentParams struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ // The pmm-agent identifier which runs this instance.
+ PmmAgentId string `protobuf:"bytes,1,opt,name=pmm_agent_id,json=pmmAgentId,proto3" json:"pmm_agent_id,omitempty"`
+ // Service identifier.
+ ServiceId string `protobuf:"bytes,2,opt,name=service_id,json=serviceId,proto3" json:"service_id,omitempty"`
+ // MySQL username for getting queries data.
+ Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
+ // MySQL password for getting queries data.
+ Password string `protobuf:"bytes,4,opt,name=password,proto3" json:"password,omitempty"`
+ // Custom user-assigned labels.
+ CustomLabels map[string]string `protobuf:"bytes,5,rep,name=custom_labels,json=customLabels,proto3" json:"custom_labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+ // Log level for agent.
+ LogLevel LogLevel `protobuf:"varint,6,opt,name=log_level,json=logLevel,proto3,enum=inventory.v1.LogLevel" json:"log_level,omitempty"`
+ // MySQL specific options.
+ // Use TLS for database connections.
+ Tls bool `protobuf:"varint,7,opt,name=tls,proto3" json:"tls,omitempty"`
+ // Skip TLS certificate and hostname validation.
+ TlsSkipVerify bool `protobuf:"varint,8,opt,name=tls_skip_verify,json=tlsSkipVerify,proto3" json:"tls_skip_verify,omitempty"`
+ // Certificate Authority certificate chain.
+ TlsCa string `protobuf:"bytes,9,opt,name=tls_ca,json=tlsCa,proto3" json:"tls_ca,omitempty"`
+ // Client certificate.
+ TlsCert string `protobuf:"bytes,10,opt,name=tls_cert,json=tlsCert,proto3" json:"tls_cert,omitempty"`
+ // Client key.
+ TlsKey string `protobuf:"bytes,11,opt,name=tls_key,json=tlsKey,proto3" json:"tls_key,omitempty"`
+ // Skip connection check.
+ SkipConnectionCheck bool `protobuf:"varint,12,opt,name=skip_connection_check,json=skipConnectionCheck,proto3" json:"skip_connection_check,omitempty"`
+ // Real-Time Analytics options.
+ RtaOptions *RTAOptions `protobuf:"bytes,13,opt,name=rta_options,json=rtaOptions,proto3" json:"rta_options,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
-func (x *RemoveAgentRequest) Reset() {
- *x = RemoveAgentRequest{}
- mi := &file_inventory_v1_agents_proto_msgTypes[65]
+func (x *AddRTAMySQLAgentParams) Reset() {
+ *x = AddRTAMySQLAgentParams{}
+ mi := &file_inventory_v1_agents_proto_msgTypes[66]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
-func (x *RemoveAgentRequest) String() string {
+func (x *AddRTAMySQLAgentParams) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*RemoveAgentRequest) ProtoMessage() {}
+func (*AddRTAMySQLAgentParams) ProtoMessage() {}
-func (x *RemoveAgentRequest) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[65]
+func (x *AddRTAMySQLAgentParams) ProtoReflect() protoreflect.Message {
+ mi := &file_inventory_v1_agents_proto_msgTypes[66]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -10970,9 +11221,283 @@ func (x *RemoveAgentRequest) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use RemoveAgentRequest.ProtoReflect.Descriptor instead.
-func (*RemoveAgentRequest) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{65}
+// Deprecated: Use AddRTAMySQLAgentParams.ProtoReflect.Descriptor instead.
+func (*AddRTAMySQLAgentParams) Descriptor() ([]byte, []int) {
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{66}
+}
+
+func (x *AddRTAMySQLAgentParams) GetPmmAgentId() string {
+ if x != nil {
+ return x.PmmAgentId
+ }
+ return ""
+}
+
+func (x *AddRTAMySQLAgentParams) GetServiceId() string {
+ if x != nil {
+ return x.ServiceId
+ }
+ return ""
+}
+
+func (x *AddRTAMySQLAgentParams) GetUsername() string {
+ if x != nil {
+ return x.Username
+ }
+ return ""
+}
+
+func (x *AddRTAMySQLAgentParams) GetPassword() string {
+ if x != nil {
+ return x.Password
+ }
+ return ""
+}
+
+func (x *AddRTAMySQLAgentParams) GetCustomLabels() map[string]string {
+ if x != nil {
+ return x.CustomLabels
+ }
+ return nil
+}
+
+func (x *AddRTAMySQLAgentParams) GetLogLevel() LogLevel {
+ if x != nil {
+ return x.LogLevel
+ }
+ return LogLevel_LOG_LEVEL_UNSPECIFIED
+}
+
+func (x *AddRTAMySQLAgentParams) GetTls() bool {
+ if x != nil {
+ return x.Tls
+ }
+ return false
+}
+
+func (x *AddRTAMySQLAgentParams) GetTlsSkipVerify() bool {
+ if x != nil {
+ return x.TlsSkipVerify
+ }
+ return false
+}
+
+func (x *AddRTAMySQLAgentParams) GetTlsCa() string {
+ if x != nil {
+ return x.TlsCa
+ }
+ return ""
+}
+
+func (x *AddRTAMySQLAgentParams) GetTlsCert() string {
+ if x != nil {
+ return x.TlsCert
+ }
+ return ""
+}
+
+func (x *AddRTAMySQLAgentParams) GetTlsKey() string {
+ if x != nil {
+ return x.TlsKey
+ }
+ return ""
+}
+
+func (x *AddRTAMySQLAgentParams) GetSkipConnectionCheck() bool {
+ if x != nil {
+ return x.SkipConnectionCheck
+ }
+ return false
+}
+
+func (x *AddRTAMySQLAgentParams) GetRtaOptions() *RTAOptions {
+ if x != nil {
+ return x.RtaOptions
+ }
+ return nil
+}
+
+type ChangeRTAMySQLAgentParams struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ // Enable this Agent. Agents are enabled by default when they get added.
+ Enable *bool `protobuf:"varint,1,opt,name=enable,proto3,oneof" json:"enable,omitempty"`
+ // Replace all custom user-assigned labels.
+ CustomLabels *common.StringMap `protobuf:"bytes,2,opt,name=custom_labels,json=customLabels,proto3,oneof" json:"custom_labels,omitempty"`
+ // Log level for exporter.
+ LogLevel *LogLevel `protobuf:"varint,3,opt,name=log_level,json=logLevel,proto3,enum=inventory.v1.LogLevel,oneof" json:"log_level,omitempty"`
+ // MySQL username for getting queries data.
+ Username *string `protobuf:"bytes,4,opt,name=username,proto3,oneof" json:"username,omitempty"`
+ // MySQL password for getting queries data.
+ Password *string `protobuf:"bytes,5,opt,name=password,proto3,oneof" json:"password,omitempty"`
+ // Use TLS for database connections.
+ Tls *bool `protobuf:"varint,6,opt,name=tls,proto3,oneof" json:"tls,omitempty"`
+ // Skip TLS certificate and hostname validation.
+ TlsSkipVerify *bool `protobuf:"varint,7,opt,name=tls_skip_verify,json=tlsSkipVerify,proto3,oneof" json:"tls_skip_verify,omitempty"`
+ // Certificate Authority certificate chain.
+ TlsCa *string `protobuf:"bytes,8,opt,name=tls_ca,json=tlsCa,proto3,oneof" json:"tls_ca,omitempty"`
+ // Client certificate.
+ TlsCert *string `protobuf:"bytes,9,opt,name=tls_cert,json=tlsCert,proto3,oneof" json:"tls_cert,omitempty"`
+ // Client key.
+ TlsKey *string `protobuf:"bytes,10,opt,name=tls_key,json=tlsKey,proto3,oneof" json:"tls_key,omitempty"`
+ // Real-Time Analytics options.
+ RtaOptions *RTAOptions `protobuf:"bytes,11,opt,name=rta_options,json=rtaOptions,proto3,oneof" json:"rta_options,omitempty"`
+ // Skip connection check.
+ SkipConnectionCheck *bool `protobuf:"varint,12,opt,name=skip_connection_check,json=skipConnectionCheck,proto3,oneof" json:"skip_connection_check,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ChangeRTAMySQLAgentParams) Reset() {
+ *x = ChangeRTAMySQLAgentParams{}
+ mi := &file_inventory_v1_agents_proto_msgTypes[67]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ChangeRTAMySQLAgentParams) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChangeRTAMySQLAgentParams) ProtoMessage() {}
+
+func (x *ChangeRTAMySQLAgentParams) ProtoReflect() protoreflect.Message {
+ mi := &file_inventory_v1_agents_proto_msgTypes[67]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChangeRTAMySQLAgentParams.ProtoReflect.Descriptor instead.
+func (*ChangeRTAMySQLAgentParams) Descriptor() ([]byte, []int) {
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{67}
+}
+
+func (x *ChangeRTAMySQLAgentParams) GetEnable() bool {
+ if x != nil && x.Enable != nil {
+ return *x.Enable
+ }
+ return false
+}
+
+func (x *ChangeRTAMySQLAgentParams) GetCustomLabels() *common.StringMap {
+ if x != nil {
+ return x.CustomLabels
+ }
+ return nil
+}
+
+func (x *ChangeRTAMySQLAgentParams) GetLogLevel() LogLevel {
+ if x != nil && x.LogLevel != nil {
+ return *x.LogLevel
+ }
+ return LogLevel_LOG_LEVEL_UNSPECIFIED
+}
+
+func (x *ChangeRTAMySQLAgentParams) GetUsername() string {
+ if x != nil && x.Username != nil {
+ return *x.Username
+ }
+ return ""
+}
+
+func (x *ChangeRTAMySQLAgentParams) GetPassword() string {
+ if x != nil && x.Password != nil {
+ return *x.Password
+ }
+ return ""
+}
+
+func (x *ChangeRTAMySQLAgentParams) GetTls() bool {
+ if x != nil && x.Tls != nil {
+ return *x.Tls
+ }
+ return false
+}
+
+func (x *ChangeRTAMySQLAgentParams) GetTlsSkipVerify() bool {
+ if x != nil && x.TlsSkipVerify != nil {
+ return *x.TlsSkipVerify
+ }
+ return false
+}
+
+func (x *ChangeRTAMySQLAgentParams) GetTlsCa() string {
+ if x != nil && x.TlsCa != nil {
+ return *x.TlsCa
+ }
+ return ""
+}
+
+func (x *ChangeRTAMySQLAgentParams) GetTlsCert() string {
+ if x != nil && x.TlsCert != nil {
+ return *x.TlsCert
+ }
+ return ""
+}
+
+func (x *ChangeRTAMySQLAgentParams) GetTlsKey() string {
+ if x != nil && x.TlsKey != nil {
+ return *x.TlsKey
+ }
+ return ""
+}
+
+func (x *ChangeRTAMySQLAgentParams) GetRtaOptions() *RTAOptions {
+ if x != nil {
+ return x.RtaOptions
+ }
+ return nil
+}
+
+func (x *ChangeRTAMySQLAgentParams) GetSkipConnectionCheck() bool {
+ if x != nil && x.SkipConnectionCheck != nil {
+ return *x.SkipConnectionCheck
+ }
+ return false
+}
+
+type RemoveAgentRequest struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ AgentId string `protobuf:"bytes,1,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"`
+ // Remove agent with all dependencies.
+ Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *RemoveAgentRequest) Reset() {
+ *x = RemoveAgentRequest{}
+ mi := &file_inventory_v1_agents_proto_msgTypes[68]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *RemoveAgentRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RemoveAgentRequest) ProtoMessage() {}
+
+func (x *RemoveAgentRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_inventory_v1_agents_proto_msgTypes[68]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RemoveAgentRequest.ProtoReflect.Descriptor instead.
+func (*RemoveAgentRequest) Descriptor() ([]byte, []int) {
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{68}
}
func (x *RemoveAgentRequest) GetAgentId() string {
@@ -10997,7 +11522,7 @@ type RemoveAgentResponse struct {
func (x *RemoveAgentResponse) Reset() {
*x = RemoveAgentResponse{}
- mi := &file_inventory_v1_agents_proto_msgTypes[66]
+ mi := &file_inventory_v1_agents_proto_msgTypes[69]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -11009,7 +11534,7 @@ func (x *RemoveAgentResponse) String() string {
func (*RemoveAgentResponse) ProtoMessage() {}
func (x *RemoveAgentResponse) ProtoReflect() protoreflect.Message {
- mi := &file_inventory_v1_agents_proto_msgTypes[66]
+ mi := &file_inventory_v1_agents_proto_msgTypes[69]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -11022,7 +11547,7 @@ func (x *RemoveAgentResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RemoveAgentResponse.ProtoReflect.Descriptor instead.
func (*RemoveAgentResponse) Descriptor() ([]byte, []int) {
- return file_inventory_v1_agents_proto_rawDescGZIP(), []int{66}
+ return file_inventory_v1_agents_proto_rawDescGZIP(), []int{69}
}
var File_inventory_v1_agents_proto protoreflect.FileDescriptor
@@ -11338,6 +11863,25 @@ const file_inventory_v1_agents_proto_rawDesc = "" +
"\tlog_level\x18\v \x01(\x0e2\x16.inventory.v1.LogLevelR\blogLevel\x1a?\n" +
"\x11CustomLabelsEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
+ "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x9b\x04\n" +
+ "\rRTAMySQLAgent\x12\x19\n" +
+ "\bagent_id\x18\x01 \x01(\tR\aagentId\x12 \n" +
+ "\fpmm_agent_id\x18\x02 \x01(\tR\n" +
+ "pmmAgentId\x12\x1a\n" +
+ "\bdisabled\x18\x03 \x01(\bR\bdisabled\x12\x1d\n" +
+ "\n" +
+ "service_id\x18\x04 \x01(\tR\tserviceId\x12 \n" +
+ "\busername\x18\x05 \x01(\tB\x04\x88\xb5\x18\x01R\busername\x12\x10\n" +
+ "\x03tls\x18\x06 \x01(\bR\x03tls\x12&\n" +
+ "\x0ftls_skip_verify\x18\a \x01(\bR\rtlsSkipVerify\x12R\n" +
+ "\rcustom_labels\x18\b \x03(\v2-.inventory.v1.RTAMySQLAgent.CustomLabelsEntryR\fcustomLabels\x129\n" +
+ "\vrta_options\x18\t \x01(\v2\x18.inventory.v1.RTAOptionsR\n" +
+ "rtaOptions\x121\n" +
+ "\x06status\x18\n" +
+ " \x01(\x0e2\x19.inventory.v1.AgentStatusR\x06status\x123\n" +
+ "\tlog_level\x18\v \x01(\x0e2\x16.inventory.v1.LogLevelR\blogLevel\x1a?\n" +
+ "\x11CustomLabelsEntry\x12\x10\n" +
+ "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x92\x05\n" +
"\x1eQANPostgreSQLPgStatementsAgent\x12\x19\n" +
"\bagent_id\x18\x01 \x01(\tR\aagentId\x12 \n" +
@@ -11458,7 +12002,7 @@ const file_inventory_v1_agents_proto_rawDesc = "" +
"\n" +
"service_id\x18\x03 \x01(\tR\tserviceId\x126\n" +
"\n" +
- "agent_type\x18\x04 \x01(\x0e2\x17.inventory.v1.AgentTypeR\tagentType\"\x98\f\n" +
+ "agent_type\x18\x04 \x01(\x0e2\x17.inventory.v1.AgentTypeR\tagentType\"\xdd\f\n" +
"\x12ListAgentsResponse\x123\n" +
"\tpmm_agent\x18\x01 \x03(\v2\x16.inventory.v1.PMMAgentR\bpmmAgent\x120\n" +
"\bvm_agent\x18\x02 \x03(\v2\x15.inventory.v1.VMAgentR\avmAgent\x12?\n" +
@@ -11480,9 +12024,10 @@ const file_inventory_v1_agents_proto_rawDesc = "" +
"\vnomad_agent\x18\x10 \x03(\v2\x18.inventory.v1.NomadAgentR\n" +
"nomadAgent\x12E\n" +
"\x0fvalkey_exporter\x18\x11 \x03(\v2\x1c.inventory.v1.ValkeyExporterR\x0evalkeyExporter\x12I\n" +
- "\x11rta_mongodb_agent\x18\x13 \x03(\v2\x1d.inventory.v1.RTAMongoDBAgentR\x0frtaMongodbAgent\"5\n" +
+ "\x11rta_mongodb_agent\x18\x13 \x03(\v2\x1d.inventory.v1.RTAMongoDBAgentR\x0frtaMongodbAgent\x12C\n" +
+ "\x0frta_mysql_agent\x18\x14 \x03(\v2\x1b.inventory.v1.RTAMySQLAgentR\rrtaMysqlAgent\"5\n" +
"\x0fGetAgentRequest\x12\"\n" +
- "\bagent_id\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10$R\aagentId\"\xc4\f\n" +
+ "\bagent_id\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10$R\aagentId\"\x8b\r\n" +
"\x10GetAgentResponse\x125\n" +
"\tpmm_agent\x18\x01 \x01(\v2\x16.inventory.v1.PMMAgentH\x00R\bpmmAgent\x121\n" +
"\avmagent\x18\x02 \x01(\v2\x15.inventory.v1.VMAgentH\x00R\avmagent\x12A\n" +
@@ -11504,14 +12049,15 @@ const file_inventory_v1_agents_proto_rawDesc = "" +
"\vnomad_agent\x18\x10 \x01(\v2\x18.inventory.v1.NomadAgentH\x00R\n" +
"nomadAgent\x12G\n" +
"\x0fvalkey_exporter\x18\x11 \x01(\v2\x1c.inventory.v1.ValkeyExporterH\x00R\x0evalkeyExporter\x12K\n" +
- "\x11rta_mongodb_agent\x18\x13 \x01(\v2\x1d.inventory.v1.RTAMongoDBAgentH\x00R\x0frtaMongodbAgentB\a\n" +
+ "\x11rta_mongodb_agent\x18\x13 \x01(\v2\x1d.inventory.v1.RTAMongoDBAgentH\x00R\x0frtaMongodbAgent\x12E\n" +
+ "\x0frta_mysql_agent\x18\x14 \x01(\v2\x1b.inventory.v1.RTAMySQLAgentH\x00R\rrtaMysqlAgentB\a\n" +
"\x05agent\"O\n" +
"\x13GetAgentLogsRequest\x12\"\n" +
"\bagent_id\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10$R\aagentId\x12\x14\n" +
"\x05limit\x18\x02 \x01(\rR\x05limit\"j\n" +
"\x14GetAgentLogsResponse\x12\x12\n" +
"\x04logs\x18\x01 \x03(\tR\x04logs\x12>\n" +
- "\x1cagent_config_log_lines_count\x18\x02 \x01(\rR\x18agentConfigLogLinesCount\"\xee\f\n" +
+ "\x1cagent_config_log_lines_count\x18\x02 \x01(\rR\x18agentConfigLogLinesCount\"\xbe\r\n" +
"\x0fAddAgentRequest\x12>\n" +
"\tpmm_agent\x18\x01 \x01(\v2\x1f.inventory.v1.AddPMMAgentParamsH\x00R\bpmmAgent\x12J\n" +
"\rnode_exporter\x18\x02 \x01(\v2#.inventory.v1.AddNodeExporterParamsH\x00R\fnodeExporter\x12P\n" +
@@ -11530,8 +12076,9 @@ const file_inventory_v1_agents_proto_rawDesc = "" +
"!qan_postgresql_pgstatements_agent\x18\r \x01(\v25.inventory.v1.AddQANPostgreSQLPgStatementsAgentParamsH\x00R\x1eqanPostgresqlPgstatementsAgent\x12\x85\x01\n" +
"\"qan_postgresql_pgstatmonitor_agent\x18\x0e \x01(\v26.inventory.v1.AddQANPostgreSQLPgStatMonitorAgentParamsH\x00R\x1fqanPostgresqlPgstatmonitorAgent\x12P\n" +
"\x0fvalkey_exporter\x18\x0f \x01(\v2%.inventory.v1.AddValkeyExporterParamsH\x00R\x0evalkeyExporter\x12T\n" +
- "\x11rta_mongodb_agent\x18\x11 \x01(\v2&.inventory.v1.AddRTAMongoDBAgentParamsH\x00R\x0frtaMongodbAgentB\a\n" +
- "\x05agent\"\xd4\v\n" +
+ "\x11rta_mongodb_agent\x18\x11 \x01(\v2&.inventory.v1.AddRTAMongoDBAgentParamsH\x00R\x0frtaMongodbAgent\x12N\n" +
+ "\x0frta_mysql_agent\x18\x12 \x01(\v2$.inventory.v1.AddRTAMySQLAgentParamsH\x00R\rrtaMysqlAgentB\a\n" +
+ "\x05agent\"\x9b\f\n" +
"\x10AddAgentResponse\x125\n" +
"\tpmm_agent\x18\x01 \x01(\v2\x16.inventory.v1.PMMAgentH\x00R\bpmmAgent\x12A\n" +
"\rnode_exporter\x18\x02 \x01(\v2\x1a.inventory.v1.NodeExporterH\x00R\fnodeExporter\x12G\n" +
@@ -11550,8 +12097,9 @@ const file_inventory_v1_agents_proto_rawDesc = "" +
"!qan_postgresql_pgstatements_agent\x18\r \x01(\v2,.inventory.v1.QANPostgreSQLPgStatementsAgentH\x00R\x1eqanPostgresqlPgstatementsAgent\x12|\n" +
"\"qan_postgresql_pgstatmonitor_agent\x18\x0e \x01(\v2-.inventory.v1.QANPostgreSQLPgStatMonitorAgentH\x00R\x1fqanPostgresqlPgstatmonitorAgent\x12G\n" +
"\x0fvalkey_exporter\x18\x0f \x01(\v2\x1c.inventory.v1.ValkeyExporterH\x00R\x0evalkeyExporter\x12K\n" +
- "\x11rta_mongodb_agent\x18\x11 \x01(\v2\x1d.inventory.v1.RTAMongoDBAgentH\x00R\x0frtaMongodbAgentB\a\n" +
- "\x05agent\"\xce\r\n" +
+ "\x11rta_mongodb_agent\x18\x11 \x01(\v2\x1d.inventory.v1.RTAMongoDBAgentH\x00R\x0frtaMongodbAgent\x12E\n" +
+ "\x0frta_mysql_agent\x18\x12 \x01(\v2\x1b.inventory.v1.RTAMySQLAgentH\x00R\rrtaMysqlAgentB\a\n" +
+ "\x05agent\"\xa1\x0e\n" +
"\x12ChangeAgentRequest\x12\"\n" +
"\bagent_id\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\aagentId\x12M\n" +
"\rnode_exporter\x18\x02 \x01(\v2&.inventory.v1.ChangeNodeExporterParamsH\x00R\fnodeExporter\x12S\n" +
@@ -11572,8 +12120,9 @@ const file_inventory_v1_agents_proto_rawDesc = "" +
"\vnomad_agent\x18\x0f \x01(\v2$.inventory.v1.ChangeNomadAgentParamsH\x00R\n" +
"nomadAgent\x12S\n" +
"\x0fvalkey_exporter\x18\x10 \x01(\v2(.inventory.v1.ChangeValkeyExporterParamsH\x00R\x0evalkeyExporter\x12W\n" +
- "\x11rta_mongodb_agent\x18\x12 \x01(\v2).inventory.v1.ChangeRTAMongoDBAgentParamsH\x00R\x0frtaMongodbAgentB\a\n" +
- "\x05agent\"\xdd\v\n" +
+ "\x11rta_mongodb_agent\x18\x12 \x01(\v2).inventory.v1.ChangeRTAMongoDBAgentParamsH\x00R\x0frtaMongodbAgent\x12Q\n" +
+ "\x0frta_mysql_agent\x18\x13 \x01(\v2'.inventory.v1.ChangeRTAMySQLAgentParamsH\x00R\rrtaMysqlAgentB\a\n" +
+ "\x05agent\"\xa4\f\n" +
"\x13ChangeAgentResponse\x12A\n" +
"\rnode_exporter\x18\x02 \x01(\v2\x1a.inventory.v1.NodeExporterH\x00R\fnodeExporter\x12G\n" +
"\x0fmysqld_exporter\x18\x03 \x01(\v2\x1c.inventory.v1.MySQLdExporterH\x00R\x0emysqldExporter\x12J\n" +
@@ -11593,7 +12142,8 @@ const file_inventory_v1_agents_proto_rawDesc = "" +
"\vnomad_agent\x18\x0f \x01(\v2\x18.inventory.v1.NomadAgentH\x00R\n" +
"nomadAgent\x12G\n" +
"\x0fvalkey_exporter\x18\x10 \x01(\v2\x1c.inventory.v1.ValkeyExporterH\x00R\x0evalkeyExporter\x12K\n" +
- "\x11rta_mongodb_agent\x18\x12 \x01(\v2\x1d.inventory.v1.RTAMongoDBAgentH\x00R\x0frtaMongodbAgentB\a\n" +
+ "\x11rta_mongodb_agent\x18\x12 \x01(\v2\x1d.inventory.v1.RTAMongoDBAgentH\x00R\x0frtaMongodbAgent\x12E\n" +
+ "\x0frta_mysql_agent\x18\x13 \x01(\v2\x1b.inventory.v1.RTAMySQLAgentH\x00R\rrtaMysqlAgentB\a\n" +
"\x05agent\"\xdc\x01\n" +
"\x11AddPMMAgentParams\x12.\n" +
"\x0fruns_on_node_id\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\frunsOnNodeId\x12V\n" +
@@ -12466,11 +13016,62 @@ const file_inventory_v1_agents_proto_rawDesc = "" +
"\a_tls_caB\x1b\n" +
"\x19_authentication_mechanismB\x0e\n" +
"\f_rta_optionsB\x18\n" +
+ "\x16_skip_connection_check\"\x82\x05\n" +
+ "\x16AddRTAMySQLAgentParams\x12)\n" +
+ "\fpmm_agent_id\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\n" +
+ "pmmAgentId\x12&\n" +
+ "\n" +
+ "service_id\x18\x02 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\tserviceId\x12 \n" +
+ "\busername\x18\x03 \x01(\tB\x04\x88\xb5\x18\x01R\busername\x12 \n" +
+ "\bpassword\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01R\bpassword\x12[\n" +
+ "\rcustom_labels\x18\x05 \x03(\v26.inventory.v1.AddRTAMySQLAgentParams.CustomLabelsEntryR\fcustomLabels\x123\n" +
+ "\tlog_level\x18\x06 \x01(\x0e2\x16.inventory.v1.LogLevelR\blogLevel\x12\x10\n" +
+ "\x03tls\x18\a \x01(\bR\x03tls\x12&\n" +
+ "\x0ftls_skip_verify\x18\b \x01(\bR\rtlsSkipVerify\x12\x15\n" +
+ "\x06tls_ca\x18\t \x01(\tR\x05tlsCa\x12\x1f\n" +
+ "\btls_cert\x18\n" +
+ " \x01(\tB\x04\x88\xb5\x18\x01R\atlsCert\x12\x1d\n" +
+ "\atls_key\x18\v \x01(\tB\x04\x88\xb5\x18\x01R\x06tlsKey\x122\n" +
+ "\x15skip_connection_check\x18\f \x01(\bR\x13skipConnectionCheck\x129\n" +
+ "\vrta_options\x18\r \x01(\v2\x18.inventory.v1.RTAOptionsR\n" +
+ "rtaOptions\x1a?\n" +
+ "\x11CustomLabelsEntry\x12\x10\n" +
+ "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
+ "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xcf\x05\n" +
+ "\x19ChangeRTAMySQLAgentParams\x12\x1b\n" +
+ "\x06enable\x18\x01 \x01(\bH\x00R\x06enable\x88\x01\x01\x12;\n" +
+ "\rcustom_labels\x18\x02 \x01(\v2\x11.common.StringMapH\x01R\fcustomLabels\x88\x01\x01\x128\n" +
+ "\tlog_level\x18\x03 \x01(\x0e2\x16.inventory.v1.LogLevelH\x02R\blogLevel\x88\x01\x01\x12%\n" +
+ "\busername\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01H\x03R\busername\x88\x01\x01\x12%\n" +
+ "\bpassword\x18\x05 \x01(\tB\x04\x88\xb5\x18\x01H\x04R\bpassword\x88\x01\x01\x12\x15\n" +
+ "\x03tls\x18\x06 \x01(\bH\x05R\x03tls\x88\x01\x01\x12+\n" +
+ "\x0ftls_skip_verify\x18\a \x01(\bH\x06R\rtlsSkipVerify\x88\x01\x01\x12\x1a\n" +
+ "\x06tls_ca\x18\b \x01(\tH\aR\x05tlsCa\x88\x01\x01\x12$\n" +
+ "\btls_cert\x18\t \x01(\tB\x04\x88\xb5\x18\x01H\bR\atlsCert\x88\x01\x01\x12\"\n" +
+ "\atls_key\x18\n" +
+ " \x01(\tB\x04\x88\xb5\x18\x01H\tR\x06tlsKey\x88\x01\x01\x12>\n" +
+ "\vrta_options\x18\v \x01(\v2\x18.inventory.v1.RTAOptionsH\n" +
+ "R\n" +
+ "rtaOptions\x88\x01\x01\x127\n" +
+ "\x15skip_connection_check\x18\f \x01(\bH\vR\x13skipConnectionCheck\x88\x01\x01B\t\n" +
+ "\a_enableB\x10\n" +
+ "\x0e_custom_labelsB\f\n" +
+ "\n" +
+ "_log_levelB\v\n" +
+ "\t_usernameB\v\n" +
+ "\t_passwordB\x06\n" +
+ "\x04_tlsB\x12\n" +
+ "\x10_tls_skip_verifyB\t\n" +
+ "\a_tls_caB\v\n" +
+ "\t_tls_certB\n" +
+ "\n" +
+ "\b_tls_keyB\x0e\n" +
+ "\f_rta_optionsB\x18\n" +
"\x16_skip_connection_check\"N\n" +
"\x12RemoveAgentRequest\x12\"\n" +
"\bagent_id\x18\x01 \x01(\tB\a\xfaB\x04r\x02\x10\x01R\aagentId\x12\x14\n" +
"\x05force\x18\x02 \x01(\bR\x05force\"\x15\n" +
- "\x13RemoveAgentResponse*\xd0\x05\n" +
+ "\x13RemoveAgentResponse*\xf0\x05\n" +
"\tAgentType\x12\x1a\n" +
"\x16AGENT_TYPE_UNSPECIFIED\x10\x00\x12\x18\n" +
"\x14AGENT_TYPE_PMM_AGENT\x10\x01\x12\x17\n" +
@@ -12492,7 +13093,8 @@ const file_inventory_v1_agents_proto_rawDesc = "" +
"\x17AGENT_TYPE_RDS_EXPORTER\x10\v\x12&\n" +
"\"AGENT_TYPE_AZURE_DATABASE_EXPORTER\x10\x0f\x12\x1a\n" +
"\x16AGENT_TYPE_NOMAD_AGENT\x10\x10\x12 \n" +
- "\x1cAGENT_TYPE_RTA_MONGODB_AGENT\x10\x132\x83\t\n" +
+ "\x1cAGENT_TYPE_RTA_MONGODB_AGENT\x10\x13\x12\x1e\n" +
+ "\x1aAGENT_TYPE_RTA_MYSQL_AGENT\x10\x142\x83\t\n" +
"\rAgentsService\x12\x9c\x01\n" +
"\n" +
"ListAgents\x12\x1f.inventory.v1.ListAgentsRequest\x1a .inventory.v1.ListAgentsResponse\"K\x92A,\x12\vList Agents\x1a\x1dReturns a list of all Agents.\x82\xd3\xe4\x93\x02\x16\x12\x14/v1/inventory/agents\x12\x9f\x01\n" +
@@ -12517,7 +13119,7 @@ func file_inventory_v1_agents_proto_rawDescGZIP() []byte {
var (
file_inventory_v1_agents_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
- file_inventory_v1_agents_proto_msgTypes = make([]protoimpl.MessageInfo, 107)
+ file_inventory_v1_agents_proto_msgTypes = make([]protoimpl.MessageInfo, 112)
file_inventory_v1_agents_proto_goTypes = []any{
AgentType(0), // 0: inventory.v1.AgentType
(*PMMAgent)(nil), // 1: inventory.v1.PMMAgent
@@ -12535,394 +13137,415 @@ var (
(*QANMongoDBMongologAgent)(nil), // 13: inventory.v1.QANMongoDBMongologAgent
(*RTAOptions)(nil), // 14: inventory.v1.RTAOptions
(*RTAMongoDBAgent)(nil), // 15: inventory.v1.RTAMongoDBAgent
- (*QANPostgreSQLPgStatementsAgent)(nil), // 16: inventory.v1.QANPostgreSQLPgStatementsAgent
- (*QANPostgreSQLPgStatMonitorAgent)(nil), // 17: inventory.v1.QANPostgreSQLPgStatMonitorAgent
- (*RDSExporter)(nil), // 18: inventory.v1.RDSExporter
- (*ExternalExporter)(nil), // 19: inventory.v1.ExternalExporter
- (*AzureDatabaseExporter)(nil), // 20: inventory.v1.AzureDatabaseExporter
- (*ChangeCommonAgentParams)(nil), // 21: inventory.v1.ChangeCommonAgentParams
- (*ListAgentsRequest)(nil), // 22: inventory.v1.ListAgentsRequest
- (*ListAgentsResponse)(nil), // 23: inventory.v1.ListAgentsResponse
- (*GetAgentRequest)(nil), // 24: inventory.v1.GetAgentRequest
- (*GetAgentResponse)(nil), // 25: inventory.v1.GetAgentResponse
- (*GetAgentLogsRequest)(nil), // 26: inventory.v1.GetAgentLogsRequest
- (*GetAgentLogsResponse)(nil), // 27: inventory.v1.GetAgentLogsResponse
- (*AddAgentRequest)(nil), // 28: inventory.v1.AddAgentRequest
- (*AddAgentResponse)(nil), // 29: inventory.v1.AddAgentResponse
- (*ChangeAgentRequest)(nil), // 30: inventory.v1.ChangeAgentRequest
- (*ChangeAgentResponse)(nil), // 31: inventory.v1.ChangeAgentResponse
- (*AddPMMAgentParams)(nil), // 32: inventory.v1.AddPMMAgentParams
- (*AddNodeExporterParams)(nil), // 33: inventory.v1.AddNodeExporterParams
- (*ChangeNodeExporterParams)(nil), // 34: inventory.v1.ChangeNodeExporterParams
- (*AddMySQLdExporterParams)(nil), // 35: inventory.v1.AddMySQLdExporterParams
- (*ChangeMySQLdExporterParams)(nil), // 36: inventory.v1.ChangeMySQLdExporterParams
- (*AddMongoDBExporterParams)(nil), // 37: inventory.v1.AddMongoDBExporterParams
- (*ChangeMongoDBExporterParams)(nil), // 38: inventory.v1.ChangeMongoDBExporterParams
- (*AddPostgresExporterParams)(nil), // 39: inventory.v1.AddPostgresExporterParams
- (*ChangePostgresExporterParams)(nil), // 40: inventory.v1.ChangePostgresExporterParams
- (*AddProxySQLExporterParams)(nil), // 41: inventory.v1.AddProxySQLExporterParams
- (*ChangeProxySQLExporterParams)(nil), // 42: inventory.v1.ChangeProxySQLExporterParams
- (*AddQANMySQLPerfSchemaAgentParams)(nil), // 43: inventory.v1.AddQANMySQLPerfSchemaAgentParams
- (*ChangeQANMySQLPerfSchemaAgentParams)(nil), // 44: inventory.v1.ChangeQANMySQLPerfSchemaAgentParams
- (*AddQANMySQLSlowlogAgentParams)(nil), // 45: inventory.v1.AddQANMySQLSlowlogAgentParams
- (*ChangeQANMySQLSlowlogAgentParams)(nil), // 46: inventory.v1.ChangeQANMySQLSlowlogAgentParams
- (*AddQANMongoDBProfilerAgentParams)(nil), // 47: inventory.v1.AddQANMongoDBProfilerAgentParams
- (*ChangeQANMongoDBProfilerAgentParams)(nil), // 48: inventory.v1.ChangeQANMongoDBProfilerAgentParams
- (*AddQANMongoDBMongologAgentParams)(nil), // 49: inventory.v1.AddQANMongoDBMongologAgentParams
- (*ChangeQANMongoDBMongologAgentParams)(nil), // 50: inventory.v1.ChangeQANMongoDBMongologAgentParams
- (*AddQANPostgreSQLPgStatementsAgentParams)(nil), // 51: inventory.v1.AddQANPostgreSQLPgStatementsAgentParams
- (*ChangeQANPostgreSQLPgStatementsAgentParams)(nil), // 52: inventory.v1.ChangeQANPostgreSQLPgStatementsAgentParams
- (*AddQANPostgreSQLPgStatMonitorAgentParams)(nil), // 53: inventory.v1.AddQANPostgreSQLPgStatMonitorAgentParams
- (*ChangeQANPostgreSQLPgStatMonitorAgentParams)(nil), // 54: inventory.v1.ChangeQANPostgreSQLPgStatMonitorAgentParams
- (*AddRDSExporterParams)(nil), // 55: inventory.v1.AddRDSExporterParams
- (*ChangeRDSExporterParams)(nil), // 56: inventory.v1.ChangeRDSExporterParams
- (*AddExternalExporterParams)(nil), // 57: inventory.v1.AddExternalExporterParams
- (*ChangeExternalExporterParams)(nil), // 58: inventory.v1.ChangeExternalExporterParams
- (*AddAzureDatabaseExporterParams)(nil), // 59: inventory.v1.AddAzureDatabaseExporterParams
- (*ChangeAzureDatabaseExporterParams)(nil), // 60: inventory.v1.ChangeAzureDatabaseExporterParams
- (*ChangeNomadAgentParams)(nil), // 61: inventory.v1.ChangeNomadAgentParams
- (*AddValkeyExporterParams)(nil), // 62: inventory.v1.AddValkeyExporterParams
- (*ChangeValkeyExporterParams)(nil), // 63: inventory.v1.ChangeValkeyExporterParams
- (*AddRTAMongoDBAgentParams)(nil), // 64: inventory.v1.AddRTAMongoDBAgentParams
- (*ChangeRTAMongoDBAgentParams)(nil), // 65: inventory.v1.ChangeRTAMongoDBAgentParams
- (*RemoveAgentRequest)(nil), // 66: inventory.v1.RemoveAgentRequest
- (*RemoveAgentResponse)(nil), // 67: inventory.v1.RemoveAgentResponse
- nil, // 68: inventory.v1.PMMAgent.CustomLabelsEntry
- nil, // 69: inventory.v1.NodeExporter.CustomLabelsEntry
- nil, // 70: inventory.v1.MySQLdExporter.CustomLabelsEntry
- nil, // 71: inventory.v1.MySQLdExporter.ExtraDsnParamsEntry
- nil, // 72: inventory.v1.MongoDBExporter.CustomLabelsEntry
- nil, // 73: inventory.v1.PostgresExporter.CustomLabelsEntry
- nil, // 74: inventory.v1.ProxySQLExporter.CustomLabelsEntry
- nil, // 75: inventory.v1.ValkeyExporter.CustomLabelsEntry
- nil, // 76: inventory.v1.QANMySQLPerfSchemaAgent.CustomLabelsEntry
- nil, // 77: inventory.v1.QANMySQLPerfSchemaAgent.ExtraDsnParamsEntry
- nil, // 78: inventory.v1.QANMySQLSlowlogAgent.CustomLabelsEntry
- nil, // 79: inventory.v1.QANMySQLSlowlogAgent.ExtraDsnParamsEntry
- nil, // 80: inventory.v1.QANMongoDBProfilerAgent.CustomLabelsEntry
- nil, // 81: inventory.v1.QANMongoDBMongologAgent.CustomLabelsEntry
- nil, // 82: inventory.v1.RTAMongoDBAgent.CustomLabelsEntry
- nil, // 83: inventory.v1.QANPostgreSQLPgStatementsAgent.CustomLabelsEntry
- nil, // 84: inventory.v1.QANPostgreSQLPgStatMonitorAgent.CustomLabelsEntry
- nil, // 85: inventory.v1.RDSExporter.CustomLabelsEntry
- nil, // 86: inventory.v1.ExternalExporter.CustomLabelsEntry
- nil, // 87: inventory.v1.AzureDatabaseExporter.CustomLabelsEntry
- nil, // 88: inventory.v1.AddPMMAgentParams.CustomLabelsEntry
- nil, // 89: inventory.v1.AddNodeExporterParams.CustomLabelsEntry
- nil, // 90: inventory.v1.AddMySQLdExporterParams.CustomLabelsEntry
- nil, // 91: inventory.v1.AddMySQLdExporterParams.ExtraDsnParamsEntry
- nil, // 92: inventory.v1.AddMongoDBExporterParams.CustomLabelsEntry
- nil, // 93: inventory.v1.AddPostgresExporterParams.CustomLabelsEntry
- nil, // 94: inventory.v1.AddProxySQLExporterParams.CustomLabelsEntry
- nil, // 95: inventory.v1.AddQANMySQLPerfSchemaAgentParams.CustomLabelsEntry
- nil, // 96: inventory.v1.AddQANMySQLPerfSchemaAgentParams.ExtraDsnParamsEntry
- nil, // 97: inventory.v1.AddQANMySQLSlowlogAgentParams.CustomLabelsEntry
- nil, // 98: inventory.v1.AddQANMySQLSlowlogAgentParams.ExtraDsnParamsEntry
- nil, // 99: inventory.v1.AddQANMongoDBProfilerAgentParams.CustomLabelsEntry
- nil, // 100: inventory.v1.AddQANMongoDBMongologAgentParams.CustomLabelsEntry
- nil, // 101: inventory.v1.AddQANPostgreSQLPgStatementsAgentParams.CustomLabelsEntry
- nil, // 102: inventory.v1.AddQANPostgreSQLPgStatMonitorAgentParams.CustomLabelsEntry
- nil, // 103: inventory.v1.AddRDSExporterParams.CustomLabelsEntry
- nil, // 104: inventory.v1.AddExternalExporterParams.CustomLabelsEntry
- nil, // 105: inventory.v1.AddAzureDatabaseExporterParams.CustomLabelsEntry
- nil, // 106: inventory.v1.AddValkeyExporterParams.CustomLabelsEntry
- nil, // 107: inventory.v1.AddRTAMongoDBAgentParams.CustomLabelsEntry
- AgentStatus(0), // 108: inventory.v1.AgentStatus
- LogLevel(0), // 109: inventory.v1.LogLevel
- (*common.MetricsResolutions)(nil), // 110: common.MetricsResolutions
- (*durationpb.Duration)(nil), // 111: google.protobuf.Duration
- (*common.StringMap)(nil), // 112: common.StringMap
+ (*RTAMySQLAgent)(nil), // 16: inventory.v1.RTAMySQLAgent
+ (*QANPostgreSQLPgStatementsAgent)(nil), // 17: inventory.v1.QANPostgreSQLPgStatementsAgent
+ (*QANPostgreSQLPgStatMonitorAgent)(nil), // 18: inventory.v1.QANPostgreSQLPgStatMonitorAgent
+ (*RDSExporter)(nil), // 19: inventory.v1.RDSExporter
+ (*ExternalExporter)(nil), // 20: inventory.v1.ExternalExporter
+ (*AzureDatabaseExporter)(nil), // 21: inventory.v1.AzureDatabaseExporter
+ (*ChangeCommonAgentParams)(nil), // 22: inventory.v1.ChangeCommonAgentParams
+ (*ListAgentsRequest)(nil), // 23: inventory.v1.ListAgentsRequest
+ (*ListAgentsResponse)(nil), // 24: inventory.v1.ListAgentsResponse
+ (*GetAgentRequest)(nil), // 25: inventory.v1.GetAgentRequest
+ (*GetAgentResponse)(nil), // 26: inventory.v1.GetAgentResponse
+ (*GetAgentLogsRequest)(nil), // 27: inventory.v1.GetAgentLogsRequest
+ (*GetAgentLogsResponse)(nil), // 28: inventory.v1.GetAgentLogsResponse
+ (*AddAgentRequest)(nil), // 29: inventory.v1.AddAgentRequest
+ (*AddAgentResponse)(nil), // 30: inventory.v1.AddAgentResponse
+ (*ChangeAgentRequest)(nil), // 31: inventory.v1.ChangeAgentRequest
+ (*ChangeAgentResponse)(nil), // 32: inventory.v1.ChangeAgentResponse
+ (*AddPMMAgentParams)(nil), // 33: inventory.v1.AddPMMAgentParams
+ (*AddNodeExporterParams)(nil), // 34: inventory.v1.AddNodeExporterParams
+ (*ChangeNodeExporterParams)(nil), // 35: inventory.v1.ChangeNodeExporterParams
+ (*AddMySQLdExporterParams)(nil), // 36: inventory.v1.AddMySQLdExporterParams
+ (*ChangeMySQLdExporterParams)(nil), // 37: inventory.v1.ChangeMySQLdExporterParams
+ (*AddMongoDBExporterParams)(nil), // 38: inventory.v1.AddMongoDBExporterParams
+ (*ChangeMongoDBExporterParams)(nil), // 39: inventory.v1.ChangeMongoDBExporterParams
+ (*AddPostgresExporterParams)(nil), // 40: inventory.v1.AddPostgresExporterParams
+ (*ChangePostgresExporterParams)(nil), // 41: inventory.v1.ChangePostgresExporterParams
+ (*AddProxySQLExporterParams)(nil), // 42: inventory.v1.AddProxySQLExporterParams
+ (*ChangeProxySQLExporterParams)(nil), // 43: inventory.v1.ChangeProxySQLExporterParams
+ (*AddQANMySQLPerfSchemaAgentParams)(nil), // 44: inventory.v1.AddQANMySQLPerfSchemaAgentParams
+ (*ChangeQANMySQLPerfSchemaAgentParams)(nil), // 45: inventory.v1.ChangeQANMySQLPerfSchemaAgentParams
+ (*AddQANMySQLSlowlogAgentParams)(nil), // 46: inventory.v1.AddQANMySQLSlowlogAgentParams
+ (*ChangeQANMySQLSlowlogAgentParams)(nil), // 47: inventory.v1.ChangeQANMySQLSlowlogAgentParams
+ (*AddQANMongoDBProfilerAgentParams)(nil), // 48: inventory.v1.AddQANMongoDBProfilerAgentParams
+ (*ChangeQANMongoDBProfilerAgentParams)(nil), // 49: inventory.v1.ChangeQANMongoDBProfilerAgentParams
+ (*AddQANMongoDBMongologAgentParams)(nil), // 50: inventory.v1.AddQANMongoDBMongologAgentParams
+ (*ChangeQANMongoDBMongologAgentParams)(nil), // 51: inventory.v1.ChangeQANMongoDBMongologAgentParams
+ (*AddQANPostgreSQLPgStatementsAgentParams)(nil), // 52: inventory.v1.AddQANPostgreSQLPgStatementsAgentParams
+ (*ChangeQANPostgreSQLPgStatementsAgentParams)(nil), // 53: inventory.v1.ChangeQANPostgreSQLPgStatementsAgentParams
+ (*AddQANPostgreSQLPgStatMonitorAgentParams)(nil), // 54: inventory.v1.AddQANPostgreSQLPgStatMonitorAgentParams
+ (*ChangeQANPostgreSQLPgStatMonitorAgentParams)(nil), // 55: inventory.v1.ChangeQANPostgreSQLPgStatMonitorAgentParams
+ (*AddRDSExporterParams)(nil), // 56: inventory.v1.AddRDSExporterParams
+ (*ChangeRDSExporterParams)(nil), // 57: inventory.v1.ChangeRDSExporterParams
+ (*AddExternalExporterParams)(nil), // 58: inventory.v1.AddExternalExporterParams
+ (*ChangeExternalExporterParams)(nil), // 59: inventory.v1.ChangeExternalExporterParams
+ (*AddAzureDatabaseExporterParams)(nil), // 60: inventory.v1.AddAzureDatabaseExporterParams
+ (*ChangeAzureDatabaseExporterParams)(nil), // 61: inventory.v1.ChangeAzureDatabaseExporterParams
+ (*ChangeNomadAgentParams)(nil), // 62: inventory.v1.ChangeNomadAgentParams
+ (*AddValkeyExporterParams)(nil), // 63: inventory.v1.AddValkeyExporterParams
+ (*ChangeValkeyExporterParams)(nil), // 64: inventory.v1.ChangeValkeyExporterParams
+ (*AddRTAMongoDBAgentParams)(nil), // 65: inventory.v1.AddRTAMongoDBAgentParams
+ (*ChangeRTAMongoDBAgentParams)(nil), // 66: inventory.v1.ChangeRTAMongoDBAgentParams
+ (*AddRTAMySQLAgentParams)(nil), // 67: inventory.v1.AddRTAMySQLAgentParams
+ (*ChangeRTAMySQLAgentParams)(nil), // 68: inventory.v1.ChangeRTAMySQLAgentParams
+ (*RemoveAgentRequest)(nil), // 69: inventory.v1.RemoveAgentRequest
+ (*RemoveAgentResponse)(nil), // 70: inventory.v1.RemoveAgentResponse
+ nil, // 71: inventory.v1.PMMAgent.CustomLabelsEntry
+ nil, // 72: inventory.v1.NodeExporter.CustomLabelsEntry
+ nil, // 73: inventory.v1.MySQLdExporter.CustomLabelsEntry
+ nil, // 74: inventory.v1.MySQLdExporter.ExtraDsnParamsEntry
+ nil, // 75: inventory.v1.MongoDBExporter.CustomLabelsEntry
+ nil, // 76: inventory.v1.PostgresExporter.CustomLabelsEntry
+ nil, // 77: inventory.v1.ProxySQLExporter.CustomLabelsEntry
+ nil, // 78: inventory.v1.ValkeyExporter.CustomLabelsEntry
+ nil, // 79: inventory.v1.QANMySQLPerfSchemaAgent.CustomLabelsEntry
+ nil, // 80: inventory.v1.QANMySQLPerfSchemaAgent.ExtraDsnParamsEntry
+ nil, // 81: inventory.v1.QANMySQLSlowlogAgent.CustomLabelsEntry
+ nil, // 82: inventory.v1.QANMySQLSlowlogAgent.ExtraDsnParamsEntry
+ nil, // 83: inventory.v1.QANMongoDBProfilerAgent.CustomLabelsEntry
+ nil, // 84: inventory.v1.QANMongoDBMongologAgent.CustomLabelsEntry
+ nil, // 85: inventory.v1.RTAMongoDBAgent.CustomLabelsEntry
+ nil, // 86: inventory.v1.RTAMySQLAgent.CustomLabelsEntry
+ nil, // 87: inventory.v1.QANPostgreSQLPgStatementsAgent.CustomLabelsEntry
+ nil, // 88: inventory.v1.QANPostgreSQLPgStatMonitorAgent.CustomLabelsEntry
+ nil, // 89: inventory.v1.RDSExporter.CustomLabelsEntry
+ nil, // 90: inventory.v1.ExternalExporter.CustomLabelsEntry
+ nil, // 91: inventory.v1.AzureDatabaseExporter.CustomLabelsEntry
+ nil, // 92: inventory.v1.AddPMMAgentParams.CustomLabelsEntry
+ nil, // 93: inventory.v1.AddNodeExporterParams.CustomLabelsEntry
+ nil, // 94: inventory.v1.AddMySQLdExporterParams.CustomLabelsEntry
+ nil, // 95: inventory.v1.AddMySQLdExporterParams.ExtraDsnParamsEntry
+ nil, // 96: inventory.v1.AddMongoDBExporterParams.CustomLabelsEntry
+ nil, // 97: inventory.v1.AddPostgresExporterParams.CustomLabelsEntry
+ nil, // 98: inventory.v1.AddProxySQLExporterParams.CustomLabelsEntry
+ nil, // 99: inventory.v1.AddQANMySQLPerfSchemaAgentParams.CustomLabelsEntry
+ nil, // 100: inventory.v1.AddQANMySQLPerfSchemaAgentParams.ExtraDsnParamsEntry
+ nil, // 101: inventory.v1.AddQANMySQLSlowlogAgentParams.CustomLabelsEntry
+ nil, // 102: inventory.v1.AddQANMySQLSlowlogAgentParams.ExtraDsnParamsEntry
+ nil, // 103: inventory.v1.AddQANMongoDBProfilerAgentParams.CustomLabelsEntry
+ nil, // 104: inventory.v1.AddQANMongoDBMongologAgentParams.CustomLabelsEntry
+ nil, // 105: inventory.v1.AddQANPostgreSQLPgStatementsAgentParams.CustomLabelsEntry
+ nil, // 106: inventory.v1.AddQANPostgreSQLPgStatMonitorAgentParams.CustomLabelsEntry
+ nil, // 107: inventory.v1.AddRDSExporterParams.CustomLabelsEntry
+ nil, // 108: inventory.v1.AddExternalExporterParams.CustomLabelsEntry
+ nil, // 109: inventory.v1.AddAzureDatabaseExporterParams.CustomLabelsEntry
+ nil, // 110: inventory.v1.AddValkeyExporterParams.CustomLabelsEntry
+ nil, // 111: inventory.v1.AddRTAMongoDBAgentParams.CustomLabelsEntry
+ nil, // 112: inventory.v1.AddRTAMySQLAgentParams.CustomLabelsEntry
+ AgentStatus(0), // 113: inventory.v1.AgentStatus
+ LogLevel(0), // 114: inventory.v1.LogLevel
+ (*common.MetricsResolutions)(nil), // 115: common.MetricsResolutions
+ (*durationpb.Duration)(nil), // 116: google.protobuf.Duration
+ (*common.StringMap)(nil), // 117: common.StringMap
}
)
var file_inventory_v1_agents_proto_depIdxs = []int32{
- 68, // 0: inventory.v1.PMMAgent.custom_labels:type_name -> inventory.v1.PMMAgent.CustomLabelsEntry
- 108, // 1: inventory.v1.VMAgent.status:type_name -> inventory.v1.AgentStatus
- 108, // 2: inventory.v1.NomadAgent.status:type_name -> inventory.v1.AgentStatus
- 69, // 3: inventory.v1.NodeExporter.custom_labels:type_name -> inventory.v1.NodeExporter.CustomLabelsEntry
- 108, // 4: inventory.v1.NodeExporter.status:type_name -> inventory.v1.AgentStatus
- 109, // 5: inventory.v1.NodeExporter.log_level:type_name -> inventory.v1.LogLevel
- 110, // 6: inventory.v1.NodeExporter.metrics_resolutions:type_name -> common.MetricsResolutions
- 70, // 7: inventory.v1.MySQLdExporter.custom_labels:type_name -> inventory.v1.MySQLdExporter.CustomLabelsEntry
- 108, // 8: inventory.v1.MySQLdExporter.status:type_name -> inventory.v1.AgentStatus
- 109, // 9: inventory.v1.MySQLdExporter.log_level:type_name -> inventory.v1.LogLevel
- 110, // 10: inventory.v1.MySQLdExporter.metrics_resolutions:type_name -> common.MetricsResolutions
- 71, // 11: inventory.v1.MySQLdExporter.extra_dsn_params:type_name -> inventory.v1.MySQLdExporter.ExtraDsnParamsEntry
- 111, // 12: inventory.v1.MySQLdExporter.connection_timeout:type_name -> google.protobuf.Duration
- 72, // 13: inventory.v1.MongoDBExporter.custom_labels:type_name -> inventory.v1.MongoDBExporter.CustomLabelsEntry
- 108, // 14: inventory.v1.MongoDBExporter.status:type_name -> inventory.v1.AgentStatus
- 109, // 15: inventory.v1.MongoDBExporter.log_level:type_name -> inventory.v1.LogLevel
- 110, // 16: inventory.v1.MongoDBExporter.metrics_resolutions:type_name -> common.MetricsResolutions
- 111, // 17: inventory.v1.MongoDBExporter.connection_timeout:type_name -> google.protobuf.Duration
- 73, // 18: inventory.v1.PostgresExporter.custom_labels:type_name -> inventory.v1.PostgresExporter.CustomLabelsEntry
- 108, // 19: inventory.v1.PostgresExporter.status:type_name -> inventory.v1.AgentStatus
- 109, // 20: inventory.v1.PostgresExporter.log_level:type_name -> inventory.v1.LogLevel
- 110, // 21: inventory.v1.PostgresExporter.metrics_resolutions:type_name -> common.MetricsResolutions
- 111, // 22: inventory.v1.PostgresExporter.connection_timeout:type_name -> google.protobuf.Duration
- 74, // 23: inventory.v1.ProxySQLExporter.custom_labels:type_name -> inventory.v1.ProxySQLExporter.CustomLabelsEntry
- 108, // 24: inventory.v1.ProxySQLExporter.status:type_name -> inventory.v1.AgentStatus
- 109, // 25: inventory.v1.ProxySQLExporter.log_level:type_name -> inventory.v1.LogLevel
- 110, // 26: inventory.v1.ProxySQLExporter.metrics_resolutions:type_name -> common.MetricsResolutions
- 111, // 27: inventory.v1.ProxySQLExporter.connection_timeout:type_name -> google.protobuf.Duration
- 75, // 28: inventory.v1.ValkeyExporter.custom_labels:type_name -> inventory.v1.ValkeyExporter.CustomLabelsEntry
- 108, // 29: inventory.v1.ValkeyExporter.status:type_name -> inventory.v1.AgentStatus
- 110, // 30: inventory.v1.ValkeyExporter.metrics_resolutions:type_name -> common.MetricsResolutions
- 111, // 31: inventory.v1.ValkeyExporter.connection_timeout:type_name -> google.protobuf.Duration
- 76, // 32: inventory.v1.QANMySQLPerfSchemaAgent.custom_labels:type_name -> inventory.v1.QANMySQLPerfSchemaAgent.CustomLabelsEntry
- 108, // 33: inventory.v1.QANMySQLPerfSchemaAgent.status:type_name -> inventory.v1.AgentStatus
- 109, // 34: inventory.v1.QANMySQLPerfSchemaAgent.log_level:type_name -> inventory.v1.LogLevel
- 77, // 35: inventory.v1.QANMySQLPerfSchemaAgent.extra_dsn_params:type_name -> inventory.v1.QANMySQLPerfSchemaAgent.ExtraDsnParamsEntry
- 78, // 36: inventory.v1.QANMySQLSlowlogAgent.custom_labels:type_name -> inventory.v1.QANMySQLSlowlogAgent.CustomLabelsEntry
- 108, // 37: inventory.v1.QANMySQLSlowlogAgent.status:type_name -> inventory.v1.AgentStatus
- 109, // 38: inventory.v1.QANMySQLSlowlogAgent.log_level:type_name -> inventory.v1.LogLevel
- 79, // 39: inventory.v1.QANMySQLSlowlogAgent.extra_dsn_params:type_name -> inventory.v1.QANMySQLSlowlogAgent.ExtraDsnParamsEntry
- 80, // 40: inventory.v1.QANMongoDBProfilerAgent.custom_labels:type_name -> inventory.v1.QANMongoDBProfilerAgent.CustomLabelsEntry
- 108, // 41: inventory.v1.QANMongoDBProfilerAgent.status:type_name -> inventory.v1.AgentStatus
- 109, // 42: inventory.v1.QANMongoDBProfilerAgent.log_level:type_name -> inventory.v1.LogLevel
- 81, // 43: inventory.v1.QANMongoDBMongologAgent.custom_labels:type_name -> inventory.v1.QANMongoDBMongologAgent.CustomLabelsEntry
- 108, // 44: inventory.v1.QANMongoDBMongologAgent.status:type_name -> inventory.v1.AgentStatus
- 109, // 45: inventory.v1.QANMongoDBMongologAgent.log_level:type_name -> inventory.v1.LogLevel
- 111, // 46: inventory.v1.RTAOptions.collect_interval:type_name -> google.protobuf.Duration
- 82, // 47: inventory.v1.RTAMongoDBAgent.custom_labels:type_name -> inventory.v1.RTAMongoDBAgent.CustomLabelsEntry
+ 71, // 0: inventory.v1.PMMAgent.custom_labels:type_name -> inventory.v1.PMMAgent.CustomLabelsEntry
+ 113, // 1: inventory.v1.VMAgent.status:type_name -> inventory.v1.AgentStatus
+ 113, // 2: inventory.v1.NomadAgent.status:type_name -> inventory.v1.AgentStatus
+ 72, // 3: inventory.v1.NodeExporter.custom_labels:type_name -> inventory.v1.NodeExporter.CustomLabelsEntry
+ 113, // 4: inventory.v1.NodeExporter.status:type_name -> inventory.v1.AgentStatus
+ 114, // 5: inventory.v1.NodeExporter.log_level:type_name -> inventory.v1.LogLevel
+ 115, // 6: inventory.v1.NodeExporter.metrics_resolutions:type_name -> common.MetricsResolutions
+ 73, // 7: inventory.v1.MySQLdExporter.custom_labels:type_name -> inventory.v1.MySQLdExporter.CustomLabelsEntry
+ 113, // 8: inventory.v1.MySQLdExporter.status:type_name -> inventory.v1.AgentStatus
+ 114, // 9: inventory.v1.MySQLdExporter.log_level:type_name -> inventory.v1.LogLevel
+ 115, // 10: inventory.v1.MySQLdExporter.metrics_resolutions:type_name -> common.MetricsResolutions
+ 74, // 11: inventory.v1.MySQLdExporter.extra_dsn_params:type_name -> inventory.v1.MySQLdExporter.ExtraDsnParamsEntry
+ 116, // 12: inventory.v1.MySQLdExporter.connection_timeout:type_name -> google.protobuf.Duration
+ 75, // 13: inventory.v1.MongoDBExporter.custom_labels:type_name -> inventory.v1.MongoDBExporter.CustomLabelsEntry
+ 113, // 14: inventory.v1.MongoDBExporter.status:type_name -> inventory.v1.AgentStatus
+ 114, // 15: inventory.v1.MongoDBExporter.log_level:type_name -> inventory.v1.LogLevel
+ 115, // 16: inventory.v1.MongoDBExporter.metrics_resolutions:type_name -> common.MetricsResolutions
+ 116, // 17: inventory.v1.MongoDBExporter.connection_timeout:type_name -> google.protobuf.Duration
+ 76, // 18: inventory.v1.PostgresExporter.custom_labels:type_name -> inventory.v1.PostgresExporter.CustomLabelsEntry
+ 113, // 19: inventory.v1.PostgresExporter.status:type_name -> inventory.v1.AgentStatus
+ 114, // 20: inventory.v1.PostgresExporter.log_level:type_name -> inventory.v1.LogLevel
+ 115, // 21: inventory.v1.PostgresExporter.metrics_resolutions:type_name -> common.MetricsResolutions
+ 116, // 22: inventory.v1.PostgresExporter.connection_timeout:type_name -> google.protobuf.Duration
+ 77, // 23: inventory.v1.ProxySQLExporter.custom_labels:type_name -> inventory.v1.ProxySQLExporter.CustomLabelsEntry
+ 113, // 24: inventory.v1.ProxySQLExporter.status:type_name -> inventory.v1.AgentStatus
+ 114, // 25: inventory.v1.ProxySQLExporter.log_level:type_name -> inventory.v1.LogLevel
+ 115, // 26: inventory.v1.ProxySQLExporter.metrics_resolutions:type_name -> common.MetricsResolutions
+ 116, // 27: inventory.v1.ProxySQLExporter.connection_timeout:type_name -> google.protobuf.Duration
+ 78, // 28: inventory.v1.ValkeyExporter.custom_labels:type_name -> inventory.v1.ValkeyExporter.CustomLabelsEntry
+ 113, // 29: inventory.v1.ValkeyExporter.status:type_name -> inventory.v1.AgentStatus
+ 115, // 30: inventory.v1.ValkeyExporter.metrics_resolutions:type_name -> common.MetricsResolutions
+ 116, // 31: inventory.v1.ValkeyExporter.connection_timeout:type_name -> google.protobuf.Duration
+ 79, // 32: inventory.v1.QANMySQLPerfSchemaAgent.custom_labels:type_name -> inventory.v1.QANMySQLPerfSchemaAgent.CustomLabelsEntry
+ 113, // 33: inventory.v1.QANMySQLPerfSchemaAgent.status:type_name -> inventory.v1.AgentStatus
+ 114, // 34: inventory.v1.QANMySQLPerfSchemaAgent.log_level:type_name -> inventory.v1.LogLevel
+ 80, // 35: inventory.v1.QANMySQLPerfSchemaAgent.extra_dsn_params:type_name -> inventory.v1.QANMySQLPerfSchemaAgent.ExtraDsnParamsEntry
+ 81, // 36: inventory.v1.QANMySQLSlowlogAgent.custom_labels:type_name -> inventory.v1.QANMySQLSlowlogAgent.CustomLabelsEntry
+ 113, // 37: inventory.v1.QANMySQLSlowlogAgent.status:type_name -> inventory.v1.AgentStatus
+ 114, // 38: inventory.v1.QANMySQLSlowlogAgent.log_level:type_name -> inventory.v1.LogLevel
+ 82, // 39: inventory.v1.QANMySQLSlowlogAgent.extra_dsn_params:type_name -> inventory.v1.QANMySQLSlowlogAgent.ExtraDsnParamsEntry
+ 83, // 40: inventory.v1.QANMongoDBProfilerAgent.custom_labels:type_name -> inventory.v1.QANMongoDBProfilerAgent.CustomLabelsEntry
+ 113, // 41: inventory.v1.QANMongoDBProfilerAgent.status:type_name -> inventory.v1.AgentStatus
+ 114, // 42: inventory.v1.QANMongoDBProfilerAgent.log_level:type_name -> inventory.v1.LogLevel
+ 84, // 43: inventory.v1.QANMongoDBMongologAgent.custom_labels:type_name -> inventory.v1.QANMongoDBMongologAgent.CustomLabelsEntry
+ 113, // 44: inventory.v1.QANMongoDBMongologAgent.status:type_name -> inventory.v1.AgentStatus
+ 114, // 45: inventory.v1.QANMongoDBMongologAgent.log_level:type_name -> inventory.v1.LogLevel
+ 116, // 46: inventory.v1.RTAOptions.collect_interval:type_name -> google.protobuf.Duration
+ 85, // 47: inventory.v1.RTAMongoDBAgent.custom_labels:type_name -> inventory.v1.RTAMongoDBAgent.CustomLabelsEntry
14, // 48: inventory.v1.RTAMongoDBAgent.rta_options:type_name -> inventory.v1.RTAOptions
- 108, // 49: inventory.v1.RTAMongoDBAgent.status:type_name -> inventory.v1.AgentStatus
- 109, // 50: inventory.v1.RTAMongoDBAgent.log_level:type_name -> inventory.v1.LogLevel
- 83, // 51: inventory.v1.QANPostgreSQLPgStatementsAgent.custom_labels:type_name -> inventory.v1.QANPostgreSQLPgStatementsAgent.CustomLabelsEntry
- 108, // 52: inventory.v1.QANPostgreSQLPgStatementsAgent.status:type_name -> inventory.v1.AgentStatus
- 109, // 53: inventory.v1.QANPostgreSQLPgStatementsAgent.log_level:type_name -> inventory.v1.LogLevel
- 84, // 54: inventory.v1.QANPostgreSQLPgStatMonitorAgent.custom_labels:type_name -> inventory.v1.QANPostgreSQLPgStatMonitorAgent.CustomLabelsEntry
- 108, // 55: inventory.v1.QANPostgreSQLPgStatMonitorAgent.status:type_name -> inventory.v1.AgentStatus
- 109, // 56: inventory.v1.QANPostgreSQLPgStatMonitorAgent.log_level:type_name -> inventory.v1.LogLevel
- 85, // 57: inventory.v1.RDSExporter.custom_labels:type_name -> inventory.v1.RDSExporter.CustomLabelsEntry
- 108, // 58: inventory.v1.RDSExporter.status:type_name -> inventory.v1.AgentStatus
- 109, // 59: inventory.v1.RDSExporter.log_level:type_name -> inventory.v1.LogLevel
- 110, // 60: inventory.v1.RDSExporter.metrics_resolutions:type_name -> common.MetricsResolutions
- 86, // 61: inventory.v1.ExternalExporter.custom_labels:type_name -> inventory.v1.ExternalExporter.CustomLabelsEntry
- 110, // 62: inventory.v1.ExternalExporter.metrics_resolutions:type_name -> common.MetricsResolutions
- 108, // 63: inventory.v1.ExternalExporter.status:type_name -> inventory.v1.AgentStatus
- 87, // 64: inventory.v1.AzureDatabaseExporter.custom_labels:type_name -> inventory.v1.AzureDatabaseExporter.CustomLabelsEntry
- 108, // 65: inventory.v1.AzureDatabaseExporter.status:type_name -> inventory.v1.AgentStatus
- 109, // 66: inventory.v1.AzureDatabaseExporter.log_level:type_name -> inventory.v1.LogLevel
- 110, // 67: inventory.v1.AzureDatabaseExporter.metrics_resolutions:type_name -> common.MetricsResolutions
- 112, // 68: inventory.v1.ChangeCommonAgentParams.custom_labels:type_name -> common.StringMap
- 110, // 69: inventory.v1.ChangeCommonAgentParams.metrics_resolutions:type_name -> common.MetricsResolutions
- 0, // 70: inventory.v1.ListAgentsRequest.agent_type:type_name -> inventory.v1.AgentType
- 1, // 71: inventory.v1.ListAgentsResponse.pmm_agent:type_name -> inventory.v1.PMMAgent
- 2, // 72: inventory.v1.ListAgentsResponse.vm_agent:type_name -> inventory.v1.VMAgent
- 4, // 73: inventory.v1.ListAgentsResponse.node_exporter:type_name -> inventory.v1.NodeExporter
- 5, // 74: inventory.v1.ListAgentsResponse.mysqld_exporter:type_name -> inventory.v1.MySQLdExporter
- 6, // 75: inventory.v1.ListAgentsResponse.mongodb_exporter:type_name -> inventory.v1.MongoDBExporter
- 7, // 76: inventory.v1.ListAgentsResponse.postgres_exporter:type_name -> inventory.v1.PostgresExporter
- 8, // 77: inventory.v1.ListAgentsResponse.proxysql_exporter:type_name -> inventory.v1.ProxySQLExporter
- 10, // 78: inventory.v1.ListAgentsResponse.qan_mysql_perfschema_agent:type_name -> inventory.v1.QANMySQLPerfSchemaAgent
- 11, // 79: inventory.v1.ListAgentsResponse.qan_mysql_slowlog_agent:type_name -> inventory.v1.QANMySQLSlowlogAgent
- 12, // 80: inventory.v1.ListAgentsResponse.qan_mongodb_profiler_agent:type_name -> inventory.v1.QANMongoDBProfilerAgent
- 13, // 81: inventory.v1.ListAgentsResponse.qan_mongodb_mongolog_agent:type_name -> inventory.v1.QANMongoDBMongologAgent
- 16, // 82: inventory.v1.ListAgentsResponse.qan_postgresql_pgstatements_agent:type_name -> inventory.v1.QANPostgreSQLPgStatementsAgent
- 17, // 83: inventory.v1.ListAgentsResponse.qan_postgresql_pgstatmonitor_agent:type_name -> inventory.v1.QANPostgreSQLPgStatMonitorAgent
- 19, // 84: inventory.v1.ListAgentsResponse.external_exporter:type_name -> inventory.v1.ExternalExporter
- 18, // 85: inventory.v1.ListAgentsResponse.rds_exporter:type_name -> inventory.v1.RDSExporter
- 20, // 86: inventory.v1.ListAgentsResponse.azure_database_exporter:type_name -> inventory.v1.AzureDatabaseExporter
- 3, // 87: inventory.v1.ListAgentsResponse.nomad_agent:type_name -> inventory.v1.NomadAgent
- 9, // 88: inventory.v1.ListAgentsResponse.valkey_exporter:type_name -> inventory.v1.ValkeyExporter
- 15, // 89: inventory.v1.ListAgentsResponse.rta_mongodb_agent:type_name -> inventory.v1.RTAMongoDBAgent
- 1, // 90: inventory.v1.GetAgentResponse.pmm_agent:type_name -> inventory.v1.PMMAgent
- 2, // 91: inventory.v1.GetAgentResponse.vmagent:type_name -> inventory.v1.VMAgent
- 4, // 92: inventory.v1.GetAgentResponse.node_exporter:type_name -> inventory.v1.NodeExporter
- 5, // 93: inventory.v1.GetAgentResponse.mysqld_exporter:type_name -> inventory.v1.MySQLdExporter
- 6, // 94: inventory.v1.GetAgentResponse.mongodb_exporter:type_name -> inventory.v1.MongoDBExporter
- 7, // 95: inventory.v1.GetAgentResponse.postgres_exporter:type_name -> inventory.v1.PostgresExporter
- 8, // 96: inventory.v1.GetAgentResponse.proxysql_exporter:type_name -> inventory.v1.ProxySQLExporter
- 10, // 97: inventory.v1.GetAgentResponse.qan_mysql_perfschema_agent:type_name -> inventory.v1.QANMySQLPerfSchemaAgent
- 11, // 98: inventory.v1.GetAgentResponse.qan_mysql_slowlog_agent:type_name -> inventory.v1.QANMySQLSlowlogAgent
- 12, // 99: inventory.v1.GetAgentResponse.qan_mongodb_profiler_agent:type_name -> inventory.v1.QANMongoDBProfilerAgent
- 13, // 100: inventory.v1.GetAgentResponse.qan_mongodb_mongolog_agent:type_name -> inventory.v1.QANMongoDBMongologAgent
- 16, // 101: inventory.v1.GetAgentResponse.qan_postgresql_pgstatements_agent:type_name -> inventory.v1.QANPostgreSQLPgStatementsAgent
- 17, // 102: inventory.v1.GetAgentResponse.qan_postgresql_pgstatmonitor_agent:type_name -> inventory.v1.QANPostgreSQLPgStatMonitorAgent
- 19, // 103: inventory.v1.GetAgentResponse.external_exporter:type_name -> inventory.v1.ExternalExporter
- 18, // 104: inventory.v1.GetAgentResponse.rds_exporter:type_name -> inventory.v1.RDSExporter
- 20, // 105: inventory.v1.GetAgentResponse.azure_database_exporter:type_name -> inventory.v1.AzureDatabaseExporter
- 3, // 106: inventory.v1.GetAgentResponse.nomad_agent:type_name -> inventory.v1.NomadAgent
- 9, // 107: inventory.v1.GetAgentResponse.valkey_exporter:type_name -> inventory.v1.ValkeyExporter
- 15, // 108: inventory.v1.GetAgentResponse.rta_mongodb_agent:type_name -> inventory.v1.RTAMongoDBAgent
- 32, // 109: inventory.v1.AddAgentRequest.pmm_agent:type_name -> inventory.v1.AddPMMAgentParams
- 33, // 110: inventory.v1.AddAgentRequest.node_exporter:type_name -> inventory.v1.AddNodeExporterParams
- 35, // 111: inventory.v1.AddAgentRequest.mysqld_exporter:type_name -> inventory.v1.AddMySQLdExporterParams
- 37, // 112: inventory.v1.AddAgentRequest.mongodb_exporter:type_name -> inventory.v1.AddMongoDBExporterParams
- 39, // 113: inventory.v1.AddAgentRequest.postgres_exporter:type_name -> inventory.v1.AddPostgresExporterParams
- 41, // 114: inventory.v1.AddAgentRequest.proxysql_exporter:type_name -> inventory.v1.AddProxySQLExporterParams
- 57, // 115: inventory.v1.AddAgentRequest.external_exporter:type_name -> inventory.v1.AddExternalExporterParams
- 55, // 116: inventory.v1.AddAgentRequest.rds_exporter:type_name -> inventory.v1.AddRDSExporterParams
- 59, // 117: inventory.v1.AddAgentRequest.azure_database_exporter:type_name -> inventory.v1.AddAzureDatabaseExporterParams
- 43, // 118: inventory.v1.AddAgentRequest.qan_mysql_perfschema_agent:type_name -> inventory.v1.AddQANMySQLPerfSchemaAgentParams
- 45, // 119: inventory.v1.AddAgentRequest.qan_mysql_slowlog_agent:type_name -> inventory.v1.AddQANMySQLSlowlogAgentParams
- 47, // 120: inventory.v1.AddAgentRequest.qan_mongodb_profiler_agent:type_name -> inventory.v1.AddQANMongoDBProfilerAgentParams
- 49, // 121: inventory.v1.AddAgentRequest.qan_mongodb_mongolog_agent:type_name -> inventory.v1.AddQANMongoDBMongologAgentParams
- 51, // 122: inventory.v1.AddAgentRequest.qan_postgresql_pgstatements_agent:type_name -> inventory.v1.AddQANPostgreSQLPgStatementsAgentParams
- 53, // 123: inventory.v1.AddAgentRequest.qan_postgresql_pgstatmonitor_agent:type_name -> inventory.v1.AddQANPostgreSQLPgStatMonitorAgentParams
- 62, // 124: inventory.v1.AddAgentRequest.valkey_exporter:type_name -> inventory.v1.AddValkeyExporterParams
- 64, // 125: inventory.v1.AddAgentRequest.rta_mongodb_agent:type_name -> inventory.v1.AddRTAMongoDBAgentParams
- 1, // 126: inventory.v1.AddAgentResponse.pmm_agent:type_name -> inventory.v1.PMMAgent
- 4, // 127: inventory.v1.AddAgentResponse.node_exporter:type_name -> inventory.v1.NodeExporter
- 5, // 128: inventory.v1.AddAgentResponse.mysqld_exporter:type_name -> inventory.v1.MySQLdExporter
- 6, // 129: inventory.v1.AddAgentResponse.mongodb_exporter:type_name -> inventory.v1.MongoDBExporter
- 7, // 130: inventory.v1.AddAgentResponse.postgres_exporter:type_name -> inventory.v1.PostgresExporter
- 8, // 131: inventory.v1.AddAgentResponse.proxysql_exporter:type_name -> inventory.v1.ProxySQLExporter
- 19, // 132: inventory.v1.AddAgentResponse.external_exporter:type_name -> inventory.v1.ExternalExporter
- 18, // 133: inventory.v1.AddAgentResponse.rds_exporter:type_name -> inventory.v1.RDSExporter
- 20, // 134: inventory.v1.AddAgentResponse.azure_database_exporter:type_name -> inventory.v1.AzureDatabaseExporter
- 10, // 135: inventory.v1.AddAgentResponse.qan_mysql_perfschema_agent:type_name -> inventory.v1.QANMySQLPerfSchemaAgent
- 11, // 136: inventory.v1.AddAgentResponse.qan_mysql_slowlog_agent:type_name -> inventory.v1.QANMySQLSlowlogAgent
- 12, // 137: inventory.v1.AddAgentResponse.qan_mongodb_profiler_agent:type_name -> inventory.v1.QANMongoDBProfilerAgent
- 13, // 138: inventory.v1.AddAgentResponse.qan_mongodb_mongolog_agent:type_name -> inventory.v1.QANMongoDBMongologAgent
- 16, // 139: inventory.v1.AddAgentResponse.qan_postgresql_pgstatements_agent:type_name -> inventory.v1.QANPostgreSQLPgStatementsAgent
- 17, // 140: inventory.v1.AddAgentResponse.qan_postgresql_pgstatmonitor_agent:type_name -> inventory.v1.QANPostgreSQLPgStatMonitorAgent
- 9, // 141: inventory.v1.AddAgentResponse.valkey_exporter:type_name -> inventory.v1.ValkeyExporter
- 15, // 142: inventory.v1.AddAgentResponse.rta_mongodb_agent:type_name -> inventory.v1.RTAMongoDBAgent
- 34, // 143: inventory.v1.ChangeAgentRequest.node_exporter:type_name -> inventory.v1.ChangeNodeExporterParams
- 36, // 144: inventory.v1.ChangeAgentRequest.mysqld_exporter:type_name -> inventory.v1.ChangeMySQLdExporterParams
- 38, // 145: inventory.v1.ChangeAgentRequest.mongodb_exporter:type_name -> inventory.v1.ChangeMongoDBExporterParams
- 40, // 146: inventory.v1.ChangeAgentRequest.postgres_exporter:type_name -> inventory.v1.ChangePostgresExporterParams
- 42, // 147: inventory.v1.ChangeAgentRequest.proxysql_exporter:type_name -> inventory.v1.ChangeProxySQLExporterParams
- 58, // 148: inventory.v1.ChangeAgentRequest.external_exporter:type_name -> inventory.v1.ChangeExternalExporterParams
- 56, // 149: inventory.v1.ChangeAgentRequest.rds_exporter:type_name -> inventory.v1.ChangeRDSExporterParams
- 60, // 150: inventory.v1.ChangeAgentRequest.azure_database_exporter:type_name -> inventory.v1.ChangeAzureDatabaseExporterParams
- 44, // 151: inventory.v1.ChangeAgentRequest.qan_mysql_perfschema_agent:type_name -> inventory.v1.ChangeQANMySQLPerfSchemaAgentParams
- 46, // 152: inventory.v1.ChangeAgentRequest.qan_mysql_slowlog_agent:type_name -> inventory.v1.ChangeQANMySQLSlowlogAgentParams
- 48, // 153: inventory.v1.ChangeAgentRequest.qan_mongodb_profiler_agent:type_name -> inventory.v1.ChangeQANMongoDBProfilerAgentParams
- 50, // 154: inventory.v1.ChangeAgentRequest.qan_mongodb_mongolog_agent:type_name -> inventory.v1.ChangeQANMongoDBMongologAgentParams
- 52, // 155: inventory.v1.ChangeAgentRequest.qan_postgresql_pgstatements_agent:type_name -> inventory.v1.ChangeQANPostgreSQLPgStatementsAgentParams
- 54, // 156: inventory.v1.ChangeAgentRequest.qan_postgresql_pgstatmonitor_agent:type_name -> inventory.v1.ChangeQANPostgreSQLPgStatMonitorAgentParams
- 61, // 157: inventory.v1.ChangeAgentRequest.nomad_agent:type_name -> inventory.v1.ChangeNomadAgentParams
- 63, // 158: inventory.v1.ChangeAgentRequest.valkey_exporter:type_name -> inventory.v1.ChangeValkeyExporterParams
- 65, // 159: inventory.v1.ChangeAgentRequest.rta_mongodb_agent:type_name -> inventory.v1.ChangeRTAMongoDBAgentParams
- 4, // 160: inventory.v1.ChangeAgentResponse.node_exporter:type_name -> inventory.v1.NodeExporter
- 5, // 161: inventory.v1.ChangeAgentResponse.mysqld_exporter:type_name -> inventory.v1.MySQLdExporter
- 6, // 162: inventory.v1.ChangeAgentResponse.mongodb_exporter:type_name -> inventory.v1.MongoDBExporter
- 7, // 163: inventory.v1.ChangeAgentResponse.postgres_exporter:type_name -> inventory.v1.PostgresExporter
- 8, // 164: inventory.v1.ChangeAgentResponse.proxysql_exporter:type_name -> inventory.v1.ProxySQLExporter
- 19, // 165: inventory.v1.ChangeAgentResponse.external_exporter:type_name -> inventory.v1.ExternalExporter
- 18, // 166: inventory.v1.ChangeAgentResponse.rds_exporter:type_name -> inventory.v1.RDSExporter
- 20, // 167: inventory.v1.ChangeAgentResponse.azure_database_exporter:type_name -> inventory.v1.AzureDatabaseExporter
- 10, // 168: inventory.v1.ChangeAgentResponse.qan_mysql_perfschema_agent:type_name -> inventory.v1.QANMySQLPerfSchemaAgent
- 11, // 169: inventory.v1.ChangeAgentResponse.qan_mysql_slowlog_agent:type_name -> inventory.v1.QANMySQLSlowlogAgent
- 12, // 170: inventory.v1.ChangeAgentResponse.qan_mongodb_profiler_agent:type_name -> inventory.v1.QANMongoDBProfilerAgent
- 13, // 171: inventory.v1.ChangeAgentResponse.qan_mongodb_mongolog_agent:type_name -> inventory.v1.QANMongoDBMongologAgent
- 16, // 172: inventory.v1.ChangeAgentResponse.qan_postgresql_pgstatements_agent:type_name -> inventory.v1.QANPostgreSQLPgStatementsAgent
- 17, // 173: inventory.v1.ChangeAgentResponse.qan_postgresql_pgstatmonitor_agent:type_name -> inventory.v1.QANPostgreSQLPgStatMonitorAgent
- 3, // 174: inventory.v1.ChangeAgentResponse.nomad_agent:type_name -> inventory.v1.NomadAgent
- 9, // 175: inventory.v1.ChangeAgentResponse.valkey_exporter:type_name -> inventory.v1.ValkeyExporter
- 15, // 176: inventory.v1.ChangeAgentResponse.rta_mongodb_agent:type_name -> inventory.v1.RTAMongoDBAgent
- 88, // 177: inventory.v1.AddPMMAgentParams.custom_labels:type_name -> inventory.v1.AddPMMAgentParams.CustomLabelsEntry
- 89, // 178: inventory.v1.AddNodeExporterParams.custom_labels:type_name -> inventory.v1.AddNodeExporterParams.CustomLabelsEntry
- 109, // 179: inventory.v1.AddNodeExporterParams.log_level:type_name -> inventory.v1.LogLevel
- 112, // 180: inventory.v1.ChangeNodeExporterParams.custom_labels:type_name -> common.StringMap
- 110, // 181: inventory.v1.ChangeNodeExporterParams.metrics_resolutions:type_name -> common.MetricsResolutions
- 109, // 182: inventory.v1.ChangeNodeExporterParams.log_level:type_name -> inventory.v1.LogLevel
- 90, // 183: inventory.v1.AddMySQLdExporterParams.custom_labels:type_name -> inventory.v1.AddMySQLdExporterParams.CustomLabelsEntry
- 109, // 184: inventory.v1.AddMySQLdExporterParams.log_level:type_name -> inventory.v1.LogLevel
- 91, // 185: inventory.v1.AddMySQLdExporterParams.extra_dsn_params:type_name -> inventory.v1.AddMySQLdExporterParams.ExtraDsnParamsEntry
- 111, // 186: inventory.v1.AddMySQLdExporterParams.connection_timeout:type_name -> google.protobuf.Duration
- 112, // 187: inventory.v1.ChangeMySQLdExporterParams.custom_labels:type_name -> common.StringMap
- 110, // 188: inventory.v1.ChangeMySQLdExporterParams.metrics_resolutions:type_name -> common.MetricsResolutions
- 109, // 189: inventory.v1.ChangeMySQLdExporterParams.log_level:type_name -> inventory.v1.LogLevel
- 111, // 190: inventory.v1.ChangeMySQLdExporterParams.connection_timeout:type_name -> google.protobuf.Duration
- 92, // 191: inventory.v1.AddMongoDBExporterParams.custom_labels:type_name -> inventory.v1.AddMongoDBExporterParams.CustomLabelsEntry
- 109, // 192: inventory.v1.AddMongoDBExporterParams.log_level:type_name -> inventory.v1.LogLevel
- 111, // 193: inventory.v1.AddMongoDBExporterParams.connection_timeout:type_name -> google.protobuf.Duration
- 112, // 194: inventory.v1.ChangeMongoDBExporterParams.custom_labels:type_name -> common.StringMap
- 110, // 195: inventory.v1.ChangeMongoDBExporterParams.metrics_resolutions:type_name -> common.MetricsResolutions
- 109, // 196: inventory.v1.ChangeMongoDBExporterParams.log_level:type_name -> inventory.v1.LogLevel
- 111, // 197: inventory.v1.ChangeMongoDBExporterParams.connection_timeout:type_name -> google.protobuf.Duration
- 93, // 198: inventory.v1.AddPostgresExporterParams.custom_labels:type_name -> inventory.v1.AddPostgresExporterParams.CustomLabelsEntry
- 109, // 199: inventory.v1.AddPostgresExporterParams.log_level:type_name -> inventory.v1.LogLevel
- 111, // 200: inventory.v1.AddPostgresExporterParams.connection_timeout:type_name -> google.protobuf.Duration
- 112, // 201: inventory.v1.ChangePostgresExporterParams.custom_labels:type_name -> common.StringMap
- 110, // 202: inventory.v1.ChangePostgresExporterParams.metrics_resolutions:type_name -> common.MetricsResolutions
- 109, // 203: inventory.v1.ChangePostgresExporterParams.log_level:type_name -> inventory.v1.LogLevel
- 111, // 204: inventory.v1.ChangePostgresExporterParams.connection_timeout:type_name -> google.protobuf.Duration
- 94, // 205: inventory.v1.AddProxySQLExporterParams.custom_labels:type_name -> inventory.v1.AddProxySQLExporterParams.CustomLabelsEntry
- 109, // 206: inventory.v1.AddProxySQLExporterParams.log_level:type_name -> inventory.v1.LogLevel
- 111, // 207: inventory.v1.AddProxySQLExporterParams.connection_timeout:type_name -> google.protobuf.Duration
- 112, // 208: inventory.v1.ChangeProxySQLExporterParams.custom_labels:type_name -> common.StringMap
- 110, // 209: inventory.v1.ChangeProxySQLExporterParams.metrics_resolutions:type_name -> common.MetricsResolutions
- 109, // 210: inventory.v1.ChangeProxySQLExporterParams.log_level:type_name -> inventory.v1.LogLevel
- 111, // 211: inventory.v1.ChangeProxySQLExporterParams.connection_timeout:type_name -> google.protobuf.Duration
- 95, // 212: inventory.v1.AddQANMySQLPerfSchemaAgentParams.custom_labels:type_name -> inventory.v1.AddQANMySQLPerfSchemaAgentParams.CustomLabelsEntry
- 109, // 213: inventory.v1.AddQANMySQLPerfSchemaAgentParams.log_level:type_name -> inventory.v1.LogLevel
- 96, // 214: inventory.v1.AddQANMySQLPerfSchemaAgentParams.extra_dsn_params:type_name -> inventory.v1.AddQANMySQLPerfSchemaAgentParams.ExtraDsnParamsEntry
- 112, // 215: inventory.v1.ChangeQANMySQLPerfSchemaAgentParams.custom_labels:type_name -> common.StringMap
- 110, // 216: inventory.v1.ChangeQANMySQLPerfSchemaAgentParams.metrics_resolutions:type_name -> common.MetricsResolutions
- 109, // 217: inventory.v1.ChangeQANMySQLPerfSchemaAgentParams.log_level:type_name -> inventory.v1.LogLevel
- 97, // 218: inventory.v1.AddQANMySQLSlowlogAgentParams.custom_labels:type_name -> inventory.v1.AddQANMySQLSlowlogAgentParams.CustomLabelsEntry
- 109, // 219: inventory.v1.AddQANMySQLSlowlogAgentParams.log_level:type_name -> inventory.v1.LogLevel
- 98, // 220: inventory.v1.AddQANMySQLSlowlogAgentParams.extra_dsn_params:type_name -> inventory.v1.AddQANMySQLSlowlogAgentParams.ExtraDsnParamsEntry
- 112, // 221: inventory.v1.ChangeQANMySQLSlowlogAgentParams.custom_labels:type_name -> common.StringMap
- 110, // 222: inventory.v1.ChangeQANMySQLSlowlogAgentParams.metrics_resolutions:type_name -> common.MetricsResolutions
- 109, // 223: inventory.v1.ChangeQANMySQLSlowlogAgentParams.log_level:type_name -> inventory.v1.LogLevel
- 99, // 224: inventory.v1.AddQANMongoDBProfilerAgentParams.custom_labels:type_name -> inventory.v1.AddQANMongoDBProfilerAgentParams.CustomLabelsEntry
- 109, // 225: inventory.v1.AddQANMongoDBProfilerAgentParams.log_level:type_name -> inventory.v1.LogLevel
- 112, // 226: inventory.v1.ChangeQANMongoDBProfilerAgentParams.custom_labels:type_name -> common.StringMap
- 110, // 227: inventory.v1.ChangeQANMongoDBProfilerAgentParams.metrics_resolutions:type_name -> common.MetricsResolutions
- 109, // 228: inventory.v1.ChangeQANMongoDBProfilerAgentParams.log_level:type_name -> inventory.v1.LogLevel
- 100, // 229: inventory.v1.AddQANMongoDBMongologAgentParams.custom_labels:type_name -> inventory.v1.AddQANMongoDBMongologAgentParams.CustomLabelsEntry
- 109, // 230: inventory.v1.AddQANMongoDBMongologAgentParams.log_level:type_name -> inventory.v1.LogLevel
- 112, // 231: inventory.v1.ChangeQANMongoDBMongologAgentParams.custom_labels:type_name -> common.StringMap
- 110, // 232: inventory.v1.ChangeQANMongoDBMongologAgentParams.metrics_resolutions:type_name -> common.MetricsResolutions
- 109, // 233: inventory.v1.ChangeQANMongoDBMongologAgentParams.log_level:type_name -> inventory.v1.LogLevel
- 101, // 234: inventory.v1.AddQANPostgreSQLPgStatementsAgentParams.custom_labels:type_name -> inventory.v1.AddQANPostgreSQLPgStatementsAgentParams.CustomLabelsEntry
- 109, // 235: inventory.v1.AddQANPostgreSQLPgStatementsAgentParams.log_level:type_name -> inventory.v1.LogLevel
- 112, // 236: inventory.v1.ChangeQANPostgreSQLPgStatementsAgentParams.custom_labels:type_name -> common.StringMap
- 110, // 237: inventory.v1.ChangeQANPostgreSQLPgStatementsAgentParams.metrics_resolutions:type_name -> common.MetricsResolutions
- 109, // 238: inventory.v1.ChangeQANPostgreSQLPgStatementsAgentParams.log_level:type_name -> inventory.v1.LogLevel
- 102, // 239: inventory.v1.AddQANPostgreSQLPgStatMonitorAgentParams.custom_labels:type_name -> inventory.v1.AddQANPostgreSQLPgStatMonitorAgentParams.CustomLabelsEntry
- 109, // 240: inventory.v1.AddQANPostgreSQLPgStatMonitorAgentParams.log_level:type_name -> inventory.v1.LogLevel
- 112, // 241: inventory.v1.ChangeQANPostgreSQLPgStatMonitorAgentParams.custom_labels:type_name -> common.StringMap
- 110, // 242: inventory.v1.ChangeQANPostgreSQLPgStatMonitorAgentParams.metrics_resolutions:type_name -> common.MetricsResolutions
- 109, // 243: inventory.v1.ChangeQANPostgreSQLPgStatMonitorAgentParams.log_level:type_name -> inventory.v1.LogLevel
- 103, // 244: inventory.v1.AddRDSExporterParams.custom_labels:type_name -> inventory.v1.AddRDSExporterParams.CustomLabelsEntry
- 109, // 245: inventory.v1.AddRDSExporterParams.log_level:type_name -> inventory.v1.LogLevel
- 112, // 246: inventory.v1.ChangeRDSExporterParams.custom_labels:type_name -> common.StringMap
- 110, // 247: inventory.v1.ChangeRDSExporterParams.metrics_resolutions:type_name -> common.MetricsResolutions
- 109, // 248: inventory.v1.ChangeRDSExporterParams.log_level:type_name -> inventory.v1.LogLevel
- 104, // 249: inventory.v1.AddExternalExporterParams.custom_labels:type_name -> inventory.v1.AddExternalExporterParams.CustomLabelsEntry
- 112, // 250: inventory.v1.ChangeExternalExporterParams.custom_labels:type_name -> common.StringMap
- 110, // 251: inventory.v1.ChangeExternalExporterParams.metrics_resolutions:type_name -> common.MetricsResolutions
- 105, // 252: inventory.v1.AddAzureDatabaseExporterParams.custom_labels:type_name -> inventory.v1.AddAzureDatabaseExporterParams.CustomLabelsEntry
- 109, // 253: inventory.v1.AddAzureDatabaseExporterParams.log_level:type_name -> inventory.v1.LogLevel
- 112, // 254: inventory.v1.ChangeAzureDatabaseExporterParams.custom_labels:type_name -> common.StringMap
- 110, // 255: inventory.v1.ChangeAzureDatabaseExporterParams.metrics_resolutions:type_name -> common.MetricsResolutions
- 109, // 256: inventory.v1.ChangeAzureDatabaseExporterParams.log_level:type_name -> inventory.v1.LogLevel
- 106, // 257: inventory.v1.AddValkeyExporterParams.custom_labels:type_name -> inventory.v1.AddValkeyExporterParams.CustomLabelsEntry
- 109, // 258: inventory.v1.AddValkeyExporterParams.log_level:type_name -> inventory.v1.LogLevel
- 111, // 259: inventory.v1.AddValkeyExporterParams.connection_timeout:type_name -> google.protobuf.Duration
- 112, // 260: inventory.v1.ChangeValkeyExporterParams.custom_labels:type_name -> common.StringMap
- 110, // 261: inventory.v1.ChangeValkeyExporterParams.metrics_resolutions:type_name -> common.MetricsResolutions
- 109, // 262: inventory.v1.ChangeValkeyExporterParams.log_level:type_name -> inventory.v1.LogLevel
- 111, // 263: inventory.v1.ChangeValkeyExporterParams.connection_timeout:type_name -> google.protobuf.Duration
- 107, // 264: inventory.v1.AddRTAMongoDBAgentParams.custom_labels:type_name -> inventory.v1.AddRTAMongoDBAgentParams.CustomLabelsEntry
- 109, // 265: inventory.v1.AddRTAMongoDBAgentParams.log_level:type_name -> inventory.v1.LogLevel
- 14, // 266: inventory.v1.AddRTAMongoDBAgentParams.rta_options:type_name -> inventory.v1.RTAOptions
- 112, // 267: inventory.v1.ChangeRTAMongoDBAgentParams.custom_labels:type_name -> common.StringMap
- 109, // 268: inventory.v1.ChangeRTAMongoDBAgentParams.log_level:type_name -> inventory.v1.LogLevel
- 14, // 269: inventory.v1.ChangeRTAMongoDBAgentParams.rta_options:type_name -> inventory.v1.RTAOptions
- 22, // 270: inventory.v1.AgentsService.ListAgents:input_type -> inventory.v1.ListAgentsRequest
- 24, // 271: inventory.v1.AgentsService.GetAgent:input_type -> inventory.v1.GetAgentRequest
- 26, // 272: inventory.v1.AgentsService.GetAgentLogs:input_type -> inventory.v1.GetAgentLogsRequest
- 28, // 273: inventory.v1.AgentsService.AddAgent:input_type -> inventory.v1.AddAgentRequest
- 30, // 274: inventory.v1.AgentsService.ChangeAgent:input_type -> inventory.v1.ChangeAgentRequest
- 66, // 275: inventory.v1.AgentsService.RemoveAgent:input_type -> inventory.v1.RemoveAgentRequest
- 23, // 276: inventory.v1.AgentsService.ListAgents:output_type -> inventory.v1.ListAgentsResponse
- 25, // 277: inventory.v1.AgentsService.GetAgent:output_type -> inventory.v1.GetAgentResponse
- 27, // 278: inventory.v1.AgentsService.GetAgentLogs:output_type -> inventory.v1.GetAgentLogsResponse
- 29, // 279: inventory.v1.AgentsService.AddAgent:output_type -> inventory.v1.AddAgentResponse
- 31, // 280: inventory.v1.AgentsService.ChangeAgent:output_type -> inventory.v1.ChangeAgentResponse
- 67, // 281: inventory.v1.AgentsService.RemoveAgent:output_type -> inventory.v1.RemoveAgentResponse
- 276, // [276:282] is the sub-list for method output_type
- 270, // [270:276] is the sub-list for method input_type
- 270, // [270:270] is the sub-list for extension type_name
- 270, // [270:270] is the sub-list for extension extendee
- 0, // [0:270] is the sub-list for field type_name
+ 113, // 49: inventory.v1.RTAMongoDBAgent.status:type_name -> inventory.v1.AgentStatus
+ 114, // 50: inventory.v1.RTAMongoDBAgent.log_level:type_name -> inventory.v1.LogLevel
+ 86, // 51: inventory.v1.RTAMySQLAgent.custom_labels:type_name -> inventory.v1.RTAMySQLAgent.CustomLabelsEntry
+ 14, // 52: inventory.v1.RTAMySQLAgent.rta_options:type_name -> inventory.v1.RTAOptions
+ 113, // 53: inventory.v1.RTAMySQLAgent.status:type_name -> inventory.v1.AgentStatus
+ 114, // 54: inventory.v1.RTAMySQLAgent.log_level:type_name -> inventory.v1.LogLevel
+ 87, // 55: inventory.v1.QANPostgreSQLPgStatementsAgent.custom_labels:type_name -> inventory.v1.QANPostgreSQLPgStatementsAgent.CustomLabelsEntry
+ 113, // 56: inventory.v1.QANPostgreSQLPgStatementsAgent.status:type_name -> inventory.v1.AgentStatus
+ 114, // 57: inventory.v1.QANPostgreSQLPgStatementsAgent.log_level:type_name -> inventory.v1.LogLevel
+ 88, // 58: inventory.v1.QANPostgreSQLPgStatMonitorAgent.custom_labels:type_name -> inventory.v1.QANPostgreSQLPgStatMonitorAgent.CustomLabelsEntry
+ 113, // 59: inventory.v1.QANPostgreSQLPgStatMonitorAgent.status:type_name -> inventory.v1.AgentStatus
+ 114, // 60: inventory.v1.QANPostgreSQLPgStatMonitorAgent.log_level:type_name -> inventory.v1.LogLevel
+ 89, // 61: inventory.v1.RDSExporter.custom_labels:type_name -> inventory.v1.RDSExporter.CustomLabelsEntry
+ 113, // 62: inventory.v1.RDSExporter.status:type_name -> inventory.v1.AgentStatus
+ 114, // 63: inventory.v1.RDSExporter.log_level:type_name -> inventory.v1.LogLevel
+ 115, // 64: inventory.v1.RDSExporter.metrics_resolutions:type_name -> common.MetricsResolutions
+ 90, // 65: inventory.v1.ExternalExporter.custom_labels:type_name -> inventory.v1.ExternalExporter.CustomLabelsEntry
+ 115, // 66: inventory.v1.ExternalExporter.metrics_resolutions:type_name -> common.MetricsResolutions
+ 113, // 67: inventory.v1.ExternalExporter.status:type_name -> inventory.v1.AgentStatus
+ 91, // 68: inventory.v1.AzureDatabaseExporter.custom_labels:type_name -> inventory.v1.AzureDatabaseExporter.CustomLabelsEntry
+ 113, // 69: inventory.v1.AzureDatabaseExporter.status:type_name -> inventory.v1.AgentStatus
+ 114, // 70: inventory.v1.AzureDatabaseExporter.log_level:type_name -> inventory.v1.LogLevel
+ 115, // 71: inventory.v1.AzureDatabaseExporter.metrics_resolutions:type_name -> common.MetricsResolutions
+ 117, // 72: inventory.v1.ChangeCommonAgentParams.custom_labels:type_name -> common.StringMap
+ 115, // 73: inventory.v1.ChangeCommonAgentParams.metrics_resolutions:type_name -> common.MetricsResolutions
+ 0, // 74: inventory.v1.ListAgentsRequest.agent_type:type_name -> inventory.v1.AgentType
+ 1, // 75: inventory.v1.ListAgentsResponse.pmm_agent:type_name -> inventory.v1.PMMAgent
+ 2, // 76: inventory.v1.ListAgentsResponse.vm_agent:type_name -> inventory.v1.VMAgent
+ 4, // 77: inventory.v1.ListAgentsResponse.node_exporter:type_name -> inventory.v1.NodeExporter
+ 5, // 78: inventory.v1.ListAgentsResponse.mysqld_exporter:type_name -> inventory.v1.MySQLdExporter
+ 6, // 79: inventory.v1.ListAgentsResponse.mongodb_exporter:type_name -> inventory.v1.MongoDBExporter
+ 7, // 80: inventory.v1.ListAgentsResponse.postgres_exporter:type_name -> inventory.v1.PostgresExporter
+ 8, // 81: inventory.v1.ListAgentsResponse.proxysql_exporter:type_name -> inventory.v1.ProxySQLExporter
+ 10, // 82: inventory.v1.ListAgentsResponse.qan_mysql_perfschema_agent:type_name -> inventory.v1.QANMySQLPerfSchemaAgent
+ 11, // 83: inventory.v1.ListAgentsResponse.qan_mysql_slowlog_agent:type_name -> inventory.v1.QANMySQLSlowlogAgent
+ 12, // 84: inventory.v1.ListAgentsResponse.qan_mongodb_profiler_agent:type_name -> inventory.v1.QANMongoDBProfilerAgent
+ 13, // 85: inventory.v1.ListAgentsResponse.qan_mongodb_mongolog_agent:type_name -> inventory.v1.QANMongoDBMongologAgent
+ 17, // 86: inventory.v1.ListAgentsResponse.qan_postgresql_pgstatements_agent:type_name -> inventory.v1.QANPostgreSQLPgStatementsAgent
+ 18, // 87: inventory.v1.ListAgentsResponse.qan_postgresql_pgstatmonitor_agent:type_name -> inventory.v1.QANPostgreSQLPgStatMonitorAgent
+ 20, // 88: inventory.v1.ListAgentsResponse.external_exporter:type_name -> inventory.v1.ExternalExporter
+ 19, // 89: inventory.v1.ListAgentsResponse.rds_exporter:type_name -> inventory.v1.RDSExporter
+ 21, // 90: inventory.v1.ListAgentsResponse.azure_database_exporter:type_name -> inventory.v1.AzureDatabaseExporter
+ 3, // 91: inventory.v1.ListAgentsResponse.nomad_agent:type_name -> inventory.v1.NomadAgent
+ 9, // 92: inventory.v1.ListAgentsResponse.valkey_exporter:type_name -> inventory.v1.ValkeyExporter
+ 15, // 93: inventory.v1.ListAgentsResponse.rta_mongodb_agent:type_name -> inventory.v1.RTAMongoDBAgent
+ 16, // 94: inventory.v1.ListAgentsResponse.rta_mysql_agent:type_name -> inventory.v1.RTAMySQLAgent
+ 1, // 95: inventory.v1.GetAgentResponse.pmm_agent:type_name -> inventory.v1.PMMAgent
+ 2, // 96: inventory.v1.GetAgentResponse.vmagent:type_name -> inventory.v1.VMAgent
+ 4, // 97: inventory.v1.GetAgentResponse.node_exporter:type_name -> inventory.v1.NodeExporter
+ 5, // 98: inventory.v1.GetAgentResponse.mysqld_exporter:type_name -> inventory.v1.MySQLdExporter
+ 6, // 99: inventory.v1.GetAgentResponse.mongodb_exporter:type_name -> inventory.v1.MongoDBExporter
+ 7, // 100: inventory.v1.GetAgentResponse.postgres_exporter:type_name -> inventory.v1.PostgresExporter
+ 8, // 101: inventory.v1.GetAgentResponse.proxysql_exporter:type_name -> inventory.v1.ProxySQLExporter
+ 10, // 102: inventory.v1.GetAgentResponse.qan_mysql_perfschema_agent:type_name -> inventory.v1.QANMySQLPerfSchemaAgent
+ 11, // 103: inventory.v1.GetAgentResponse.qan_mysql_slowlog_agent:type_name -> inventory.v1.QANMySQLSlowlogAgent
+ 12, // 104: inventory.v1.GetAgentResponse.qan_mongodb_profiler_agent:type_name -> inventory.v1.QANMongoDBProfilerAgent
+ 13, // 105: inventory.v1.GetAgentResponse.qan_mongodb_mongolog_agent:type_name -> inventory.v1.QANMongoDBMongologAgent
+ 17, // 106: inventory.v1.GetAgentResponse.qan_postgresql_pgstatements_agent:type_name -> inventory.v1.QANPostgreSQLPgStatementsAgent
+ 18, // 107: inventory.v1.GetAgentResponse.qan_postgresql_pgstatmonitor_agent:type_name -> inventory.v1.QANPostgreSQLPgStatMonitorAgent
+ 20, // 108: inventory.v1.GetAgentResponse.external_exporter:type_name -> inventory.v1.ExternalExporter
+ 19, // 109: inventory.v1.GetAgentResponse.rds_exporter:type_name -> inventory.v1.RDSExporter
+ 21, // 110: inventory.v1.GetAgentResponse.azure_database_exporter:type_name -> inventory.v1.AzureDatabaseExporter
+ 3, // 111: inventory.v1.GetAgentResponse.nomad_agent:type_name -> inventory.v1.NomadAgent
+ 9, // 112: inventory.v1.GetAgentResponse.valkey_exporter:type_name -> inventory.v1.ValkeyExporter
+ 15, // 113: inventory.v1.GetAgentResponse.rta_mongodb_agent:type_name -> inventory.v1.RTAMongoDBAgent
+ 16, // 114: inventory.v1.GetAgentResponse.rta_mysql_agent:type_name -> inventory.v1.RTAMySQLAgent
+ 33, // 115: inventory.v1.AddAgentRequest.pmm_agent:type_name -> inventory.v1.AddPMMAgentParams
+ 34, // 116: inventory.v1.AddAgentRequest.node_exporter:type_name -> inventory.v1.AddNodeExporterParams
+ 36, // 117: inventory.v1.AddAgentRequest.mysqld_exporter:type_name -> inventory.v1.AddMySQLdExporterParams
+ 38, // 118: inventory.v1.AddAgentRequest.mongodb_exporter:type_name -> inventory.v1.AddMongoDBExporterParams
+ 40, // 119: inventory.v1.AddAgentRequest.postgres_exporter:type_name -> inventory.v1.AddPostgresExporterParams
+ 42, // 120: inventory.v1.AddAgentRequest.proxysql_exporter:type_name -> inventory.v1.AddProxySQLExporterParams
+ 58, // 121: inventory.v1.AddAgentRequest.external_exporter:type_name -> inventory.v1.AddExternalExporterParams
+ 56, // 122: inventory.v1.AddAgentRequest.rds_exporter:type_name -> inventory.v1.AddRDSExporterParams
+ 60, // 123: inventory.v1.AddAgentRequest.azure_database_exporter:type_name -> inventory.v1.AddAzureDatabaseExporterParams
+ 44, // 124: inventory.v1.AddAgentRequest.qan_mysql_perfschema_agent:type_name -> inventory.v1.AddQANMySQLPerfSchemaAgentParams
+ 46, // 125: inventory.v1.AddAgentRequest.qan_mysql_slowlog_agent:type_name -> inventory.v1.AddQANMySQLSlowlogAgentParams
+ 48, // 126: inventory.v1.AddAgentRequest.qan_mongodb_profiler_agent:type_name -> inventory.v1.AddQANMongoDBProfilerAgentParams
+ 50, // 127: inventory.v1.AddAgentRequest.qan_mongodb_mongolog_agent:type_name -> inventory.v1.AddQANMongoDBMongologAgentParams
+ 52, // 128: inventory.v1.AddAgentRequest.qan_postgresql_pgstatements_agent:type_name -> inventory.v1.AddQANPostgreSQLPgStatementsAgentParams
+ 54, // 129: inventory.v1.AddAgentRequest.qan_postgresql_pgstatmonitor_agent:type_name -> inventory.v1.AddQANPostgreSQLPgStatMonitorAgentParams
+ 63, // 130: inventory.v1.AddAgentRequest.valkey_exporter:type_name -> inventory.v1.AddValkeyExporterParams
+ 65, // 131: inventory.v1.AddAgentRequest.rta_mongodb_agent:type_name -> inventory.v1.AddRTAMongoDBAgentParams
+ 67, // 132: inventory.v1.AddAgentRequest.rta_mysql_agent:type_name -> inventory.v1.AddRTAMySQLAgentParams
+ 1, // 133: inventory.v1.AddAgentResponse.pmm_agent:type_name -> inventory.v1.PMMAgent
+ 4, // 134: inventory.v1.AddAgentResponse.node_exporter:type_name -> inventory.v1.NodeExporter
+ 5, // 135: inventory.v1.AddAgentResponse.mysqld_exporter:type_name -> inventory.v1.MySQLdExporter
+ 6, // 136: inventory.v1.AddAgentResponse.mongodb_exporter:type_name -> inventory.v1.MongoDBExporter
+ 7, // 137: inventory.v1.AddAgentResponse.postgres_exporter:type_name -> inventory.v1.PostgresExporter
+ 8, // 138: inventory.v1.AddAgentResponse.proxysql_exporter:type_name -> inventory.v1.ProxySQLExporter
+ 20, // 139: inventory.v1.AddAgentResponse.external_exporter:type_name -> inventory.v1.ExternalExporter
+ 19, // 140: inventory.v1.AddAgentResponse.rds_exporter:type_name -> inventory.v1.RDSExporter
+ 21, // 141: inventory.v1.AddAgentResponse.azure_database_exporter:type_name -> inventory.v1.AzureDatabaseExporter
+ 10, // 142: inventory.v1.AddAgentResponse.qan_mysql_perfschema_agent:type_name -> inventory.v1.QANMySQLPerfSchemaAgent
+ 11, // 143: inventory.v1.AddAgentResponse.qan_mysql_slowlog_agent:type_name -> inventory.v1.QANMySQLSlowlogAgent
+ 12, // 144: inventory.v1.AddAgentResponse.qan_mongodb_profiler_agent:type_name -> inventory.v1.QANMongoDBProfilerAgent
+ 13, // 145: inventory.v1.AddAgentResponse.qan_mongodb_mongolog_agent:type_name -> inventory.v1.QANMongoDBMongologAgent
+ 17, // 146: inventory.v1.AddAgentResponse.qan_postgresql_pgstatements_agent:type_name -> inventory.v1.QANPostgreSQLPgStatementsAgent
+ 18, // 147: inventory.v1.AddAgentResponse.qan_postgresql_pgstatmonitor_agent:type_name -> inventory.v1.QANPostgreSQLPgStatMonitorAgent
+ 9, // 148: inventory.v1.AddAgentResponse.valkey_exporter:type_name -> inventory.v1.ValkeyExporter
+ 15, // 149: inventory.v1.AddAgentResponse.rta_mongodb_agent:type_name -> inventory.v1.RTAMongoDBAgent
+ 16, // 150: inventory.v1.AddAgentResponse.rta_mysql_agent:type_name -> inventory.v1.RTAMySQLAgent
+ 35, // 151: inventory.v1.ChangeAgentRequest.node_exporter:type_name -> inventory.v1.ChangeNodeExporterParams
+ 37, // 152: inventory.v1.ChangeAgentRequest.mysqld_exporter:type_name -> inventory.v1.ChangeMySQLdExporterParams
+ 39, // 153: inventory.v1.ChangeAgentRequest.mongodb_exporter:type_name -> inventory.v1.ChangeMongoDBExporterParams
+ 41, // 154: inventory.v1.ChangeAgentRequest.postgres_exporter:type_name -> inventory.v1.ChangePostgresExporterParams
+ 43, // 155: inventory.v1.ChangeAgentRequest.proxysql_exporter:type_name -> inventory.v1.ChangeProxySQLExporterParams
+ 59, // 156: inventory.v1.ChangeAgentRequest.external_exporter:type_name -> inventory.v1.ChangeExternalExporterParams
+ 57, // 157: inventory.v1.ChangeAgentRequest.rds_exporter:type_name -> inventory.v1.ChangeRDSExporterParams
+ 61, // 158: inventory.v1.ChangeAgentRequest.azure_database_exporter:type_name -> inventory.v1.ChangeAzureDatabaseExporterParams
+ 45, // 159: inventory.v1.ChangeAgentRequest.qan_mysql_perfschema_agent:type_name -> inventory.v1.ChangeQANMySQLPerfSchemaAgentParams
+ 47, // 160: inventory.v1.ChangeAgentRequest.qan_mysql_slowlog_agent:type_name -> inventory.v1.ChangeQANMySQLSlowlogAgentParams
+ 49, // 161: inventory.v1.ChangeAgentRequest.qan_mongodb_profiler_agent:type_name -> inventory.v1.ChangeQANMongoDBProfilerAgentParams
+ 51, // 162: inventory.v1.ChangeAgentRequest.qan_mongodb_mongolog_agent:type_name -> inventory.v1.ChangeQANMongoDBMongologAgentParams
+ 53, // 163: inventory.v1.ChangeAgentRequest.qan_postgresql_pgstatements_agent:type_name -> inventory.v1.ChangeQANPostgreSQLPgStatementsAgentParams
+ 55, // 164: inventory.v1.ChangeAgentRequest.qan_postgresql_pgstatmonitor_agent:type_name -> inventory.v1.ChangeQANPostgreSQLPgStatMonitorAgentParams
+ 62, // 165: inventory.v1.ChangeAgentRequest.nomad_agent:type_name -> inventory.v1.ChangeNomadAgentParams
+ 64, // 166: inventory.v1.ChangeAgentRequest.valkey_exporter:type_name -> inventory.v1.ChangeValkeyExporterParams
+ 66, // 167: inventory.v1.ChangeAgentRequest.rta_mongodb_agent:type_name -> inventory.v1.ChangeRTAMongoDBAgentParams
+ 68, // 168: inventory.v1.ChangeAgentRequest.rta_mysql_agent:type_name -> inventory.v1.ChangeRTAMySQLAgentParams
+ 4, // 169: inventory.v1.ChangeAgentResponse.node_exporter:type_name -> inventory.v1.NodeExporter
+ 5, // 170: inventory.v1.ChangeAgentResponse.mysqld_exporter:type_name -> inventory.v1.MySQLdExporter
+ 6, // 171: inventory.v1.ChangeAgentResponse.mongodb_exporter:type_name -> inventory.v1.MongoDBExporter
+ 7, // 172: inventory.v1.ChangeAgentResponse.postgres_exporter:type_name -> inventory.v1.PostgresExporter
+ 8, // 173: inventory.v1.ChangeAgentResponse.proxysql_exporter:type_name -> inventory.v1.ProxySQLExporter
+ 20, // 174: inventory.v1.ChangeAgentResponse.external_exporter:type_name -> inventory.v1.ExternalExporter
+ 19, // 175: inventory.v1.ChangeAgentResponse.rds_exporter:type_name -> inventory.v1.RDSExporter
+ 21, // 176: inventory.v1.ChangeAgentResponse.azure_database_exporter:type_name -> inventory.v1.AzureDatabaseExporter
+ 10, // 177: inventory.v1.ChangeAgentResponse.qan_mysql_perfschema_agent:type_name -> inventory.v1.QANMySQLPerfSchemaAgent
+ 11, // 178: inventory.v1.ChangeAgentResponse.qan_mysql_slowlog_agent:type_name -> inventory.v1.QANMySQLSlowlogAgent
+ 12, // 179: inventory.v1.ChangeAgentResponse.qan_mongodb_profiler_agent:type_name -> inventory.v1.QANMongoDBProfilerAgent
+ 13, // 180: inventory.v1.ChangeAgentResponse.qan_mongodb_mongolog_agent:type_name -> inventory.v1.QANMongoDBMongologAgent
+ 17, // 181: inventory.v1.ChangeAgentResponse.qan_postgresql_pgstatements_agent:type_name -> inventory.v1.QANPostgreSQLPgStatementsAgent
+ 18, // 182: inventory.v1.ChangeAgentResponse.qan_postgresql_pgstatmonitor_agent:type_name -> inventory.v1.QANPostgreSQLPgStatMonitorAgent
+ 3, // 183: inventory.v1.ChangeAgentResponse.nomad_agent:type_name -> inventory.v1.NomadAgent
+ 9, // 184: inventory.v1.ChangeAgentResponse.valkey_exporter:type_name -> inventory.v1.ValkeyExporter
+ 15, // 185: inventory.v1.ChangeAgentResponse.rta_mongodb_agent:type_name -> inventory.v1.RTAMongoDBAgent
+ 16, // 186: inventory.v1.ChangeAgentResponse.rta_mysql_agent:type_name -> inventory.v1.RTAMySQLAgent
+ 92, // 187: inventory.v1.AddPMMAgentParams.custom_labels:type_name -> inventory.v1.AddPMMAgentParams.CustomLabelsEntry
+ 93, // 188: inventory.v1.AddNodeExporterParams.custom_labels:type_name -> inventory.v1.AddNodeExporterParams.CustomLabelsEntry
+ 114, // 189: inventory.v1.AddNodeExporterParams.log_level:type_name -> inventory.v1.LogLevel
+ 117, // 190: inventory.v1.ChangeNodeExporterParams.custom_labels:type_name -> common.StringMap
+ 115, // 191: inventory.v1.ChangeNodeExporterParams.metrics_resolutions:type_name -> common.MetricsResolutions
+ 114, // 192: inventory.v1.ChangeNodeExporterParams.log_level:type_name -> inventory.v1.LogLevel
+ 94, // 193: inventory.v1.AddMySQLdExporterParams.custom_labels:type_name -> inventory.v1.AddMySQLdExporterParams.CustomLabelsEntry
+ 114, // 194: inventory.v1.AddMySQLdExporterParams.log_level:type_name -> inventory.v1.LogLevel
+ 95, // 195: inventory.v1.AddMySQLdExporterParams.extra_dsn_params:type_name -> inventory.v1.AddMySQLdExporterParams.ExtraDsnParamsEntry
+ 116, // 196: inventory.v1.AddMySQLdExporterParams.connection_timeout:type_name -> google.protobuf.Duration
+ 117, // 197: inventory.v1.ChangeMySQLdExporterParams.custom_labels:type_name -> common.StringMap
+ 115, // 198: inventory.v1.ChangeMySQLdExporterParams.metrics_resolutions:type_name -> common.MetricsResolutions
+ 114, // 199: inventory.v1.ChangeMySQLdExporterParams.log_level:type_name -> inventory.v1.LogLevel
+ 116, // 200: inventory.v1.ChangeMySQLdExporterParams.connection_timeout:type_name -> google.protobuf.Duration
+ 96, // 201: inventory.v1.AddMongoDBExporterParams.custom_labels:type_name -> inventory.v1.AddMongoDBExporterParams.CustomLabelsEntry
+ 114, // 202: inventory.v1.AddMongoDBExporterParams.log_level:type_name -> inventory.v1.LogLevel
+ 116, // 203: inventory.v1.AddMongoDBExporterParams.connection_timeout:type_name -> google.protobuf.Duration
+ 117, // 204: inventory.v1.ChangeMongoDBExporterParams.custom_labels:type_name -> common.StringMap
+ 115, // 205: inventory.v1.ChangeMongoDBExporterParams.metrics_resolutions:type_name -> common.MetricsResolutions
+ 114, // 206: inventory.v1.ChangeMongoDBExporterParams.log_level:type_name -> inventory.v1.LogLevel
+ 116, // 207: inventory.v1.ChangeMongoDBExporterParams.connection_timeout:type_name -> google.protobuf.Duration
+ 97, // 208: inventory.v1.AddPostgresExporterParams.custom_labels:type_name -> inventory.v1.AddPostgresExporterParams.CustomLabelsEntry
+ 114, // 209: inventory.v1.AddPostgresExporterParams.log_level:type_name -> inventory.v1.LogLevel
+ 116, // 210: inventory.v1.AddPostgresExporterParams.connection_timeout:type_name -> google.protobuf.Duration
+ 117, // 211: inventory.v1.ChangePostgresExporterParams.custom_labels:type_name -> common.StringMap
+ 115, // 212: inventory.v1.ChangePostgresExporterParams.metrics_resolutions:type_name -> common.MetricsResolutions
+ 114, // 213: inventory.v1.ChangePostgresExporterParams.log_level:type_name -> inventory.v1.LogLevel
+ 116, // 214: inventory.v1.ChangePostgresExporterParams.connection_timeout:type_name -> google.protobuf.Duration
+ 98, // 215: inventory.v1.AddProxySQLExporterParams.custom_labels:type_name -> inventory.v1.AddProxySQLExporterParams.CustomLabelsEntry
+ 114, // 216: inventory.v1.AddProxySQLExporterParams.log_level:type_name -> inventory.v1.LogLevel
+ 116, // 217: inventory.v1.AddProxySQLExporterParams.connection_timeout:type_name -> google.protobuf.Duration
+ 117, // 218: inventory.v1.ChangeProxySQLExporterParams.custom_labels:type_name -> common.StringMap
+ 115, // 219: inventory.v1.ChangeProxySQLExporterParams.metrics_resolutions:type_name -> common.MetricsResolutions
+ 114, // 220: inventory.v1.ChangeProxySQLExporterParams.log_level:type_name -> inventory.v1.LogLevel
+ 116, // 221: inventory.v1.ChangeProxySQLExporterParams.connection_timeout:type_name -> google.protobuf.Duration
+ 99, // 222: inventory.v1.AddQANMySQLPerfSchemaAgentParams.custom_labels:type_name -> inventory.v1.AddQANMySQLPerfSchemaAgentParams.CustomLabelsEntry
+ 114, // 223: inventory.v1.AddQANMySQLPerfSchemaAgentParams.log_level:type_name -> inventory.v1.LogLevel
+ 100, // 224: inventory.v1.AddQANMySQLPerfSchemaAgentParams.extra_dsn_params:type_name -> inventory.v1.AddQANMySQLPerfSchemaAgentParams.ExtraDsnParamsEntry
+ 117, // 225: inventory.v1.ChangeQANMySQLPerfSchemaAgentParams.custom_labels:type_name -> common.StringMap
+ 115, // 226: inventory.v1.ChangeQANMySQLPerfSchemaAgentParams.metrics_resolutions:type_name -> common.MetricsResolutions
+ 114, // 227: inventory.v1.ChangeQANMySQLPerfSchemaAgentParams.log_level:type_name -> inventory.v1.LogLevel
+ 101, // 228: inventory.v1.AddQANMySQLSlowlogAgentParams.custom_labels:type_name -> inventory.v1.AddQANMySQLSlowlogAgentParams.CustomLabelsEntry
+ 114, // 229: inventory.v1.AddQANMySQLSlowlogAgentParams.log_level:type_name -> inventory.v1.LogLevel
+ 102, // 230: inventory.v1.AddQANMySQLSlowlogAgentParams.extra_dsn_params:type_name -> inventory.v1.AddQANMySQLSlowlogAgentParams.ExtraDsnParamsEntry
+ 117, // 231: inventory.v1.ChangeQANMySQLSlowlogAgentParams.custom_labels:type_name -> common.StringMap
+ 115, // 232: inventory.v1.ChangeQANMySQLSlowlogAgentParams.metrics_resolutions:type_name -> common.MetricsResolutions
+ 114, // 233: inventory.v1.ChangeQANMySQLSlowlogAgentParams.log_level:type_name -> inventory.v1.LogLevel
+ 103, // 234: inventory.v1.AddQANMongoDBProfilerAgentParams.custom_labels:type_name -> inventory.v1.AddQANMongoDBProfilerAgentParams.CustomLabelsEntry
+ 114, // 235: inventory.v1.AddQANMongoDBProfilerAgentParams.log_level:type_name -> inventory.v1.LogLevel
+ 117, // 236: inventory.v1.ChangeQANMongoDBProfilerAgentParams.custom_labels:type_name -> common.StringMap
+ 115, // 237: inventory.v1.ChangeQANMongoDBProfilerAgentParams.metrics_resolutions:type_name -> common.MetricsResolutions
+ 114, // 238: inventory.v1.ChangeQANMongoDBProfilerAgentParams.log_level:type_name -> inventory.v1.LogLevel
+ 104, // 239: inventory.v1.AddQANMongoDBMongologAgentParams.custom_labels:type_name -> inventory.v1.AddQANMongoDBMongologAgentParams.CustomLabelsEntry
+ 114, // 240: inventory.v1.AddQANMongoDBMongologAgentParams.log_level:type_name -> inventory.v1.LogLevel
+ 117, // 241: inventory.v1.ChangeQANMongoDBMongologAgentParams.custom_labels:type_name -> common.StringMap
+ 115, // 242: inventory.v1.ChangeQANMongoDBMongologAgentParams.metrics_resolutions:type_name -> common.MetricsResolutions
+ 114, // 243: inventory.v1.ChangeQANMongoDBMongologAgentParams.log_level:type_name -> inventory.v1.LogLevel
+ 105, // 244: inventory.v1.AddQANPostgreSQLPgStatementsAgentParams.custom_labels:type_name -> inventory.v1.AddQANPostgreSQLPgStatementsAgentParams.CustomLabelsEntry
+ 114, // 245: inventory.v1.AddQANPostgreSQLPgStatementsAgentParams.log_level:type_name -> inventory.v1.LogLevel
+ 117, // 246: inventory.v1.ChangeQANPostgreSQLPgStatementsAgentParams.custom_labels:type_name -> common.StringMap
+ 115, // 247: inventory.v1.ChangeQANPostgreSQLPgStatementsAgentParams.metrics_resolutions:type_name -> common.MetricsResolutions
+ 114, // 248: inventory.v1.ChangeQANPostgreSQLPgStatementsAgentParams.log_level:type_name -> inventory.v1.LogLevel
+ 106, // 249: inventory.v1.AddQANPostgreSQLPgStatMonitorAgentParams.custom_labels:type_name -> inventory.v1.AddQANPostgreSQLPgStatMonitorAgentParams.CustomLabelsEntry
+ 114, // 250: inventory.v1.AddQANPostgreSQLPgStatMonitorAgentParams.log_level:type_name -> inventory.v1.LogLevel
+ 117, // 251: inventory.v1.ChangeQANPostgreSQLPgStatMonitorAgentParams.custom_labels:type_name -> common.StringMap
+ 115, // 252: inventory.v1.ChangeQANPostgreSQLPgStatMonitorAgentParams.metrics_resolutions:type_name -> common.MetricsResolutions
+ 114, // 253: inventory.v1.ChangeQANPostgreSQLPgStatMonitorAgentParams.log_level:type_name -> inventory.v1.LogLevel
+ 107, // 254: inventory.v1.AddRDSExporterParams.custom_labels:type_name -> inventory.v1.AddRDSExporterParams.CustomLabelsEntry
+ 114, // 255: inventory.v1.AddRDSExporterParams.log_level:type_name -> inventory.v1.LogLevel
+ 117, // 256: inventory.v1.ChangeRDSExporterParams.custom_labels:type_name -> common.StringMap
+ 115, // 257: inventory.v1.ChangeRDSExporterParams.metrics_resolutions:type_name -> common.MetricsResolutions
+ 114, // 258: inventory.v1.ChangeRDSExporterParams.log_level:type_name -> inventory.v1.LogLevel
+ 108, // 259: inventory.v1.AddExternalExporterParams.custom_labels:type_name -> inventory.v1.AddExternalExporterParams.CustomLabelsEntry
+ 117, // 260: inventory.v1.ChangeExternalExporterParams.custom_labels:type_name -> common.StringMap
+ 115, // 261: inventory.v1.ChangeExternalExporterParams.metrics_resolutions:type_name -> common.MetricsResolutions
+ 109, // 262: inventory.v1.AddAzureDatabaseExporterParams.custom_labels:type_name -> inventory.v1.AddAzureDatabaseExporterParams.CustomLabelsEntry
+ 114, // 263: inventory.v1.AddAzureDatabaseExporterParams.log_level:type_name -> inventory.v1.LogLevel
+ 117, // 264: inventory.v1.ChangeAzureDatabaseExporterParams.custom_labels:type_name -> common.StringMap
+ 115, // 265: inventory.v1.ChangeAzureDatabaseExporterParams.metrics_resolutions:type_name -> common.MetricsResolutions
+ 114, // 266: inventory.v1.ChangeAzureDatabaseExporterParams.log_level:type_name -> inventory.v1.LogLevel
+ 110, // 267: inventory.v1.AddValkeyExporterParams.custom_labels:type_name -> inventory.v1.AddValkeyExporterParams.CustomLabelsEntry
+ 114, // 268: inventory.v1.AddValkeyExporterParams.log_level:type_name -> inventory.v1.LogLevel
+ 116, // 269: inventory.v1.AddValkeyExporterParams.connection_timeout:type_name -> google.protobuf.Duration
+ 117, // 270: inventory.v1.ChangeValkeyExporterParams.custom_labels:type_name -> common.StringMap
+ 115, // 271: inventory.v1.ChangeValkeyExporterParams.metrics_resolutions:type_name -> common.MetricsResolutions
+ 114, // 272: inventory.v1.ChangeValkeyExporterParams.log_level:type_name -> inventory.v1.LogLevel
+ 116, // 273: inventory.v1.ChangeValkeyExporterParams.connection_timeout:type_name -> google.protobuf.Duration
+ 111, // 274: inventory.v1.AddRTAMongoDBAgentParams.custom_labels:type_name -> inventory.v1.AddRTAMongoDBAgentParams.CustomLabelsEntry
+ 114, // 275: inventory.v1.AddRTAMongoDBAgentParams.log_level:type_name -> inventory.v1.LogLevel
+ 14, // 276: inventory.v1.AddRTAMongoDBAgentParams.rta_options:type_name -> inventory.v1.RTAOptions
+ 117, // 277: inventory.v1.ChangeRTAMongoDBAgentParams.custom_labels:type_name -> common.StringMap
+ 114, // 278: inventory.v1.ChangeRTAMongoDBAgentParams.log_level:type_name -> inventory.v1.LogLevel
+ 14, // 279: inventory.v1.ChangeRTAMongoDBAgentParams.rta_options:type_name -> inventory.v1.RTAOptions
+ 112, // 280: inventory.v1.AddRTAMySQLAgentParams.custom_labels:type_name -> inventory.v1.AddRTAMySQLAgentParams.CustomLabelsEntry
+ 114, // 281: inventory.v1.AddRTAMySQLAgentParams.log_level:type_name -> inventory.v1.LogLevel
+ 14, // 282: inventory.v1.AddRTAMySQLAgentParams.rta_options:type_name -> inventory.v1.RTAOptions
+ 117, // 283: inventory.v1.ChangeRTAMySQLAgentParams.custom_labels:type_name -> common.StringMap
+ 114, // 284: inventory.v1.ChangeRTAMySQLAgentParams.log_level:type_name -> inventory.v1.LogLevel
+ 14, // 285: inventory.v1.ChangeRTAMySQLAgentParams.rta_options:type_name -> inventory.v1.RTAOptions
+ 23, // 286: inventory.v1.AgentsService.ListAgents:input_type -> inventory.v1.ListAgentsRequest
+ 25, // 287: inventory.v1.AgentsService.GetAgent:input_type -> inventory.v1.GetAgentRequest
+ 27, // 288: inventory.v1.AgentsService.GetAgentLogs:input_type -> inventory.v1.GetAgentLogsRequest
+ 29, // 289: inventory.v1.AgentsService.AddAgent:input_type -> inventory.v1.AddAgentRequest
+ 31, // 290: inventory.v1.AgentsService.ChangeAgent:input_type -> inventory.v1.ChangeAgentRequest
+ 69, // 291: inventory.v1.AgentsService.RemoveAgent:input_type -> inventory.v1.RemoveAgentRequest
+ 24, // 292: inventory.v1.AgentsService.ListAgents:output_type -> inventory.v1.ListAgentsResponse
+ 26, // 293: inventory.v1.AgentsService.GetAgent:output_type -> inventory.v1.GetAgentResponse
+ 28, // 294: inventory.v1.AgentsService.GetAgentLogs:output_type -> inventory.v1.GetAgentLogsResponse
+ 30, // 295: inventory.v1.AgentsService.AddAgent:output_type -> inventory.v1.AddAgentResponse
+ 32, // 296: inventory.v1.AgentsService.ChangeAgent:output_type -> inventory.v1.ChangeAgentResponse
+ 70, // 297: inventory.v1.AgentsService.RemoveAgent:output_type -> inventory.v1.RemoveAgentResponse
+ 292, // [292:298] is the sub-list for method output_type
+ 286, // [286:292] is the sub-list for method input_type
+ 286, // [286:286] is the sub-list for extension type_name
+ 286, // [286:286] is the sub-list for extension extendee
+ 0, // [0:286] is the sub-list for field type_name
}
func init() { file_inventory_v1_agents_proto_init() }
@@ -12932,8 +13555,8 @@ func file_inventory_v1_agents_proto_init() {
}
file_inventory_v1_agent_status_proto_init()
file_inventory_v1_log_level_proto_init()
- file_inventory_v1_agents_proto_msgTypes[20].OneofWrappers = []any{}
- file_inventory_v1_agents_proto_msgTypes[24].OneofWrappers = []any{
+ file_inventory_v1_agents_proto_msgTypes[21].OneofWrappers = []any{}
+ file_inventory_v1_agents_proto_msgTypes[25].OneofWrappers = []any{
(*GetAgentResponse_PmmAgent)(nil),
(*GetAgentResponse_Vmagent)(nil),
(*GetAgentResponse_NodeExporter)(nil),
@@ -12953,8 +13576,9 @@ func file_inventory_v1_agents_proto_init() {
(*GetAgentResponse_NomadAgent)(nil),
(*GetAgentResponse_ValkeyExporter)(nil),
(*GetAgentResponse_RtaMongodbAgent)(nil),
+ (*GetAgentResponse_RtaMysqlAgent)(nil),
}
- file_inventory_v1_agents_proto_msgTypes[27].OneofWrappers = []any{
+ file_inventory_v1_agents_proto_msgTypes[28].OneofWrappers = []any{
(*AddAgentRequest_PmmAgent)(nil),
(*AddAgentRequest_NodeExporter)(nil),
(*AddAgentRequest_MysqldExporter)(nil),
@@ -12972,8 +13596,9 @@ func file_inventory_v1_agents_proto_init() {
(*AddAgentRequest_QanPostgresqlPgstatmonitorAgent)(nil),
(*AddAgentRequest_ValkeyExporter)(nil),
(*AddAgentRequest_RtaMongodbAgent)(nil),
+ (*AddAgentRequest_RtaMysqlAgent)(nil),
}
- file_inventory_v1_agents_proto_msgTypes[28].OneofWrappers = []any{
+ file_inventory_v1_agents_proto_msgTypes[29].OneofWrappers = []any{
(*AddAgentResponse_PmmAgent)(nil),
(*AddAgentResponse_NodeExporter)(nil),
(*AddAgentResponse_MysqldExporter)(nil),
@@ -12991,8 +13616,9 @@ func file_inventory_v1_agents_proto_init() {
(*AddAgentResponse_QanPostgresqlPgstatmonitorAgent)(nil),
(*AddAgentResponse_ValkeyExporter)(nil),
(*AddAgentResponse_RtaMongodbAgent)(nil),
+ (*AddAgentResponse_RtaMysqlAgent)(nil),
}
- file_inventory_v1_agents_proto_msgTypes[29].OneofWrappers = []any{
+ file_inventory_v1_agents_proto_msgTypes[30].OneofWrappers = []any{
(*ChangeAgentRequest_NodeExporter)(nil),
(*ChangeAgentRequest_MysqldExporter)(nil),
(*ChangeAgentRequest_MongodbExporter)(nil),
@@ -13010,8 +13636,9 @@ func file_inventory_v1_agents_proto_init() {
(*ChangeAgentRequest_NomadAgent)(nil),
(*ChangeAgentRequest_ValkeyExporter)(nil),
(*ChangeAgentRequest_RtaMongodbAgent)(nil),
+ (*ChangeAgentRequest_RtaMysqlAgent)(nil),
}
- file_inventory_v1_agents_proto_msgTypes[30].OneofWrappers = []any{
+ file_inventory_v1_agents_proto_msgTypes[31].OneofWrappers = []any{
(*ChangeAgentResponse_NodeExporter)(nil),
(*ChangeAgentResponse_MysqldExporter)(nil),
(*ChangeAgentResponse_MongodbExporter)(nil),
@@ -13029,31 +13656,33 @@ func file_inventory_v1_agents_proto_init() {
(*ChangeAgentResponse_NomadAgent)(nil),
(*ChangeAgentResponse_ValkeyExporter)(nil),
(*ChangeAgentResponse_RtaMongodbAgent)(nil),
- }
- file_inventory_v1_agents_proto_msgTypes[33].OneofWrappers = []any{}
- file_inventory_v1_agents_proto_msgTypes[35].OneofWrappers = []any{}
- file_inventory_v1_agents_proto_msgTypes[37].OneofWrappers = []any{}
- file_inventory_v1_agents_proto_msgTypes[39].OneofWrappers = []any{}
- file_inventory_v1_agents_proto_msgTypes[41].OneofWrappers = []any{}
- file_inventory_v1_agents_proto_msgTypes[43].OneofWrappers = []any{}
- file_inventory_v1_agents_proto_msgTypes[45].OneofWrappers = []any{}
- file_inventory_v1_agents_proto_msgTypes[47].OneofWrappers = []any{}
- file_inventory_v1_agents_proto_msgTypes[49].OneofWrappers = []any{}
- file_inventory_v1_agents_proto_msgTypes[51].OneofWrappers = []any{}
- file_inventory_v1_agents_proto_msgTypes[53].OneofWrappers = []any{}
- file_inventory_v1_agents_proto_msgTypes[55].OneofWrappers = []any{}
- file_inventory_v1_agents_proto_msgTypes[57].OneofWrappers = []any{}
- file_inventory_v1_agents_proto_msgTypes[59].OneofWrappers = []any{}
+ (*ChangeAgentResponse_RtaMysqlAgent)(nil),
+ }
+ file_inventory_v1_agents_proto_msgTypes[34].OneofWrappers = []any{}
+ file_inventory_v1_agents_proto_msgTypes[36].OneofWrappers = []any{}
+ file_inventory_v1_agents_proto_msgTypes[38].OneofWrappers = []any{}
+ file_inventory_v1_agents_proto_msgTypes[40].OneofWrappers = []any{}
+ file_inventory_v1_agents_proto_msgTypes[42].OneofWrappers = []any{}
+ file_inventory_v1_agents_proto_msgTypes[44].OneofWrappers = []any{}
+ file_inventory_v1_agents_proto_msgTypes[46].OneofWrappers = []any{}
+ file_inventory_v1_agents_proto_msgTypes[48].OneofWrappers = []any{}
+ file_inventory_v1_agents_proto_msgTypes[50].OneofWrappers = []any{}
+ file_inventory_v1_agents_proto_msgTypes[52].OneofWrappers = []any{}
+ file_inventory_v1_agents_proto_msgTypes[54].OneofWrappers = []any{}
+ file_inventory_v1_agents_proto_msgTypes[56].OneofWrappers = []any{}
+ file_inventory_v1_agents_proto_msgTypes[58].OneofWrappers = []any{}
file_inventory_v1_agents_proto_msgTypes[60].OneofWrappers = []any{}
- file_inventory_v1_agents_proto_msgTypes[62].OneofWrappers = []any{}
- file_inventory_v1_agents_proto_msgTypes[64].OneofWrappers = []any{}
+ file_inventory_v1_agents_proto_msgTypes[61].OneofWrappers = []any{}
+ file_inventory_v1_agents_proto_msgTypes[63].OneofWrappers = []any{}
+ file_inventory_v1_agents_proto_msgTypes[65].OneofWrappers = []any{}
+ file_inventory_v1_agents_proto_msgTypes[67].OneofWrappers = []any{}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_inventory_v1_agents_proto_rawDesc), len(file_inventory_v1_agents_proto_rawDesc)),
NumEnums: 1,
- NumMessages: 107,
+ NumMessages: 112,
NumExtensions: 0,
NumServices: 1,
},
diff --git a/api/inventory/v1/agents.pb.validate.go b/api/inventory/v1/agents.pb.validate.go
index 4340a6da034..ec342ebe908 100644
--- a/api/inventory/v1/agents.pb.validate.go
+++ b/api/inventory/v1/agents.pb.validate.go
@@ -2289,6 +2289,156 @@ var _ interface {
ErrorName() string
} = RTAMongoDBAgentValidationError{}
+// Validate checks the field values on RTAMySQLAgent with the rules defined in
+// the proto definition for this message. If any rules are violated, the first
+// error encountered is returned, or nil if there are no violations.
+func (m *RTAMySQLAgent) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on RTAMySQLAgent with the rules defined
+// in the proto definition for this message. If any rules are violated, the
+// result is a list of violation errors wrapped in RTAMySQLAgentMultiError, or
+// nil if none found.
+func (m *RTAMySQLAgent) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *RTAMySQLAgent) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for AgentId
+
+ // no validation rules for PmmAgentId
+
+ // no validation rules for Disabled
+
+ // no validation rules for ServiceId
+
+ // no validation rules for Username
+
+ // no validation rules for Tls
+
+ // no validation rules for TlsSkipVerify
+
+ // no validation rules for CustomLabels
+
+ if all {
+ switch v := interface{}(m.GetRtaOptions()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, RTAMySQLAgentValidationError{
+ field: "RtaOptions",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, RTAMySQLAgentValidationError{
+ field: "RtaOptions",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetRtaOptions()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return RTAMySQLAgentValidationError{
+ field: "RtaOptions",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ // no validation rules for Status
+
+ // no validation rules for LogLevel
+
+ if len(errors) > 0 {
+ return RTAMySQLAgentMultiError(errors)
+ }
+
+ return nil
+}
+
+// RTAMySQLAgentMultiError is an error wrapping multiple validation errors
+// returned by RTAMySQLAgent.ValidateAll() if the designated constraints
+// aren't met.
+type RTAMySQLAgentMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m RTAMySQLAgentMultiError) Error() string {
+ msgs := make([]string, 0, len(m))
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m RTAMySQLAgentMultiError) AllErrors() []error { return m }
+
+// RTAMySQLAgentValidationError is the validation error returned by
+// RTAMySQLAgent.Validate if the designated constraints aren't met.
+type RTAMySQLAgentValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e RTAMySQLAgentValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e RTAMySQLAgentValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e RTAMySQLAgentValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e RTAMySQLAgentValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e RTAMySQLAgentValidationError) ErrorName() string { return "RTAMySQLAgentValidationError" }
+
+// Error satisfies the builtin error interface
+func (e RTAMySQLAgentValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sRTAMySQLAgent.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause,
+ )
+}
+
+var _ error = RTAMySQLAgentValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = RTAMySQLAgentValidationError{}
+
// Validate checks the field values on QANPostgreSQLPgStatementsAgent with the
// rules defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
@@ -3970,6 +4120,40 @@ func (m *ListAgentsResponse) validate(all bool) error {
}
+ for idx, item := range m.GetRtaMysqlAgent() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ListAgentsResponseValidationError{
+ field: fmt.Sprintf("RtaMysqlAgent[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ListAgentsResponseValidationError{
+ field: fmt.Sprintf("RtaMysqlAgent[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ListAgentsResponseValidationError{
+ field: fmt.Sprintf("RtaMysqlAgent[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
if len(errors) > 0 {
return ListAgentsResponseMultiError(errors)
}
@@ -4965,6 +5149,47 @@ func (m *GetAgentResponse) validate(all bool) error {
}
}
+ case *GetAgentResponse_RtaMysqlAgent:
+ if v == nil {
+ err := GetAgentResponseValidationError{
+ field: "Agent",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ if all {
+ switch v := interface{}(m.GetRtaMysqlAgent()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, GetAgentResponseValidationError{
+ field: "RtaMysqlAgent",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, GetAgentResponseValidationError{
+ field: "RtaMysqlAgent",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetRtaMysqlAgent()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return GetAgentResponseValidationError{
+ field: "RtaMysqlAgent",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
default:
_ = v // ensures v is used
}
@@ -5989,6 +6214,47 @@ func (m *AddAgentRequest) validate(all bool) error {
}
}
+ case *AddAgentRequest_RtaMysqlAgent:
+ if v == nil {
+ err := AddAgentRequestValidationError{
+ field: "Agent",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ if all {
+ switch v := interface{}(m.GetRtaMysqlAgent()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, AddAgentRequestValidationError{
+ field: "RtaMysqlAgent",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, AddAgentRequestValidationError{
+ field: "RtaMysqlAgent",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetRtaMysqlAgent()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return AddAgentRequestValidationError{
+ field: "RtaMysqlAgent",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
default:
_ = v // ensures v is used
}
@@ -6792,30 +7058,71 @@ func (m *AddAgentResponse) validate(all bool) error {
}
}
- default:
- _ = v // ensures v is used
- }
-
- if len(errors) > 0 {
- return AddAgentResponseMultiError(errors)
- }
-
- return nil
-}
-
-// AddAgentResponseMultiError is an error wrapping multiple validation errors
-// returned by AddAgentResponse.ValidateAll() if the designated constraints
-// aren't met.
-type AddAgentResponseMultiError []error
+ case *AddAgentResponse_RtaMysqlAgent:
+ if v == nil {
+ err := AddAgentResponseValidationError{
+ field: "Agent",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
-// Error returns a concatenation of all the error messages it wraps.
-func (m AddAgentResponseMultiError) Error() string {
- msgs := make([]string, 0, len(m))
- for _, err := range m {
- msgs = append(msgs, err.Error())
- }
- return strings.Join(msgs, "; ")
-}
+ if all {
+ switch v := interface{}(m.GetRtaMysqlAgent()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, AddAgentResponseValidationError{
+ field: "RtaMysqlAgent",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, AddAgentResponseValidationError{
+ field: "RtaMysqlAgent",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetRtaMysqlAgent()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return AddAgentResponseValidationError{
+ field: "RtaMysqlAgent",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ default:
+ _ = v // ensures v is used
+ }
+
+ if len(errors) > 0 {
+ return AddAgentResponseMultiError(errors)
+ }
+
+ return nil
+}
+
+// AddAgentResponseMultiError is an error wrapping multiple validation errors
+// returned by AddAgentResponse.ValidateAll() if the designated constraints
+// aren't met.
+type AddAgentResponseMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m AddAgentResponseMultiError) Error() string {
+ msgs := make([]string, 0, len(m))
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
// AllErrors returns a list of validation violation errors.
func (m AddAgentResponseMultiError) AllErrors() []error { return m }
@@ -7606,6 +7913,47 @@ func (m *ChangeAgentRequest) validate(all bool) error {
}
}
+ case *ChangeAgentRequest_RtaMysqlAgent:
+ if v == nil {
+ err := ChangeAgentRequestValidationError{
+ field: "Agent",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ if all {
+ switch v := interface{}(m.GetRtaMysqlAgent()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ChangeAgentRequestValidationError{
+ field: "RtaMysqlAgent",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ChangeAgentRequestValidationError{
+ field: "RtaMysqlAgent",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetRtaMysqlAgent()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ChangeAgentRequestValidationError{
+ field: "RtaMysqlAgent",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
default:
_ = v // ensures v is used
}
@@ -8411,6 +8759,47 @@ func (m *ChangeAgentResponse) validate(all bool) error {
}
}
+ case *ChangeAgentResponse_RtaMysqlAgent:
+ if v == nil {
+ err := ChangeAgentResponseValidationError{
+ field: "Agent",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ if all {
+ switch v := interface{}(m.GetRtaMysqlAgent()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ChangeAgentResponseValidationError{
+ field: "RtaMysqlAgent",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ChangeAgentResponseValidationError{
+ field: "RtaMysqlAgent",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetRtaMysqlAgent()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ChangeAgentResponseValidationError{
+ field: "RtaMysqlAgent",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
default:
_ = v // ensures v is used
}
@@ -14941,6 +15330,385 @@ var _ interface {
ErrorName() string
} = ChangeRTAMongoDBAgentParamsValidationError{}
+// Validate checks the field values on AddRTAMySQLAgentParams with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *AddRTAMySQLAgentParams) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on AddRTAMySQLAgentParams with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// AddRTAMySQLAgentParamsMultiError, or nil if none found.
+func (m *AddRTAMySQLAgentParams) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *AddRTAMySQLAgentParams) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ if utf8.RuneCountInString(m.GetPmmAgentId()) < 1 {
+ err := AddRTAMySQLAgentParamsValidationError{
+ field: "PmmAgentId",
+ reason: "value length must be at least 1 runes",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ if utf8.RuneCountInString(m.GetServiceId()) < 1 {
+ err := AddRTAMySQLAgentParamsValidationError{
+ field: "ServiceId",
+ reason: "value length must be at least 1 runes",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ // no validation rules for Username
+
+ // no validation rules for Password
+
+ // no validation rules for CustomLabels
+
+ // no validation rules for LogLevel
+
+ // no validation rules for Tls
+
+ // no validation rules for TlsSkipVerify
+
+ // no validation rules for TlsCa
+
+ // no validation rules for TlsCert
+
+ // no validation rules for TlsKey
+
+ // no validation rules for SkipConnectionCheck
+
+ if all {
+ switch v := interface{}(m.GetRtaOptions()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, AddRTAMySQLAgentParamsValidationError{
+ field: "RtaOptions",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, AddRTAMySQLAgentParamsValidationError{
+ field: "RtaOptions",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetRtaOptions()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return AddRTAMySQLAgentParamsValidationError{
+ field: "RtaOptions",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if len(errors) > 0 {
+ return AddRTAMySQLAgentParamsMultiError(errors)
+ }
+
+ return nil
+}
+
+// AddRTAMySQLAgentParamsMultiError is an error wrapping multiple validation
+// errors returned by AddRTAMySQLAgentParams.ValidateAll() if the designated
+// constraints aren't met.
+type AddRTAMySQLAgentParamsMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m AddRTAMySQLAgentParamsMultiError) Error() string {
+ msgs := make([]string, 0, len(m))
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m AddRTAMySQLAgentParamsMultiError) AllErrors() []error { return m }
+
+// AddRTAMySQLAgentParamsValidationError is the validation error returned by
+// AddRTAMySQLAgentParams.Validate if the designated constraints aren't met.
+type AddRTAMySQLAgentParamsValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e AddRTAMySQLAgentParamsValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e AddRTAMySQLAgentParamsValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e AddRTAMySQLAgentParamsValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e AddRTAMySQLAgentParamsValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e AddRTAMySQLAgentParamsValidationError) ErrorName() string {
+ return "AddRTAMySQLAgentParamsValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e AddRTAMySQLAgentParamsValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sAddRTAMySQLAgentParams.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause,
+ )
+}
+
+var _ error = AddRTAMySQLAgentParamsValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = AddRTAMySQLAgentParamsValidationError{}
+
+// Validate checks the field values on ChangeRTAMySQLAgentParams with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *ChangeRTAMySQLAgentParams) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on ChangeRTAMySQLAgentParams with the
+// rules defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// ChangeRTAMySQLAgentParamsMultiError, or nil if none found.
+func (m *ChangeRTAMySQLAgentParams) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *ChangeRTAMySQLAgentParams) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ if m.Enable != nil {
+ // no validation rules for Enable
+ }
+
+ if m.CustomLabels != nil {
+ if all {
+ switch v := interface{}(m.GetCustomLabels()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ChangeRTAMySQLAgentParamsValidationError{
+ field: "CustomLabels",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ChangeRTAMySQLAgentParamsValidationError{
+ field: "CustomLabels",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetCustomLabels()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ChangeRTAMySQLAgentParamsValidationError{
+ field: "CustomLabels",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+ }
+
+ if m.LogLevel != nil {
+ // no validation rules for LogLevel
+ }
+
+ if m.Username != nil {
+ // no validation rules for Username
+ }
+
+ if m.Password != nil {
+ // no validation rules for Password
+ }
+
+ if m.Tls != nil {
+ // no validation rules for Tls
+ }
+
+ if m.TlsSkipVerify != nil {
+ // no validation rules for TlsSkipVerify
+ }
+
+ if m.TlsCa != nil {
+ // no validation rules for TlsCa
+ }
+
+ if m.TlsCert != nil {
+ // no validation rules for TlsCert
+ }
+
+ if m.TlsKey != nil {
+ // no validation rules for TlsKey
+ }
+
+ if m.RtaOptions != nil {
+ if all {
+ switch v := interface{}(m.GetRtaOptions()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ChangeRTAMySQLAgentParamsValidationError{
+ field: "RtaOptions",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ChangeRTAMySQLAgentParamsValidationError{
+ field: "RtaOptions",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetRtaOptions()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ChangeRTAMySQLAgentParamsValidationError{
+ field: "RtaOptions",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+ }
+
+ if m.SkipConnectionCheck != nil {
+ // no validation rules for SkipConnectionCheck
+ }
+
+ if len(errors) > 0 {
+ return ChangeRTAMySQLAgentParamsMultiError(errors)
+ }
+
+ return nil
+}
+
+// ChangeRTAMySQLAgentParamsMultiError is an error wrapping multiple validation
+// errors returned by ChangeRTAMySQLAgentParams.ValidateAll() if the
+// designated constraints aren't met.
+type ChangeRTAMySQLAgentParamsMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m ChangeRTAMySQLAgentParamsMultiError) Error() string {
+ msgs := make([]string, 0, len(m))
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m ChangeRTAMySQLAgentParamsMultiError) AllErrors() []error { return m }
+
+// ChangeRTAMySQLAgentParamsValidationError is the validation error returned by
+// ChangeRTAMySQLAgentParams.Validate if the designated constraints aren't met.
+type ChangeRTAMySQLAgentParamsValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e ChangeRTAMySQLAgentParamsValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e ChangeRTAMySQLAgentParamsValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e ChangeRTAMySQLAgentParamsValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e ChangeRTAMySQLAgentParamsValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e ChangeRTAMySQLAgentParamsValidationError) ErrorName() string {
+ return "ChangeRTAMySQLAgentParamsValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e ChangeRTAMySQLAgentParamsValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sChangeRTAMySQLAgentParams.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause,
+ )
+}
+
+var _ error = ChangeRTAMySQLAgentParamsValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = ChangeRTAMySQLAgentParamsValidationError{}
+
// Validate checks the field values on RemoveAgentRequest with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
diff --git a/api/inventory/v1/agents.proto b/api/inventory/v1/agents.proto
index 61f618e8e8b..866060e4c3e 100644
--- a/api/inventory/v1/agents.proto
+++ b/api/inventory/v1/agents.proto
@@ -34,6 +34,7 @@ enum AgentType {
AGENT_TYPE_AZURE_DATABASE_EXPORTER = 15;
AGENT_TYPE_NOMAD_AGENT = 16;
AGENT_TYPE_RTA_MONGODB_AGENT = 19;
+ AGENT_TYPE_RTA_MYSQL_AGENT = 20;
}
// PMMAgent runs on Generic or Container Node.
@@ -576,6 +577,32 @@ message RTAMongoDBAgent {
LogLevel log_level = 11;
}
+// RTAMySQLAgent runs within pmm-agent and sends MySQL Real-Time Query Analytics data to the PMM Server.
+message RTAMySQLAgent {
+ // Unique agent identifier.
+ string agent_id = 1;
+ // The pmm-agent identifier which runs this instance.
+ string pmm_agent_id = 2;
+ // Desired Agent status: enabled (false) or disabled (true).
+ bool disabled = 3;
+ // Service identifier.
+ string service_id = 4;
+ // MySQL username for getting the currently running queries.
+ string username = 5 [(extensions.v1.sensitive) = REDACT_TYPE_FULL];
+ // Use TLS for database connections.
+ bool tls = 6;
+ // Skip TLS certificate and hostname validation.
+ bool tls_skip_verify = 7;
+ // Custom user-assigned labels.
+ map custom_labels = 8;
+ // Real-Time Analytics options.
+ RTAOptions rta_options = 9;
+ // Actual Agent status.
+ AgentStatus status = 10;
+ // Log level for exporter.
+ LogLevel log_level = 11;
+}
+
// QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.
message QANPostgreSQLPgStatementsAgent {
// Unique randomly generated instance identifier.
@@ -807,6 +834,7 @@ message ListAgentsResponse {
repeated NomadAgent nomad_agent = 16;
repeated ValkeyExporter valkey_exporter = 17;
repeated RTAMongoDBAgent rta_mongodb_agent = 19;
+ repeated RTAMySQLAgent rta_mysql_agent = 20;
}
// Get
@@ -837,6 +865,7 @@ message GetAgentResponse {
NomadAgent nomad_agent = 16;
ValkeyExporter valkey_exporter = 17;
RTAMongoDBAgent rta_mongodb_agent = 19;
+ RTAMySQLAgent rta_mysql_agent = 20;
}
}
@@ -877,6 +906,7 @@ message AddAgentRequest {
AddQANPostgreSQLPgStatMonitorAgentParams qan_postgresql_pgstatmonitor_agent = 14;
AddValkeyExporterParams valkey_exporter = 15;
AddRTAMongoDBAgentParams rta_mongodb_agent = 17;
+ AddRTAMySQLAgentParams rta_mysql_agent = 18;
}
}
@@ -899,6 +929,7 @@ message AddAgentResponse {
QANPostgreSQLPgStatMonitorAgent qan_postgresql_pgstatmonitor_agent = 14;
ValkeyExporter valkey_exporter = 15;
RTAMongoDBAgent rta_mongodb_agent = 17;
+ RTAMySQLAgent rta_mysql_agent = 18;
}
}
@@ -925,6 +956,7 @@ message ChangeAgentRequest {
ChangeNomadAgentParams nomad_agent = 15;
ChangeValkeyExporterParams valkey_exporter = 16;
ChangeRTAMongoDBAgentParams rta_mongodb_agent = 18;
+ ChangeRTAMySQLAgentParams rta_mysql_agent = 19;
}
}
@@ -949,6 +981,7 @@ message ChangeAgentResponse {
NomadAgent nomad_agent = 15;
ValkeyExporter valkey_exporter = 16;
RTAMongoDBAgent rta_mongodb_agent = 18;
+ RTAMySQLAgent rta_mysql_agent = 19;
}
}
@@ -2103,6 +2136,66 @@ message ChangeRTAMongoDBAgentParams {
optional bool skip_connection_check = 13;
}
+// Add/Change RTAMySQLAgent
+
+message AddRTAMySQLAgentParams {
+ // The pmm-agent identifier which runs this instance.
+ string pmm_agent_id = 1 [(validate.rules).string.min_len = 1];
+ // Service identifier.
+ string service_id = 2 [(validate.rules).string.min_len = 1];
+ // MySQL username for getting queries data.
+ string username = 3 [(extensions.v1.sensitive) = REDACT_TYPE_FULL];
+ // MySQL password for getting queries data.
+ string password = 4 [(extensions.v1.sensitive) = REDACT_TYPE_FULL];
+ // Custom user-assigned labels.
+ map custom_labels = 5;
+ // Log level for agent.
+ LogLevel log_level = 6;
+
+ // MySQL specific options.
+ // Use TLS for database connections.
+ bool tls = 7;
+ // Skip TLS certificate and hostname validation.
+ bool tls_skip_verify = 8;
+ // Certificate Authority certificate chain.
+ string tls_ca = 9;
+ // Client certificate.
+ string tls_cert = 10 [(extensions.v1.sensitive) = REDACT_TYPE_FULL];
+ // Client key.
+ string tls_key = 11 [(extensions.v1.sensitive) = REDACT_TYPE_FULL];
+ // Skip connection check.
+ bool skip_connection_check = 12;
+ // Real-Time Analytics options.
+ RTAOptions rta_options = 13;
+}
+
+message ChangeRTAMySQLAgentParams {
+ // Enable this Agent. Agents are enabled by default when they get added.
+ optional bool enable = 1;
+ // Replace all custom user-assigned labels.
+ optional common.StringMap custom_labels = 2;
+ // Log level for exporter.
+ optional LogLevel log_level = 3;
+ // MySQL username for getting queries data.
+ optional string username = 4 [(extensions.v1.sensitive) = REDACT_TYPE_FULL];
+ // MySQL password for getting queries data.
+ optional string password = 5 [(extensions.v1.sensitive) = REDACT_TYPE_FULL];
+ // Use TLS for database connections.
+ optional bool tls = 6;
+ // Skip TLS certificate and hostname validation.
+ optional bool tls_skip_verify = 7;
+ // Certificate Authority certificate chain.
+ optional string tls_ca = 8;
+ // Client certificate.
+ optional string tls_cert = 9 [(extensions.v1.sensitive) = REDACT_TYPE_FULL];
+ // Client key.
+ optional string tls_key = 10 [(extensions.v1.sensitive) = REDACT_TYPE_FULL];
+ // Real-Time Analytics options.
+ optional RTAOptions rta_options = 11;
+ // Skip connection check.
+ optional bool skip_connection_check = 12;
+}
+
// Remove
message RemoveAgentRequest {
diff --git a/api/inventory/v1/json/client/agents_service/add_agent_responses.go b/api/inventory/v1/json/client/agents_service/add_agent_responses.go
index d8d1b5c36a0..3208f1322dc 100644
--- a/api/inventory/v1/json/client/agents_service/add_agent_responses.go
+++ b/api/inventory/v1/json/client/agents_service/add_agent_responses.go
@@ -238,6 +238,9 @@ type AddAgentBody struct {
// rta mongodb agent
RtaMongodbAgent *AddAgentParamsBodyRtaMongodbAgent `json:"rta_mongodb_agent,omitempty"`
+ // rta mysql agent
+ RtaMysqlAgent *AddAgentParamsBodyRtaMysqlAgent `json:"rta_mysql_agent,omitempty"`
+
// valkey exporter
ValkeyExporter *AddAgentParamsBodyValkeyExporter `json:"valkey_exporter,omitempty"`
}
@@ -310,6 +313,10 @@ func (o *AddAgentBody) Validate(formats strfmt.Registry) error {
res = append(res, err)
}
+ if err := o.validateRtaMysqlAgent(formats); err != nil {
+ res = append(res, err)
+ }
+
if err := o.validateValkeyExporter(formats); err != nil {
res = append(res, err)
}
@@ -688,6 +695,29 @@ func (o *AddAgentBody) validateRtaMongodbAgent(formats strfmt.Registry) error {
return nil
}
+func (o *AddAgentBody) validateRtaMysqlAgent(formats strfmt.Registry) error {
+ if swag.IsZero(o.RtaMysqlAgent) { // not required
+ return nil
+ }
+
+ if o.RtaMysqlAgent != nil {
+ if err := o.RtaMysqlAgent.Validate(formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("body" + "." + "rta_mysql_agent")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("body" + "." + "rta_mysql_agent")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
func (o *AddAgentBody) validateValkeyExporter(formats strfmt.Registry) error {
if swag.IsZero(o.ValkeyExporter) { // not required
return nil
@@ -779,6 +809,10 @@ func (o *AddAgentBody) ContextValidate(ctx context.Context, formats strfmt.Regis
res = append(res, err)
}
+ if err := o.contextValidateRtaMysqlAgent(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
if err := o.contextValidateValkeyExporter(ctx, formats); err != nil {
res = append(res, err)
}
@@ -1173,6 +1207,30 @@ func (o *AddAgentBody) contextValidateRtaMongodbAgent(ctx context.Context, forma
return nil
}
+func (o *AddAgentBody) contextValidateRtaMysqlAgent(ctx context.Context, formats strfmt.Registry) error {
+ if o.RtaMysqlAgent != nil {
+
+ if swag.IsZero(o.RtaMysqlAgent) { // not required
+ return nil
+ }
+
+ if err := o.RtaMysqlAgent.ContextValidate(ctx, formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("body" + "." + "rta_mysql_agent")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("body" + "." + "rta_mysql_agent")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
func (o *AddAgentBody) contextValidateValkeyExporter(ctx context.Context, formats strfmt.Registry) error {
if o.ValkeyExporter != nil {
@@ -1496,6 +1554,9 @@ type AddAgentOKBody struct {
// rta mongodb agent
RtaMongodbAgent *AddAgentOKBodyRtaMongodbAgent `json:"rta_mongodb_agent,omitempty"`
+ // rta mysql agent
+ RtaMysqlAgent *AddAgentOKBodyRtaMysqlAgent `json:"rta_mysql_agent,omitempty"`
+
// valkey exporter
ValkeyExporter *AddAgentOKBodyValkeyExporter `json:"valkey_exporter,omitempty"`
}
@@ -1568,6 +1629,10 @@ func (o *AddAgentOKBody) Validate(formats strfmt.Registry) error {
res = append(res, err)
}
+ if err := o.validateRtaMysqlAgent(formats); err != nil {
+ res = append(res, err)
+ }
+
if err := o.validateValkeyExporter(formats); err != nil {
res = append(res, err)
}
@@ -1946,6 +2011,29 @@ func (o *AddAgentOKBody) validateRtaMongodbAgent(formats strfmt.Registry) error
return nil
}
+func (o *AddAgentOKBody) validateRtaMysqlAgent(formats strfmt.Registry) error {
+ if swag.IsZero(o.RtaMysqlAgent) { // not required
+ return nil
+ }
+
+ if o.RtaMysqlAgent != nil {
+ if err := o.RtaMysqlAgent.Validate(formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("addAgentOk" + "." + "rta_mysql_agent")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("addAgentOk" + "." + "rta_mysql_agent")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
func (o *AddAgentOKBody) validateValkeyExporter(formats strfmt.Registry) error {
if swag.IsZero(o.ValkeyExporter) { // not required
return nil
@@ -2037,6 +2125,10 @@ func (o *AddAgentOKBody) ContextValidate(ctx context.Context, formats strfmt.Reg
res = append(res, err)
}
+ if err := o.contextValidateRtaMysqlAgent(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
if err := o.contextValidateValkeyExporter(ctx, formats); err != nil {
res = append(res, err)
}
@@ -2431,6 +2523,30 @@ func (o *AddAgentOKBody) contextValidateRtaMongodbAgent(ctx context.Context, for
return nil
}
+func (o *AddAgentOKBody) contextValidateRtaMysqlAgent(ctx context.Context, formats strfmt.Registry) error {
+ if o.RtaMysqlAgent != nil {
+
+ if swag.IsZero(o.RtaMysqlAgent) { // not required
+ return nil
+ }
+
+ if err := o.RtaMysqlAgent.ContextValidate(ctx, formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("addAgentOk" + "." + "rta_mysql_agent")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("addAgentOk" + "." + "rta_mysql_agent")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
func (o *AddAgentOKBody) contextValidateValkeyExporter(ctx context.Context, formats strfmt.Registry) error {
if o.ValkeyExporter != nil {
@@ -6685,6 +6801,309 @@ func (o *AddAgentOKBodyRtaMongodbAgentRtaOptions) UnmarshalBinary(b []byte) erro
return nil
}
+/*
+AddAgentOKBodyRtaMysqlAgent RTAMySQLAgent runs within pmm-agent and sends MySQL Real-Time Query Analytics data to the PMM Server.
+swagger:model AddAgentOKBodyRtaMysqlAgent
+*/
+type AddAgentOKBodyRtaMysqlAgent struct {
+ // Unique agent identifier.
+ AgentID string `json:"agent_id,omitempty"`
+
+ // The pmm-agent identifier which runs this instance.
+ PMMAgentID string `json:"pmm_agent_id,omitempty"`
+
+ // Desired Agent status: enabled (false) or disabled (true).
+ Disabled bool `json:"disabled,omitempty"`
+
+ // Service identifier.
+ ServiceID string `json:"service_id,omitempty"`
+
+ // MySQL username for getting the currently running queries.
+ Username string `json:"username,omitempty"`
+
+ // Use TLS for database connections.
+ TLS bool `json:"tls,omitempty"`
+
+ // Skip TLS certificate and hostname validation.
+ TLSSkipVerify bool `json:"tls_skip_verify,omitempty"`
+
+ // Custom user-assigned labels.
+ CustomLabels map[string]string `json:"custom_labels,omitempty"`
+
+ // AgentStatus represents actual Agent status.
+ //
+ // - AGENT_STATUS_STARTING: Agent is starting.
+ // - AGENT_STATUS_INITIALIZATION_ERROR: Agent encountered error when starting.
+ // - AGENT_STATUS_RUNNING: Agent is running.
+ // - AGENT_STATUS_WAITING: Agent encountered error and will be restarted automatically soon.
+ // - AGENT_STATUS_STOPPING: Agent is stopping.
+ // - AGENT_STATUS_DONE: Agent has been stopped or disabled.
+ // - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.
+ // Enum: ["AGENT_STATUS_UNSPECIFIED","AGENT_STATUS_STARTING","AGENT_STATUS_INITIALIZATION_ERROR","AGENT_STATUS_RUNNING","AGENT_STATUS_WAITING","AGENT_STATUS_STOPPING","AGENT_STATUS_DONE","AGENT_STATUS_UNKNOWN"]
+ Status *string `json:"status,omitempty"`
+
+ // Log level for exporters
+ //
+ // - LOG_LEVEL_UNSPECIFIED: Auto
+ // Enum: ["LOG_LEVEL_UNSPECIFIED","LOG_LEVEL_FATAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARN","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG"]
+ LogLevel *string `json:"log_level,omitempty"`
+
+ // rta options
+ RtaOptions *AddAgentOKBodyRtaMysqlAgentRtaOptions `json:"rta_options,omitempty"`
+}
+
+// Validate validates this add agent OK body rta mysql agent
+func (o *AddAgentOKBodyRtaMysqlAgent) Validate(formats strfmt.Registry) error {
+ var res []error
+
+ if err := o.validateStatus(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := o.validateLogLevel(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := o.validateRtaOptions(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
+
+var addAgentOkBodyRtaMysqlAgentTypeStatusPropEnum []any
+
+func init() {
+ var res []string
+ if err := json.Unmarshal([]byte(`["AGENT_STATUS_UNSPECIFIED","AGENT_STATUS_STARTING","AGENT_STATUS_INITIALIZATION_ERROR","AGENT_STATUS_RUNNING","AGENT_STATUS_WAITING","AGENT_STATUS_STOPPING","AGENT_STATUS_DONE","AGENT_STATUS_UNKNOWN"]`), &res); err != nil {
+ panic(err)
+ }
+ for _, v := range res {
+ addAgentOkBodyRtaMysqlAgentTypeStatusPropEnum = append(addAgentOkBodyRtaMysqlAgentTypeStatusPropEnum, v)
+ }
+}
+
+const (
+
+ // AddAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSUNSPECIFIED captures enum value "AGENT_STATUS_UNSPECIFIED"
+ AddAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSUNSPECIFIED string = "AGENT_STATUS_UNSPECIFIED"
+
+ // AddAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSSTARTING captures enum value "AGENT_STATUS_STARTING"
+ AddAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSSTARTING string = "AGENT_STATUS_STARTING"
+
+ // AddAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSINITIALIZATIONERROR captures enum value "AGENT_STATUS_INITIALIZATION_ERROR"
+ AddAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSINITIALIZATIONERROR string = "AGENT_STATUS_INITIALIZATION_ERROR"
+
+ // AddAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSRUNNING captures enum value "AGENT_STATUS_RUNNING"
+ AddAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSRUNNING string = "AGENT_STATUS_RUNNING"
+
+ // AddAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSWAITING captures enum value "AGENT_STATUS_WAITING"
+ AddAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSWAITING string = "AGENT_STATUS_WAITING"
+
+ // AddAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSSTOPPING captures enum value "AGENT_STATUS_STOPPING"
+ AddAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSSTOPPING string = "AGENT_STATUS_STOPPING"
+
+ // AddAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSDONE captures enum value "AGENT_STATUS_DONE"
+ AddAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSDONE string = "AGENT_STATUS_DONE"
+
+ // AddAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSUNKNOWN captures enum value "AGENT_STATUS_UNKNOWN"
+ AddAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSUNKNOWN string = "AGENT_STATUS_UNKNOWN"
+)
+
+// prop value enum
+func (o *AddAgentOKBodyRtaMysqlAgent) validateStatusEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, addAgentOkBodyRtaMysqlAgentTypeStatusPropEnum, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *AddAgentOKBodyRtaMysqlAgent) validateStatus(formats strfmt.Registry) error {
+ if swag.IsZero(o.Status) { // not required
+ return nil
+ }
+
+ // value enum
+ if err := o.validateStatusEnum("addAgentOk"+"."+"rta_mysql_agent"+"."+"status", "body", *o.Status); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+var addAgentOkBodyRtaMysqlAgentTypeLogLevelPropEnum []any
+
+func init() {
+ var res []string
+ if err := json.Unmarshal([]byte(`["LOG_LEVEL_UNSPECIFIED","LOG_LEVEL_FATAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARN","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG"]`), &res); err != nil {
+ panic(err)
+ }
+ for _, v := range res {
+ addAgentOkBodyRtaMysqlAgentTypeLogLevelPropEnum = append(addAgentOkBodyRtaMysqlAgentTypeLogLevelPropEnum, v)
+ }
+}
+
+const (
+
+ // AddAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
+ AddAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
+
+ // AddAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
+ AddAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
+
+ // AddAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
+ AddAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
+
+ // AddAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
+ AddAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
+
+ // AddAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
+ AddAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
+
+ // AddAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
+ AddAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
+)
+
+// prop value enum
+func (o *AddAgentOKBodyRtaMysqlAgent) validateLogLevelEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, addAgentOkBodyRtaMysqlAgentTypeLogLevelPropEnum, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *AddAgentOKBodyRtaMysqlAgent) validateLogLevel(formats strfmt.Registry) error {
+ if swag.IsZero(o.LogLevel) { // not required
+ return nil
+ }
+
+ // value enum
+ if err := o.validateLogLevelEnum("addAgentOk"+"."+"rta_mysql_agent"+"."+"log_level", "body", *o.LogLevel); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (o *AddAgentOKBodyRtaMysqlAgent) validateRtaOptions(formats strfmt.Registry) error {
+ if swag.IsZero(o.RtaOptions) { // not required
+ return nil
+ }
+
+ if o.RtaOptions != nil {
+ if err := o.RtaOptions.Validate(formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("addAgentOk" + "." + "rta_mysql_agent" + "." + "rta_options")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("addAgentOk" + "." + "rta_mysql_agent" + "." + "rta_options")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
+// ContextValidate validate this add agent OK body rta mysql agent based on the context it is used
+func (o *AddAgentOKBodyRtaMysqlAgent) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+ var res []error
+
+ if err := o.contextValidateRtaOptions(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
+
+func (o *AddAgentOKBodyRtaMysqlAgent) contextValidateRtaOptions(ctx context.Context, formats strfmt.Registry) error {
+ if o.RtaOptions != nil {
+
+ if swag.IsZero(o.RtaOptions) { // not required
+ return nil
+ }
+
+ if err := o.RtaOptions.ContextValidate(ctx, formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("addAgentOk" + "." + "rta_mysql_agent" + "." + "rta_options")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("addAgentOk" + "." + "rta_mysql_agent" + "." + "rta_options")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
+// MarshalBinary interface implementation
+func (o *AddAgentOKBodyRtaMysqlAgent) MarshalBinary() ([]byte, error) {
+ if o == nil {
+ return nil, nil
+ }
+ return swag.WriteJSON(o)
+}
+
+// UnmarshalBinary interface implementation
+func (o *AddAgentOKBodyRtaMysqlAgent) UnmarshalBinary(b []byte) error {
+ var res AddAgentOKBodyRtaMysqlAgent
+ if err := swag.ReadJSON(b, &res); err != nil {
+ return err
+ }
+ *o = res
+ return nil
+}
+
+/*
+AddAgentOKBodyRtaMysqlAgentRtaOptions RTAOptions holds Real-Time Query Analytics agent options.
+swagger:model AddAgentOKBodyRtaMysqlAgentRtaOptions
+*/
+type AddAgentOKBodyRtaMysqlAgentRtaOptions struct {
+ // Query collect interval (default 2s is set by server).
+ CollectInterval string `json:"collect_interval,omitempty"`
+}
+
+// Validate validates this add agent OK body rta mysql agent rta options
+func (o *AddAgentOKBodyRtaMysqlAgentRtaOptions) Validate(formats strfmt.Registry) error {
+ return nil
+}
+
+// ContextValidate validates this add agent OK body rta mysql agent rta options based on context it is used
+func (o *AddAgentOKBodyRtaMysqlAgentRtaOptions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+ return nil
+}
+
+// MarshalBinary interface implementation
+func (o *AddAgentOKBodyRtaMysqlAgentRtaOptions) MarshalBinary() ([]byte, error) {
+ if o == nil {
+ return nil, nil
+ }
+ return swag.WriteJSON(o)
+}
+
+// UnmarshalBinary interface implementation
+func (o *AddAgentOKBodyRtaMysqlAgentRtaOptions) UnmarshalBinary(b []byte) error {
+ var res AddAgentOKBodyRtaMysqlAgentRtaOptions
+ if err := swag.ReadJSON(b, &res); err != nil {
+ return err
+ }
+ *o = res
+ return nil
+}
+
/*
AddAgentOKBodyValkeyExporter ValkeyExporter runs on Generic or Container Node and exposes Valkey Service metrics.
swagger:model AddAgentOKBodyValkeyExporter
@@ -9193,6 +9612,243 @@ func (o *AddAgentParamsBodyRtaMongodbAgentRtaOptions) UnmarshalBinary(b []byte)
return nil
}
+/*
+AddAgentParamsBodyRtaMysqlAgent add agent params body rta mysql agent
+swagger:model AddAgentParamsBodyRtaMysqlAgent
+*/
+type AddAgentParamsBodyRtaMysqlAgent struct {
+ // The pmm-agent identifier which runs this instance.
+ PMMAgentID string `json:"pmm_agent_id,omitempty"`
+
+ // Service identifier.
+ ServiceID string `json:"service_id,omitempty"`
+
+ // MySQL username for getting queries data.
+ Username string `json:"username,omitempty"`
+
+ // MySQL password for getting queries data.
+ Password string `json:"password,omitempty"`
+
+ // Custom user-assigned labels.
+ CustomLabels map[string]string `json:"custom_labels,omitempty"`
+
+ // Log level for exporters
+ //
+ // - LOG_LEVEL_UNSPECIFIED: Auto
+ // Enum: ["LOG_LEVEL_UNSPECIFIED","LOG_LEVEL_FATAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARN","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG"]
+ LogLevel *string `json:"log_level,omitempty"`
+
+ // MySQL specific options.
+ // Use TLS for database connections.
+ TLS bool `json:"tls,omitempty"`
+
+ // Skip TLS certificate and hostname validation.
+ TLSSkipVerify bool `json:"tls_skip_verify,omitempty"`
+
+ // Certificate Authority certificate chain.
+ TLSCa string `json:"tls_ca,omitempty"`
+
+ // Client certificate.
+ TLSCert string `json:"tls_cert,omitempty"`
+
+ // Client key.
+ TLSKey string `json:"tls_key,omitempty"`
+
+ // Skip connection check.
+ SkipConnectionCheck bool `json:"skip_connection_check,omitempty"`
+
+ // rta options
+ RtaOptions *AddAgentParamsBodyRtaMysqlAgentRtaOptions `json:"rta_options,omitempty"`
+}
+
+// Validate validates this add agent params body rta mysql agent
+func (o *AddAgentParamsBodyRtaMysqlAgent) Validate(formats strfmt.Registry) error {
+ var res []error
+
+ if err := o.validateLogLevel(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := o.validateRtaOptions(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
+
+var addAgentParamsBodyRtaMysqlAgentTypeLogLevelPropEnum []any
+
+func init() {
+ var res []string
+ if err := json.Unmarshal([]byte(`["LOG_LEVEL_UNSPECIFIED","LOG_LEVEL_FATAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARN","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG"]`), &res); err != nil {
+ panic(err)
+ }
+ for _, v := range res {
+ addAgentParamsBodyRtaMysqlAgentTypeLogLevelPropEnum = append(addAgentParamsBodyRtaMysqlAgentTypeLogLevelPropEnum, v)
+ }
+}
+
+const (
+
+ // AddAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
+ AddAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
+
+ // AddAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
+ AddAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
+
+ // AddAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
+ AddAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
+
+ // AddAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
+ AddAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
+
+ // AddAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
+ AddAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
+
+ // AddAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
+ AddAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
+)
+
+// prop value enum
+func (o *AddAgentParamsBodyRtaMysqlAgent) validateLogLevelEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, addAgentParamsBodyRtaMysqlAgentTypeLogLevelPropEnum, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *AddAgentParamsBodyRtaMysqlAgent) validateLogLevel(formats strfmt.Registry) error {
+ if swag.IsZero(o.LogLevel) { // not required
+ return nil
+ }
+
+ // value enum
+ if err := o.validateLogLevelEnum("body"+"."+"rta_mysql_agent"+"."+"log_level", "body", *o.LogLevel); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (o *AddAgentParamsBodyRtaMysqlAgent) validateRtaOptions(formats strfmt.Registry) error {
+ if swag.IsZero(o.RtaOptions) { // not required
+ return nil
+ }
+
+ if o.RtaOptions != nil {
+ if err := o.RtaOptions.Validate(formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("body" + "." + "rta_mysql_agent" + "." + "rta_options")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("body" + "." + "rta_mysql_agent" + "." + "rta_options")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
+// ContextValidate validate this add agent params body rta mysql agent based on the context it is used
+func (o *AddAgentParamsBodyRtaMysqlAgent) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+ var res []error
+
+ if err := o.contextValidateRtaOptions(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
+
+func (o *AddAgentParamsBodyRtaMysqlAgent) contextValidateRtaOptions(ctx context.Context, formats strfmt.Registry) error {
+ if o.RtaOptions != nil {
+
+ if swag.IsZero(o.RtaOptions) { // not required
+ return nil
+ }
+
+ if err := o.RtaOptions.ContextValidate(ctx, formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("body" + "." + "rta_mysql_agent" + "." + "rta_options")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("body" + "." + "rta_mysql_agent" + "." + "rta_options")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
+// MarshalBinary interface implementation
+func (o *AddAgentParamsBodyRtaMysqlAgent) MarshalBinary() ([]byte, error) {
+ if o == nil {
+ return nil, nil
+ }
+ return swag.WriteJSON(o)
+}
+
+// UnmarshalBinary interface implementation
+func (o *AddAgentParamsBodyRtaMysqlAgent) UnmarshalBinary(b []byte) error {
+ var res AddAgentParamsBodyRtaMysqlAgent
+ if err := swag.ReadJSON(b, &res); err != nil {
+ return err
+ }
+ *o = res
+ return nil
+}
+
+/*
+AddAgentParamsBodyRtaMysqlAgentRtaOptions RTAOptions holds Real-Time Query Analytics agent options.
+swagger:model AddAgentParamsBodyRtaMysqlAgentRtaOptions
+*/
+type AddAgentParamsBodyRtaMysqlAgentRtaOptions struct {
+ // Query collect interval (default 2s is set by server).
+ CollectInterval string `json:"collect_interval,omitempty"`
+}
+
+// Validate validates this add agent params body rta mysql agent rta options
+func (o *AddAgentParamsBodyRtaMysqlAgentRtaOptions) Validate(formats strfmt.Registry) error {
+ return nil
+}
+
+// ContextValidate validates this add agent params body rta mysql agent rta options based on context it is used
+func (o *AddAgentParamsBodyRtaMysqlAgentRtaOptions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+ return nil
+}
+
+// MarshalBinary interface implementation
+func (o *AddAgentParamsBodyRtaMysqlAgentRtaOptions) MarshalBinary() ([]byte, error) {
+ if o == nil {
+ return nil, nil
+ }
+ return swag.WriteJSON(o)
+}
+
+// UnmarshalBinary interface implementation
+func (o *AddAgentParamsBodyRtaMysqlAgentRtaOptions) UnmarshalBinary(b []byte) error {
+ var res AddAgentParamsBodyRtaMysqlAgentRtaOptions
+ if err := swag.ReadJSON(b, &res); err != nil {
+ return err
+ }
+ *o = res
+ return nil
+}
+
/*
AddAgentParamsBodyValkeyExporter add agent params body valkey exporter
swagger:model AddAgentParamsBodyValkeyExporter
diff --git a/api/inventory/v1/json/client/agents_service/change_agent_responses.go b/api/inventory/v1/json/client/agents_service/change_agent_responses.go
index bf28c81773b..d4c49640b01 100644
--- a/api/inventory/v1/json/client/agents_service/change_agent_responses.go
+++ b/api/inventory/v1/json/client/agents_service/change_agent_responses.go
@@ -238,6 +238,9 @@ type ChangeAgentBody struct {
// rta mongodb agent
RtaMongodbAgent *ChangeAgentParamsBodyRtaMongodbAgent `json:"rta_mongodb_agent,omitempty"`
+ // rta mysql agent
+ RtaMysqlAgent *ChangeAgentParamsBodyRtaMysqlAgent `json:"rta_mysql_agent,omitempty"`
+
// valkey exporter
ValkeyExporter *ChangeAgentParamsBodyValkeyExporter `json:"valkey_exporter,omitempty"`
}
@@ -310,6 +313,10 @@ func (o *ChangeAgentBody) Validate(formats strfmt.Registry) error {
res = append(res, err)
}
+ if err := o.validateRtaMysqlAgent(formats); err != nil {
+ res = append(res, err)
+ }
+
if err := o.validateValkeyExporter(formats); err != nil {
res = append(res, err)
}
@@ -688,6 +695,29 @@ func (o *ChangeAgentBody) validateRtaMongodbAgent(formats strfmt.Registry) error
return nil
}
+func (o *ChangeAgentBody) validateRtaMysqlAgent(formats strfmt.Registry) error {
+ if swag.IsZero(o.RtaMysqlAgent) { // not required
+ return nil
+ }
+
+ if o.RtaMysqlAgent != nil {
+ if err := o.RtaMysqlAgent.Validate(formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("body" + "." + "rta_mysql_agent")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("body" + "." + "rta_mysql_agent")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
func (o *ChangeAgentBody) validateValkeyExporter(formats strfmt.Registry) error {
if swag.IsZero(o.ValkeyExporter) { // not required
return nil
@@ -779,6 +809,10 @@ func (o *ChangeAgentBody) ContextValidate(ctx context.Context, formats strfmt.Re
res = append(res, err)
}
+ if err := o.contextValidateRtaMysqlAgent(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
if err := o.contextValidateValkeyExporter(ctx, formats); err != nil {
res = append(res, err)
}
@@ -1173,6 +1207,30 @@ func (o *ChangeAgentBody) contextValidateRtaMongodbAgent(ctx context.Context, fo
return nil
}
+func (o *ChangeAgentBody) contextValidateRtaMysqlAgent(ctx context.Context, formats strfmt.Registry) error {
+ if o.RtaMysqlAgent != nil {
+
+ if swag.IsZero(o.RtaMysqlAgent) { // not required
+ return nil
+ }
+
+ if err := o.RtaMysqlAgent.ContextValidate(ctx, formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("body" + "." + "rta_mysql_agent")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("body" + "." + "rta_mysql_agent")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
func (o *ChangeAgentBody) contextValidateValkeyExporter(ctx context.Context, formats strfmt.Registry) error {
if o.ValkeyExporter != nil {
@@ -1496,6 +1554,9 @@ type ChangeAgentOKBody struct {
// rta mongodb agent
RtaMongodbAgent *ChangeAgentOKBodyRtaMongodbAgent `json:"rta_mongodb_agent,omitempty"`
+ // rta mysql agent
+ RtaMysqlAgent *ChangeAgentOKBodyRtaMysqlAgent `json:"rta_mysql_agent,omitempty"`
+
// valkey exporter
ValkeyExporter *ChangeAgentOKBodyValkeyExporter `json:"valkey_exporter,omitempty"`
}
@@ -1568,6 +1629,10 @@ func (o *ChangeAgentOKBody) Validate(formats strfmt.Registry) error {
res = append(res, err)
}
+ if err := o.validateRtaMysqlAgent(formats); err != nil {
+ res = append(res, err)
+ }
+
if err := o.validateValkeyExporter(formats); err != nil {
res = append(res, err)
}
@@ -1946,6 +2011,29 @@ func (o *ChangeAgentOKBody) validateRtaMongodbAgent(formats strfmt.Registry) err
return nil
}
+func (o *ChangeAgentOKBody) validateRtaMysqlAgent(formats strfmt.Registry) error {
+ if swag.IsZero(o.RtaMysqlAgent) { // not required
+ return nil
+ }
+
+ if o.RtaMysqlAgent != nil {
+ if err := o.RtaMysqlAgent.Validate(formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("changeAgentOk" + "." + "rta_mysql_agent")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("changeAgentOk" + "." + "rta_mysql_agent")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
func (o *ChangeAgentOKBody) validateValkeyExporter(formats strfmt.Registry) error {
if swag.IsZero(o.ValkeyExporter) { // not required
return nil
@@ -2037,6 +2125,10 @@ func (o *ChangeAgentOKBody) ContextValidate(ctx context.Context, formats strfmt.
res = append(res, err)
}
+ if err := o.contextValidateRtaMysqlAgent(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
if err := o.contextValidateValkeyExporter(ctx, formats); err != nil {
res = append(res, err)
}
@@ -2431,6 +2523,30 @@ func (o *ChangeAgentOKBody) contextValidateRtaMongodbAgent(ctx context.Context,
return nil
}
+func (o *ChangeAgentOKBody) contextValidateRtaMysqlAgent(ctx context.Context, formats strfmt.Registry) error {
+ if o.RtaMysqlAgent != nil {
+
+ if swag.IsZero(o.RtaMysqlAgent) { // not required
+ return nil
+ }
+
+ if err := o.RtaMysqlAgent.ContextValidate(ctx, formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("changeAgentOk" + "." + "rta_mysql_agent")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("changeAgentOk" + "." + "rta_mysql_agent")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
func (o *ChangeAgentOKBody) contextValidateValkeyExporter(ctx context.Context, formats strfmt.Registry) error {
if o.ValkeyExporter != nil {
@@ -6767,11 +6883,11 @@ func (o *ChangeAgentOKBodyRtaMongodbAgentRtaOptions) UnmarshalBinary(b []byte) e
}
/*
-ChangeAgentOKBodyValkeyExporter ValkeyExporter runs on Generic or Container Node and exposes Valkey Service metrics.
-swagger:model ChangeAgentOKBodyValkeyExporter
+ChangeAgentOKBodyRtaMysqlAgent RTAMySQLAgent runs within pmm-agent and sends MySQL Real-Time Query Analytics data to the PMM Server.
+swagger:model ChangeAgentOKBodyRtaMysqlAgent
*/
-type ChangeAgentOKBodyValkeyExporter struct {
- // Unique randomly generated instance identifier.
+type ChangeAgentOKBodyRtaMysqlAgent struct {
+ // Unique agent identifier.
AgentID string `json:"agent_id,omitempty"`
// The pmm-agent identifier which runs this instance.
@@ -6783,24 +6899,18 @@ type ChangeAgentOKBodyValkeyExporter struct {
// Service identifier.
ServiceID string `json:"service_id,omitempty"`
- // Valkey username for scraping metrics.
+ // MySQL username for getting the currently running queries.
Username string `json:"username,omitempty"`
// Use TLS for database connections.
TLS bool `json:"tls,omitempty"`
- // Skip TLS certificate and hostname verification.
+ // Skip TLS certificate and hostname validation.
TLSSkipVerify bool `json:"tls_skip_verify,omitempty"`
// Custom user-assigned labels.
CustomLabels map[string]string `json:"custom_labels,omitempty"`
- // True if exporter uses push metrics mode.
- PushMetricsEnabled bool `json:"push_metrics_enabled,omitempty"`
-
- // List of disabled collector names.
- DisabledCollectors []string `json:"disabled_collectors"`
-
// AgentStatus represents actual Agent status.
//
// - AGENT_STATUS_STARTING: Agent is starting.
@@ -6813,31 +6923,29 @@ type ChangeAgentOKBodyValkeyExporter struct {
// Enum: ["AGENT_STATUS_UNSPECIFIED","AGENT_STATUS_STARTING","AGENT_STATUS_INITIALIZATION_ERROR","AGENT_STATUS_RUNNING","AGENT_STATUS_WAITING","AGENT_STATUS_STOPPING","AGENT_STATUS_DONE","AGENT_STATUS_UNKNOWN"]
Status *string `json:"status,omitempty"`
- // Listen port for scraping metrics.
- ListenPort int64 `json:"listen_port,omitempty"`
-
- // Path to exec process.
- ProcessExecPath string `json:"process_exec_path,omitempty"`
-
- // Optionally expose the exporter process on all public interfaces
- ExposeExporter bool `json:"expose_exporter,omitempty"`
-
- // Connection timeout for exporter (if set).
- ConnectionTimeout string `json:"connection_timeout,omitempty"`
+ // Log level for exporters
+ //
+ // - LOG_LEVEL_UNSPECIFIED: Auto
+ // Enum: ["LOG_LEVEL_UNSPECIFIED","LOG_LEVEL_FATAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARN","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG"]
+ LogLevel *string `json:"log_level,omitempty"`
- // metrics resolutions
- MetricsResolutions *ChangeAgentOKBodyValkeyExporterMetricsResolutions `json:"metrics_resolutions,omitempty"`
+ // rta options
+ RtaOptions *ChangeAgentOKBodyRtaMysqlAgentRtaOptions `json:"rta_options,omitempty"`
}
-// Validate validates this change agent OK body valkey exporter
-func (o *ChangeAgentOKBodyValkeyExporter) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent OK body rta mysql agent
+func (o *ChangeAgentOKBodyRtaMysqlAgent) Validate(formats strfmt.Registry) error {
var res []error
if err := o.validateStatus(formats); err != nil {
res = append(res, err)
}
- if err := o.validateMetricsResolutions(formats); err != nil {
+ if err := o.validateLogLevel(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := o.validateRtaOptions(formats); err != nil {
res = append(res, err)
}
@@ -6847,7 +6955,7 @@ func (o *ChangeAgentOKBodyValkeyExporter) Validate(formats strfmt.Registry) erro
return nil
}
-var changeAgentOkBodyValkeyExporterTypeStatusPropEnum []any
+var changeAgentOkBodyRtaMysqlAgentTypeStatusPropEnum []any
func init() {
var res []string
@@ -6855,72 +6963,126 @@ func init() {
panic(err)
}
for _, v := range res {
- changeAgentOkBodyValkeyExporterTypeStatusPropEnum = append(changeAgentOkBodyValkeyExporterTypeStatusPropEnum, v)
+ changeAgentOkBodyRtaMysqlAgentTypeStatusPropEnum = append(changeAgentOkBodyRtaMysqlAgentTypeStatusPropEnum, v)
}
}
const (
- // ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSUNSPECIFIED captures enum value "AGENT_STATUS_UNSPECIFIED"
- ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSUNSPECIFIED string = "AGENT_STATUS_UNSPECIFIED"
+ // ChangeAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSUNSPECIFIED captures enum value "AGENT_STATUS_UNSPECIFIED"
+ ChangeAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSUNSPECIFIED string = "AGENT_STATUS_UNSPECIFIED"
- // ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSSTARTING captures enum value "AGENT_STATUS_STARTING"
- ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSSTARTING string = "AGENT_STATUS_STARTING"
+ // ChangeAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSSTARTING captures enum value "AGENT_STATUS_STARTING"
+ ChangeAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSSTARTING string = "AGENT_STATUS_STARTING"
- // ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSINITIALIZATIONERROR captures enum value "AGENT_STATUS_INITIALIZATION_ERROR"
- ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSINITIALIZATIONERROR string = "AGENT_STATUS_INITIALIZATION_ERROR"
+ // ChangeAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSINITIALIZATIONERROR captures enum value "AGENT_STATUS_INITIALIZATION_ERROR"
+ ChangeAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSINITIALIZATIONERROR string = "AGENT_STATUS_INITIALIZATION_ERROR"
- // ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSRUNNING captures enum value "AGENT_STATUS_RUNNING"
- ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSRUNNING string = "AGENT_STATUS_RUNNING"
+ // ChangeAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSRUNNING captures enum value "AGENT_STATUS_RUNNING"
+ ChangeAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSRUNNING string = "AGENT_STATUS_RUNNING"
- // ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSWAITING captures enum value "AGENT_STATUS_WAITING"
- ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSWAITING string = "AGENT_STATUS_WAITING"
+ // ChangeAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSWAITING captures enum value "AGENT_STATUS_WAITING"
+ ChangeAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSWAITING string = "AGENT_STATUS_WAITING"
- // ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSSTOPPING captures enum value "AGENT_STATUS_STOPPING"
- ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSSTOPPING string = "AGENT_STATUS_STOPPING"
+ // ChangeAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSSTOPPING captures enum value "AGENT_STATUS_STOPPING"
+ ChangeAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSSTOPPING string = "AGENT_STATUS_STOPPING"
- // ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSDONE captures enum value "AGENT_STATUS_DONE"
- ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSDONE string = "AGENT_STATUS_DONE"
+ // ChangeAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSDONE captures enum value "AGENT_STATUS_DONE"
+ ChangeAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSDONE string = "AGENT_STATUS_DONE"
- // ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSUNKNOWN captures enum value "AGENT_STATUS_UNKNOWN"
- ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSUNKNOWN string = "AGENT_STATUS_UNKNOWN"
+ // ChangeAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSUNKNOWN captures enum value "AGENT_STATUS_UNKNOWN"
+ ChangeAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSUNKNOWN string = "AGENT_STATUS_UNKNOWN"
)
// prop value enum
-func (o *ChangeAgentOKBodyValkeyExporter) validateStatusEnum(path, location string, value string) error {
- if err := validate.EnumCase(path, location, value, changeAgentOkBodyValkeyExporterTypeStatusPropEnum, true); err != nil {
+func (o *ChangeAgentOKBodyRtaMysqlAgent) validateStatusEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, changeAgentOkBodyRtaMysqlAgentTypeStatusPropEnum, true); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentOKBodyValkeyExporter) validateStatus(formats strfmt.Registry) error {
+func (o *ChangeAgentOKBodyRtaMysqlAgent) validateStatus(formats strfmt.Registry) error {
if swag.IsZero(o.Status) { // not required
return nil
}
// value enum
- if err := o.validateStatusEnum("changeAgentOk"+"."+"valkey_exporter"+"."+"status", "body", *o.Status); err != nil {
+ if err := o.validateStatusEnum("changeAgentOk"+"."+"rta_mysql_agent"+"."+"status", "body", *o.Status); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentOKBodyValkeyExporter) validateMetricsResolutions(formats strfmt.Registry) error {
- if swag.IsZero(o.MetricsResolutions) { // not required
+var changeAgentOkBodyRtaMysqlAgentTypeLogLevelPropEnum []any
+
+func init() {
+ var res []string
+ if err := json.Unmarshal([]byte(`["LOG_LEVEL_UNSPECIFIED","LOG_LEVEL_FATAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARN","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG"]`), &res); err != nil {
+ panic(err)
+ }
+ for _, v := range res {
+ changeAgentOkBodyRtaMysqlAgentTypeLogLevelPropEnum = append(changeAgentOkBodyRtaMysqlAgentTypeLogLevelPropEnum, v)
+ }
+}
+
+const (
+
+ // ChangeAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
+ ChangeAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
+
+ // ChangeAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
+ ChangeAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
+
+ // ChangeAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
+ ChangeAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
+
+ // ChangeAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
+ ChangeAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
+
+ // ChangeAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
+ ChangeAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
+
+ // ChangeAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
+ ChangeAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
+)
+
+// prop value enum
+func (o *ChangeAgentOKBodyRtaMysqlAgent) validateLogLevelEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, changeAgentOkBodyRtaMysqlAgentTypeLogLevelPropEnum, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *ChangeAgentOKBodyRtaMysqlAgent) validateLogLevel(formats strfmt.Registry) error {
+ if swag.IsZero(o.LogLevel) { // not required
return nil
}
- if o.MetricsResolutions != nil {
- if err := o.MetricsResolutions.Validate(formats); err != nil {
+ // value enum
+ if err := o.validateLogLevelEnum("changeAgentOk"+"."+"rta_mysql_agent"+"."+"log_level", "body", *o.LogLevel); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (o *ChangeAgentOKBodyRtaMysqlAgent) validateRtaOptions(formats strfmt.Registry) error {
+ if swag.IsZero(o.RtaOptions) { // not required
+ return nil
+ }
+
+ if o.RtaOptions != nil {
+ if err := o.RtaOptions.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("changeAgentOk" + "." + "valkey_exporter" + "." + "metrics_resolutions")
+ return ve.ValidateName("changeAgentOk" + "." + "rta_mysql_agent" + "." + "rta_options")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("changeAgentOk" + "." + "valkey_exporter" + "." + "metrics_resolutions")
+ return ce.ValidateName("changeAgentOk" + "." + "rta_mysql_agent" + "." + "rta_options")
}
return err
@@ -6930,11 +7092,11 @@ func (o *ChangeAgentOKBodyValkeyExporter) validateMetricsResolutions(formats str
return nil
}
-// ContextValidate validate this change agent OK body valkey exporter based on the context it is used
-func (o *ChangeAgentOKBodyValkeyExporter) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validate this change agent OK body rta mysql agent based on the context it is used
+func (o *ChangeAgentOKBodyRtaMysqlAgent) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
- if err := o.contextValidateMetricsResolutions(ctx, formats); err != nil {
+ if err := o.contextValidateRtaOptions(ctx, formats); err != nil {
res = append(res, err)
}
@@ -6944,21 +7106,21 @@ func (o *ChangeAgentOKBodyValkeyExporter) ContextValidate(ctx context.Context, f
return nil
}
-func (o *ChangeAgentOKBodyValkeyExporter) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
- if o.MetricsResolutions != nil {
+func (o *ChangeAgentOKBodyRtaMysqlAgent) contextValidateRtaOptions(ctx context.Context, formats strfmt.Registry) error {
+ if o.RtaOptions != nil {
- if swag.IsZero(o.MetricsResolutions) { // not required
+ if swag.IsZero(o.RtaOptions) { // not required
return nil
}
- if err := o.MetricsResolutions.ContextValidate(ctx, formats); err != nil {
+ if err := o.RtaOptions.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("changeAgentOk" + "." + "valkey_exporter" + "." + "metrics_resolutions")
+ return ve.ValidateName("changeAgentOk" + "." + "rta_mysql_agent" + "." + "rta_options")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("changeAgentOk" + "." + "valkey_exporter" + "." + "metrics_resolutions")
+ return ce.ValidateName("changeAgentOk" + "." + "rta_mysql_agent" + "." + "rta_options")
}
return err
@@ -6969,7 +7131,7 @@ func (o *ChangeAgentOKBodyValkeyExporter) contextValidateMetricsResolutions(ctx
}
// MarshalBinary interface implementation
-func (o *ChangeAgentOKBodyValkeyExporter) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentOKBodyRtaMysqlAgent) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -6977,8 +7139,8 @@ func (o *ChangeAgentOKBodyValkeyExporter) MarshalBinary() ([]byte, error) {
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentOKBodyValkeyExporter) UnmarshalBinary(b []byte) error {
- var res ChangeAgentOKBodyValkeyExporter
+func (o *ChangeAgentOKBodyRtaMysqlAgent) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentOKBodyRtaMysqlAgent
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -6987,32 +7149,26 @@ func (o *ChangeAgentOKBodyValkeyExporter) UnmarshalBinary(b []byte) error {
}
/*
-ChangeAgentOKBodyValkeyExporterMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
-swagger:model ChangeAgentOKBodyValkeyExporterMetricsResolutions
+ChangeAgentOKBodyRtaMysqlAgentRtaOptions RTAOptions holds Real-Time Query Analytics agent options.
+swagger:model ChangeAgentOKBodyRtaMysqlAgentRtaOptions
*/
-type ChangeAgentOKBodyValkeyExporterMetricsResolutions struct {
- // High resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
- Hr string `json:"hr,omitempty"`
-
- // Medium resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
- Mr string `json:"mr,omitempty"`
-
- // Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
- Lr string `json:"lr,omitempty"`
+type ChangeAgentOKBodyRtaMysqlAgentRtaOptions struct {
+ // Query collect interval (default 2s is set by server).
+ CollectInterval string `json:"collect_interval,omitempty"`
}
-// Validate validates this change agent OK body valkey exporter metrics resolutions
-func (o *ChangeAgentOKBodyValkeyExporterMetricsResolutions) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent OK body rta mysql agent rta options
+func (o *ChangeAgentOKBodyRtaMysqlAgentRtaOptions) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent OK body valkey exporter metrics resolutions based on context it is used
-func (o *ChangeAgentOKBodyValkeyExporterMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent OK body rta mysql agent rta options based on context it is used
+func (o *ChangeAgentOKBodyRtaMysqlAgentRtaOptions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentOKBodyValkeyExporterMetricsResolutions) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentOKBodyRtaMysqlAgentRtaOptions) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -7020,8 +7176,8 @@ func (o *ChangeAgentOKBodyValkeyExporterMetricsResolutions) MarshalBinary() ([]b
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentOKBodyValkeyExporterMetricsResolutions) UnmarshalBinary(b []byte) error {
- var res ChangeAgentOKBodyValkeyExporterMetricsResolutions
+func (o *ChangeAgentOKBodyRtaMysqlAgentRtaOptions) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentOKBodyRtaMysqlAgentRtaOptions
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -7030,27 +7186,290 @@ func (o *ChangeAgentOKBodyValkeyExporterMetricsResolutions) UnmarshalBinary(b []
}
/*
-ChangeAgentParamsBodyAzureDatabaseExporter change agent params body azure database exporter
-swagger:model ChangeAgentParamsBodyAzureDatabaseExporter
+ChangeAgentOKBodyValkeyExporter ValkeyExporter runs on Generic or Container Node and exposes Valkey Service metrics.
+swagger:model ChangeAgentOKBodyValkeyExporter
*/
-type ChangeAgentParamsBodyAzureDatabaseExporter struct {
- // Enable this Agent. Agents are enabled by default when they get added.
- Enable *bool `json:"enable,omitempty"`
+type ChangeAgentOKBodyValkeyExporter struct {
+ // Unique randomly generated instance identifier.
+ AgentID string `json:"agent_id,omitempty"`
- // Enables push metrics with vmagent.
- EnablePushMetrics *bool `json:"enable_push_metrics,omitempty"`
+ // The pmm-agent identifier which runs this instance.
+ PMMAgentID string `json:"pmm_agent_id,omitempty"`
- // Azure client ID
- AzureClientID *string `json:"azure_client_id,omitempty"`
+ // Desired Agent status: enabled (false) or disabled (true).
+ Disabled bool `json:"disabled,omitempty"`
- // Azure client secret
- AzureClientSecret *string `json:"azure_client_secret,omitempty"`
+ // Service identifier.
+ ServiceID string `json:"service_id,omitempty"`
- // Azure tenant ID
- AzureTenantID *string `json:"azure_tenant_id,omitempty"`
+ // Valkey username for scraping metrics.
+ Username string `json:"username,omitempty"`
- // Azure subscription ID
- AzureSubscriptionID *string `json:"azure_subscription_id,omitempty"`
+ // Use TLS for database connections.
+ TLS bool `json:"tls,omitempty"`
+
+ // Skip TLS certificate and hostname verification.
+ TLSSkipVerify bool `json:"tls_skip_verify,omitempty"`
+
+ // Custom user-assigned labels.
+ CustomLabels map[string]string `json:"custom_labels,omitempty"`
+
+ // True if exporter uses push metrics mode.
+ PushMetricsEnabled bool `json:"push_metrics_enabled,omitempty"`
+
+ // List of disabled collector names.
+ DisabledCollectors []string `json:"disabled_collectors"`
+
+ // AgentStatus represents actual Agent status.
+ //
+ // - AGENT_STATUS_STARTING: Agent is starting.
+ // - AGENT_STATUS_INITIALIZATION_ERROR: Agent encountered error when starting.
+ // - AGENT_STATUS_RUNNING: Agent is running.
+ // - AGENT_STATUS_WAITING: Agent encountered error and will be restarted automatically soon.
+ // - AGENT_STATUS_STOPPING: Agent is stopping.
+ // - AGENT_STATUS_DONE: Agent has been stopped or disabled.
+ // - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.
+ // Enum: ["AGENT_STATUS_UNSPECIFIED","AGENT_STATUS_STARTING","AGENT_STATUS_INITIALIZATION_ERROR","AGENT_STATUS_RUNNING","AGENT_STATUS_WAITING","AGENT_STATUS_STOPPING","AGENT_STATUS_DONE","AGENT_STATUS_UNKNOWN"]
+ Status *string `json:"status,omitempty"`
+
+ // Listen port for scraping metrics.
+ ListenPort int64 `json:"listen_port,omitempty"`
+
+ // Path to exec process.
+ ProcessExecPath string `json:"process_exec_path,omitempty"`
+
+ // Optionally expose the exporter process on all public interfaces
+ ExposeExporter bool `json:"expose_exporter,omitempty"`
+
+ // Connection timeout for exporter (if set).
+ ConnectionTimeout string `json:"connection_timeout,omitempty"`
+
+ // metrics resolutions
+ MetricsResolutions *ChangeAgentOKBodyValkeyExporterMetricsResolutions `json:"metrics_resolutions,omitempty"`
+}
+
+// Validate validates this change agent OK body valkey exporter
+func (o *ChangeAgentOKBodyValkeyExporter) Validate(formats strfmt.Registry) error {
+ var res []error
+
+ if err := o.validateStatus(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := o.validateMetricsResolutions(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
+
+var changeAgentOkBodyValkeyExporterTypeStatusPropEnum []any
+
+func init() {
+ var res []string
+ if err := json.Unmarshal([]byte(`["AGENT_STATUS_UNSPECIFIED","AGENT_STATUS_STARTING","AGENT_STATUS_INITIALIZATION_ERROR","AGENT_STATUS_RUNNING","AGENT_STATUS_WAITING","AGENT_STATUS_STOPPING","AGENT_STATUS_DONE","AGENT_STATUS_UNKNOWN"]`), &res); err != nil {
+ panic(err)
+ }
+ for _, v := range res {
+ changeAgentOkBodyValkeyExporterTypeStatusPropEnum = append(changeAgentOkBodyValkeyExporterTypeStatusPropEnum, v)
+ }
+}
+
+const (
+
+ // ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSUNSPECIFIED captures enum value "AGENT_STATUS_UNSPECIFIED"
+ ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSUNSPECIFIED string = "AGENT_STATUS_UNSPECIFIED"
+
+ // ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSSTARTING captures enum value "AGENT_STATUS_STARTING"
+ ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSSTARTING string = "AGENT_STATUS_STARTING"
+
+ // ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSINITIALIZATIONERROR captures enum value "AGENT_STATUS_INITIALIZATION_ERROR"
+ ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSINITIALIZATIONERROR string = "AGENT_STATUS_INITIALIZATION_ERROR"
+
+ // ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSRUNNING captures enum value "AGENT_STATUS_RUNNING"
+ ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSRUNNING string = "AGENT_STATUS_RUNNING"
+
+ // ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSWAITING captures enum value "AGENT_STATUS_WAITING"
+ ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSWAITING string = "AGENT_STATUS_WAITING"
+
+ // ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSSTOPPING captures enum value "AGENT_STATUS_STOPPING"
+ ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSSTOPPING string = "AGENT_STATUS_STOPPING"
+
+ // ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSDONE captures enum value "AGENT_STATUS_DONE"
+ ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSDONE string = "AGENT_STATUS_DONE"
+
+ // ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSUNKNOWN captures enum value "AGENT_STATUS_UNKNOWN"
+ ChangeAgentOKBodyValkeyExporterStatusAGENTSTATUSUNKNOWN string = "AGENT_STATUS_UNKNOWN"
+)
+
+// prop value enum
+func (o *ChangeAgentOKBodyValkeyExporter) validateStatusEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, changeAgentOkBodyValkeyExporterTypeStatusPropEnum, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *ChangeAgentOKBodyValkeyExporter) validateStatus(formats strfmt.Registry) error {
+ if swag.IsZero(o.Status) { // not required
+ return nil
+ }
+
+ // value enum
+ if err := o.validateStatusEnum("changeAgentOk"+"."+"valkey_exporter"+"."+"status", "body", *o.Status); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (o *ChangeAgentOKBodyValkeyExporter) validateMetricsResolutions(formats strfmt.Registry) error {
+ if swag.IsZero(o.MetricsResolutions) { // not required
+ return nil
+ }
+
+ if o.MetricsResolutions != nil {
+ if err := o.MetricsResolutions.Validate(formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("changeAgentOk" + "." + "valkey_exporter" + "." + "metrics_resolutions")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("changeAgentOk" + "." + "valkey_exporter" + "." + "metrics_resolutions")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
+// ContextValidate validate this change agent OK body valkey exporter based on the context it is used
+func (o *ChangeAgentOKBodyValkeyExporter) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+ var res []error
+
+ if err := o.contextValidateMetricsResolutions(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
+
+func (o *ChangeAgentOKBodyValkeyExporter) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
+ if o.MetricsResolutions != nil {
+
+ if swag.IsZero(o.MetricsResolutions) { // not required
+ return nil
+ }
+
+ if err := o.MetricsResolutions.ContextValidate(ctx, formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("changeAgentOk" + "." + "valkey_exporter" + "." + "metrics_resolutions")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("changeAgentOk" + "." + "valkey_exporter" + "." + "metrics_resolutions")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
+// MarshalBinary interface implementation
+func (o *ChangeAgentOKBodyValkeyExporter) MarshalBinary() ([]byte, error) {
+ if o == nil {
+ return nil, nil
+ }
+ return swag.WriteJSON(o)
+}
+
+// UnmarshalBinary interface implementation
+func (o *ChangeAgentOKBodyValkeyExporter) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentOKBodyValkeyExporter
+ if err := swag.ReadJSON(b, &res); err != nil {
+ return err
+ }
+ *o = res
+ return nil
+}
+
+/*
+ChangeAgentOKBodyValkeyExporterMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
+swagger:model ChangeAgentOKBodyValkeyExporterMetricsResolutions
+*/
+type ChangeAgentOKBodyValkeyExporterMetricsResolutions struct {
+ // High resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
+ Hr string `json:"hr,omitempty"`
+
+ // Medium resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
+ Mr string `json:"mr,omitempty"`
+
+ // Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
+ Lr string `json:"lr,omitempty"`
+}
+
+// Validate validates this change agent OK body valkey exporter metrics resolutions
+func (o *ChangeAgentOKBodyValkeyExporterMetricsResolutions) Validate(formats strfmt.Registry) error {
+ return nil
+}
+
+// ContextValidate validates this change agent OK body valkey exporter metrics resolutions based on context it is used
+func (o *ChangeAgentOKBodyValkeyExporterMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+ return nil
+}
+
+// MarshalBinary interface implementation
+func (o *ChangeAgentOKBodyValkeyExporterMetricsResolutions) MarshalBinary() ([]byte, error) {
+ if o == nil {
+ return nil, nil
+ }
+ return swag.WriteJSON(o)
+}
+
+// UnmarshalBinary interface implementation
+func (o *ChangeAgentOKBodyValkeyExporterMetricsResolutions) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentOKBodyValkeyExporterMetricsResolutions
+ if err := swag.ReadJSON(b, &res); err != nil {
+ return err
+ }
+ *o = res
+ return nil
+}
+
+/*
+ChangeAgentParamsBodyAzureDatabaseExporter change agent params body azure database exporter
+swagger:model ChangeAgentParamsBodyAzureDatabaseExporter
+*/
+type ChangeAgentParamsBodyAzureDatabaseExporter struct {
+ // Enable this Agent. Agents are enabled by default when they get added.
+ Enable *bool `json:"enable,omitempty"`
+
+ // Enables push metrics with vmagent.
+ EnablePushMetrics *bool `json:"enable_push_metrics,omitempty"`
+
+ // Azure client ID
+ AzureClientID *string `json:"azure_client_id,omitempty"`
+
+ // Azure client secret
+ AzureClientSecret *string `json:"azure_client_secret,omitempty"`
+
+ // Azure tenant ID
+ AzureTenantID *string `json:"azure_tenant_id,omitempty"`
+
+ // Azure subscription ID
+ AzureSubscriptionID *string `json:"azure_subscription_id,omitempty"`
// Azure resource group.
AzureResourceGroup *string `json:"azure_resource_group,omitempty"`
@@ -7131,20 +7550,281 @@ func (o *ChangeAgentParamsBodyAzureDatabaseExporter) validateLogLevelEnum(path,
return nil
}
-func (o *ChangeAgentParamsBodyAzureDatabaseExporter) validateLogLevel(formats strfmt.Registry) error {
- if swag.IsZero(o.LogLevel) { // not required
- return nil
+func (o *ChangeAgentParamsBodyAzureDatabaseExporter) validateLogLevel(formats strfmt.Registry) error {
+ if swag.IsZero(o.LogLevel) { // not required
+ return nil
+ }
+
+ // value enum
+ if err := o.validateLogLevelEnum("body"+"."+"azure_database_exporter"+"."+"log_level", "body", *o.LogLevel); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (o *ChangeAgentParamsBodyAzureDatabaseExporter) validateCustomLabels(formats strfmt.Registry) error {
+ if swag.IsZero(o.CustomLabels) { // not required
+ return nil
+ }
+
+ if o.CustomLabels != nil {
+ if err := o.CustomLabels.Validate(formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("body" + "." + "azure_database_exporter" + "." + "custom_labels")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("body" + "." + "azure_database_exporter" + "." + "custom_labels")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
+func (o *ChangeAgentParamsBodyAzureDatabaseExporter) validateMetricsResolutions(formats strfmt.Registry) error {
+ if swag.IsZero(o.MetricsResolutions) { // not required
+ return nil
+ }
+
+ if o.MetricsResolutions != nil {
+ if err := o.MetricsResolutions.Validate(formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("body" + "." + "azure_database_exporter" + "." + "metrics_resolutions")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("body" + "." + "azure_database_exporter" + "." + "metrics_resolutions")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
+// ContextValidate validate this change agent params body azure database exporter based on the context it is used
+func (o *ChangeAgentParamsBodyAzureDatabaseExporter) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+ var res []error
+
+ if err := o.contextValidateCustomLabels(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := o.contextValidateMetricsResolutions(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
+
+func (o *ChangeAgentParamsBodyAzureDatabaseExporter) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
+ if o.CustomLabels != nil {
+
+ if swag.IsZero(o.CustomLabels) { // not required
+ return nil
+ }
+
+ if err := o.CustomLabels.ContextValidate(ctx, formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("body" + "." + "azure_database_exporter" + "." + "custom_labels")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("body" + "." + "azure_database_exporter" + "." + "custom_labels")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
+func (o *ChangeAgentParamsBodyAzureDatabaseExporter) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
+ if o.MetricsResolutions != nil {
+
+ if swag.IsZero(o.MetricsResolutions) { // not required
+ return nil
+ }
+
+ if err := o.MetricsResolutions.ContextValidate(ctx, formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("body" + "." + "azure_database_exporter" + "." + "metrics_resolutions")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("body" + "." + "azure_database_exporter" + "." + "metrics_resolutions")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
+// MarshalBinary interface implementation
+func (o *ChangeAgentParamsBodyAzureDatabaseExporter) MarshalBinary() ([]byte, error) {
+ if o == nil {
+ return nil, nil
+ }
+ return swag.WriteJSON(o)
+}
+
+// UnmarshalBinary interface implementation
+func (o *ChangeAgentParamsBodyAzureDatabaseExporter) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyAzureDatabaseExporter
+ if err := swag.ReadJSON(b, &res); err != nil {
+ return err
+ }
+ *o = res
+ return nil
+}
+
+/*
+ChangeAgentParamsBodyAzureDatabaseExporterCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
+swagger:model ChangeAgentParamsBodyAzureDatabaseExporterCustomLabels
+*/
+type ChangeAgentParamsBodyAzureDatabaseExporterCustomLabels struct {
+ // values
+ Values map[string]string `json:"values,omitempty"`
+}
+
+// Validate validates this change agent params body azure database exporter custom labels
+func (o *ChangeAgentParamsBodyAzureDatabaseExporterCustomLabels) Validate(formats strfmt.Registry) error {
+ return nil
+}
+
+// ContextValidate validates this change agent params body azure database exporter custom labels based on context it is used
+func (o *ChangeAgentParamsBodyAzureDatabaseExporterCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+ return nil
+}
+
+// MarshalBinary interface implementation
+func (o *ChangeAgentParamsBodyAzureDatabaseExporterCustomLabels) MarshalBinary() ([]byte, error) {
+ if o == nil {
+ return nil, nil
+ }
+ return swag.WriteJSON(o)
+}
+
+// UnmarshalBinary interface implementation
+func (o *ChangeAgentParamsBodyAzureDatabaseExporterCustomLabels) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyAzureDatabaseExporterCustomLabels
+ if err := swag.ReadJSON(b, &res); err != nil {
+ return err
+ }
+ *o = res
+ return nil
+}
+
+/*
+ChangeAgentParamsBodyAzureDatabaseExporterMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
+swagger:model ChangeAgentParamsBodyAzureDatabaseExporterMetricsResolutions
+*/
+type ChangeAgentParamsBodyAzureDatabaseExporterMetricsResolutions struct {
+ // High resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
+ Hr string `json:"hr,omitempty"`
+
+ // Medium resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
+ Mr string `json:"mr,omitempty"`
+
+ // Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
+ Lr string `json:"lr,omitempty"`
+}
+
+// Validate validates this change agent params body azure database exporter metrics resolutions
+func (o *ChangeAgentParamsBodyAzureDatabaseExporterMetricsResolutions) Validate(formats strfmt.Registry) error {
+ return nil
+}
+
+// ContextValidate validates this change agent params body azure database exporter metrics resolutions based on context it is used
+func (o *ChangeAgentParamsBodyAzureDatabaseExporterMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+ return nil
+}
+
+// MarshalBinary interface implementation
+func (o *ChangeAgentParamsBodyAzureDatabaseExporterMetricsResolutions) MarshalBinary() ([]byte, error) {
+ if o == nil {
+ return nil, nil
+ }
+ return swag.WriteJSON(o)
+}
+
+// UnmarshalBinary interface implementation
+func (o *ChangeAgentParamsBodyAzureDatabaseExporterMetricsResolutions) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyAzureDatabaseExporterMetricsResolutions
+ if err := swag.ReadJSON(b, &res); err != nil {
+ return err
+ }
+ *o = res
+ return nil
+}
+
+/*
+ChangeAgentParamsBodyExternalExporter change agent params body external exporter
+swagger:model ChangeAgentParamsBodyExternalExporter
+*/
+type ChangeAgentParamsBodyExternalExporter struct {
+ // Enable this Agent. Agents are enabled by default when they get added.
+ Enable *bool `json:"enable,omitempty"`
+
+ // Enables push metrics with vmagent.
+ EnablePushMetrics *bool `json:"enable_push_metrics,omitempty"`
+
+ // HTTP basic auth username for collecting metrics.
+ Username *string `json:"username,omitempty"`
+
+ // Scheme to generate URI to exporter metrics endpoints.
+ Scheme *string `json:"scheme,omitempty"`
+
+ // Path under which metrics are exposed, used to generate URI.
+ MetricsPath *string `json:"metrics_path,omitempty"`
+
+ // Listen port for scraping metrics.
+ ListenPort *int64 `json:"listen_port,omitempty"`
+
+ // Skip connection check.
+ SkipConnectionCheck *bool `json:"skip_connection_check,omitempty"`
+
+ // custom labels
+ CustomLabels *ChangeAgentParamsBodyExternalExporterCustomLabels `json:"custom_labels,omitempty"`
+
+ // metrics resolutions
+ MetricsResolutions *ChangeAgentParamsBodyExternalExporterMetricsResolutions `json:"metrics_resolutions,omitempty"`
+}
+
+// Validate validates this change agent params body external exporter
+func (o *ChangeAgentParamsBodyExternalExporter) Validate(formats strfmt.Registry) error {
+ var res []error
+
+ if err := o.validateCustomLabels(formats); err != nil {
+ res = append(res, err)
}
- // value enum
- if err := o.validateLogLevelEnum("body"+"."+"azure_database_exporter"+"."+"log_level", "body", *o.LogLevel); err != nil {
- return err
+ if err := o.validateMetricsResolutions(formats); err != nil {
+ res = append(res, err)
}
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
return nil
}
-func (o *ChangeAgentParamsBodyAzureDatabaseExporter) validateCustomLabels(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyExternalExporter) validateCustomLabels(formats strfmt.Registry) error {
if swag.IsZero(o.CustomLabels) { // not required
return nil
}
@@ -7153,11 +7833,11 @@ func (o *ChangeAgentParamsBodyAzureDatabaseExporter) validateCustomLabels(format
if err := o.CustomLabels.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "azure_database_exporter" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "external_exporter" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "azure_database_exporter" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "external_exporter" + "." + "custom_labels")
}
return err
@@ -7167,7 +7847,7 @@ func (o *ChangeAgentParamsBodyAzureDatabaseExporter) validateCustomLabels(format
return nil
}
-func (o *ChangeAgentParamsBodyAzureDatabaseExporter) validateMetricsResolutions(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyExternalExporter) validateMetricsResolutions(formats strfmt.Registry) error {
if swag.IsZero(o.MetricsResolutions) { // not required
return nil
}
@@ -7176,11 +7856,11 @@ func (o *ChangeAgentParamsBodyAzureDatabaseExporter) validateMetricsResolutions(
if err := o.MetricsResolutions.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "azure_database_exporter" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "external_exporter" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "azure_database_exporter" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "external_exporter" + "." + "metrics_resolutions")
}
return err
@@ -7190,8 +7870,8 @@ func (o *ChangeAgentParamsBodyAzureDatabaseExporter) validateMetricsResolutions(
return nil
}
-// ContextValidate validate this change agent params body azure database exporter based on the context it is used
-func (o *ChangeAgentParamsBodyAzureDatabaseExporter) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validate this change agent params body external exporter based on the context it is used
+func (o *ChangeAgentParamsBodyExternalExporter) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := o.contextValidateCustomLabels(ctx, formats); err != nil {
@@ -7208,7 +7888,7 @@ func (o *ChangeAgentParamsBodyAzureDatabaseExporter) ContextValidate(ctx context
return nil
}
-func (o *ChangeAgentParamsBodyAzureDatabaseExporter) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyExternalExporter) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
if o.CustomLabels != nil {
if swag.IsZero(o.CustomLabels) { // not required
@@ -7218,11 +7898,11 @@ func (o *ChangeAgentParamsBodyAzureDatabaseExporter) contextValidateCustomLabels
if err := o.CustomLabels.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "azure_database_exporter" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "external_exporter" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "azure_database_exporter" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "external_exporter" + "." + "custom_labels")
}
return err
@@ -7232,7 +7912,7 @@ func (o *ChangeAgentParamsBodyAzureDatabaseExporter) contextValidateCustomLabels
return nil
}
-func (o *ChangeAgentParamsBodyAzureDatabaseExporter) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyExternalExporter) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
if o.MetricsResolutions != nil {
if swag.IsZero(o.MetricsResolutions) { // not required
@@ -7242,11 +7922,11 @@ func (o *ChangeAgentParamsBodyAzureDatabaseExporter) contextValidateMetricsResol
if err := o.MetricsResolutions.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "azure_database_exporter" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "external_exporter" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "azure_database_exporter" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "external_exporter" + "." + "metrics_resolutions")
}
return err
@@ -7257,7 +7937,7 @@ func (o *ChangeAgentParamsBodyAzureDatabaseExporter) contextValidateMetricsResol
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyAzureDatabaseExporter) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyExternalExporter) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -7265,8 +7945,8 @@ func (o *ChangeAgentParamsBodyAzureDatabaseExporter) MarshalBinary() ([]byte, er
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyAzureDatabaseExporter) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyAzureDatabaseExporter
+func (o *ChangeAgentParamsBodyExternalExporter) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyExternalExporter
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -7275,26 +7955,26 @@ func (o *ChangeAgentParamsBodyAzureDatabaseExporter) UnmarshalBinary(b []byte) e
}
/*
-ChangeAgentParamsBodyAzureDatabaseExporterCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
-swagger:model ChangeAgentParamsBodyAzureDatabaseExporterCustomLabels
+ChangeAgentParamsBodyExternalExporterCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
+swagger:model ChangeAgentParamsBodyExternalExporterCustomLabels
*/
-type ChangeAgentParamsBodyAzureDatabaseExporterCustomLabels struct {
+type ChangeAgentParamsBodyExternalExporterCustomLabels struct {
// values
Values map[string]string `json:"values,omitempty"`
}
-// Validate validates this change agent params body azure database exporter custom labels
-func (o *ChangeAgentParamsBodyAzureDatabaseExporterCustomLabels) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body external exporter custom labels
+func (o *ChangeAgentParamsBodyExternalExporterCustomLabels) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body azure database exporter custom labels based on context it is used
-func (o *ChangeAgentParamsBodyAzureDatabaseExporterCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body external exporter custom labels based on context it is used
+func (o *ChangeAgentParamsBodyExternalExporterCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyAzureDatabaseExporterCustomLabels) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyExternalExporterCustomLabels) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -7302,8 +7982,8 @@ func (o *ChangeAgentParamsBodyAzureDatabaseExporterCustomLabels) MarshalBinary()
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyAzureDatabaseExporterCustomLabels) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyAzureDatabaseExporterCustomLabels
+func (o *ChangeAgentParamsBodyExternalExporterCustomLabels) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyExternalExporterCustomLabels
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -7312,10 +7992,10 @@ func (o *ChangeAgentParamsBodyAzureDatabaseExporterCustomLabels) UnmarshalBinary
}
/*
-ChangeAgentParamsBodyAzureDatabaseExporterMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
-swagger:model ChangeAgentParamsBodyAzureDatabaseExporterMetricsResolutions
+ChangeAgentParamsBodyExternalExporterMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
+swagger:model ChangeAgentParamsBodyExternalExporterMetricsResolutions
*/
-type ChangeAgentParamsBodyAzureDatabaseExporterMetricsResolutions struct {
+type ChangeAgentParamsBodyExternalExporterMetricsResolutions struct {
// High resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
Hr string `json:"hr,omitempty"`
@@ -7326,18 +8006,18 @@ type ChangeAgentParamsBodyAzureDatabaseExporterMetricsResolutions struct {
Lr string `json:"lr,omitempty"`
}
-// Validate validates this change agent params body azure database exporter metrics resolutions
-func (o *ChangeAgentParamsBodyAzureDatabaseExporterMetricsResolutions) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body external exporter metrics resolutions
+func (o *ChangeAgentParamsBodyExternalExporterMetricsResolutions) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body azure database exporter metrics resolutions based on context it is used
-func (o *ChangeAgentParamsBodyAzureDatabaseExporterMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body external exporter metrics resolutions based on context it is used
+func (o *ChangeAgentParamsBodyExternalExporterMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyAzureDatabaseExporterMetricsResolutions) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyExternalExporterMetricsResolutions) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -7345,8 +8025,8 @@ func (o *ChangeAgentParamsBodyAzureDatabaseExporterMetricsResolutions) MarshalBi
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyAzureDatabaseExporterMetricsResolutions) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyAzureDatabaseExporterMetricsResolutions
+func (o *ChangeAgentParamsBodyExternalExporterMetricsResolutions) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyExternalExporterMetricsResolutions
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -7355,42 +8035,91 @@ func (o *ChangeAgentParamsBodyAzureDatabaseExporterMetricsResolutions) Unmarshal
}
/*
-ChangeAgentParamsBodyExternalExporter change agent params body external exporter
-swagger:model ChangeAgentParamsBodyExternalExporter
+ChangeAgentParamsBodyMongodbExporter change agent params body mongodb exporter
+swagger:model ChangeAgentParamsBodyMongodbExporter
*/
-type ChangeAgentParamsBodyExternalExporter struct {
+type ChangeAgentParamsBodyMongodbExporter struct {
// Enable this Agent. Agents are enabled by default when they get added.
Enable *bool `json:"enable,omitempty"`
// Enables push metrics with vmagent.
EnablePushMetrics *bool `json:"enable_push_metrics,omitempty"`
- // HTTP basic auth username for collecting metrics.
+ // MongoDB username for scraping metrics.
Username *string `json:"username,omitempty"`
- // Scheme to generate URI to exporter metrics endpoints.
- Scheme *string `json:"scheme,omitempty"`
+ // MongoDB password for scraping metrics.
+ Password *string `json:"password,omitempty"`
- // Path under which metrics are exposed, used to generate URI.
- MetricsPath *string `json:"metrics_path,omitempty"`
+ // Use TLS for database connections.
+ TLS *bool `json:"tls,omitempty"`
- // Listen port for scraping metrics.
- ListenPort *int64 `json:"listen_port,omitempty"`
+ // Skip TLS certificate and hostname validation.
+ TLSSkipVerify *bool `json:"tls_skip_verify,omitempty"`
+
+ // Client certificate and key.
+ TLSCertificateKey *string `json:"tls_certificate_key,omitempty"`
+
+ // Password for decrypting tls_certificate_key.
+ TLSCertificateKeyFilePassword *string `json:"tls_certificate_key_file_password,omitempty"`
+
+ // Certificate Authority certificate chain.
+ TLSCa *string `json:"tls_ca,omitempty"`
// Skip connection check.
SkipConnectionCheck *bool `json:"skip_connection_check,omitempty"`
+ // List of collector names to disable in this exporter.
+ DisableCollectors []string `json:"disable_collectors"`
+
+ // Authentication mechanism.
+ AuthenticationMechanism *string `json:"authentication_mechanism,omitempty"`
+
+ // Authentication database.
+ AuthenticationDatabase *string `json:"authentication_database,omitempty"`
+
+ // Custom password for exporter endpoint /metrics.
+ AgentPassword *string `json:"agent_password,omitempty"`
+
+ // List of collections to get stats from. Can use *
+ StatsCollections []string `json:"stats_collections"`
+
+ // Collections limit. Only get Databases and collection stats if the total number of collections in the server is less than this value. 0: no limit
+ CollectionsLimit *int32 `json:"collections_limit,omitempty"`
+
+ // Enable all collectors.
+ EnableAllCollectors *bool `json:"enable_all_collectors,omitempty"`
+
+ // Log level for exporters
+ //
+ // - LOG_LEVEL_UNSPECIFIED: Auto
+ // Enum: ["LOG_LEVEL_UNSPECIFIED","LOG_LEVEL_FATAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARN","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG"]
+ LogLevel *string `json:"log_level,omitempty"`
+
+ // Optionally expose the exporter process on all public interfaces.
+ ExposeExporter *bool `json:"expose_exporter,omitempty"`
+
+ // Connection timeout for exporter (if set).
+ ConnectionTimeout string `json:"connection_timeout,omitempty"`
+
+ // Enable collecting histogram bucket metrics from getDiagnosticData.
+ EnableDiagnosticDataHistograms *bool `json:"enable_diagnostic_data_histograms,omitempty"`
+
// custom labels
- CustomLabels *ChangeAgentParamsBodyExternalExporterCustomLabels `json:"custom_labels,omitempty"`
+ CustomLabels *ChangeAgentParamsBodyMongodbExporterCustomLabels `json:"custom_labels,omitempty"`
// metrics resolutions
- MetricsResolutions *ChangeAgentParamsBodyExternalExporterMetricsResolutions `json:"metrics_resolutions,omitempty"`
+ MetricsResolutions *ChangeAgentParamsBodyMongodbExporterMetricsResolutions `json:"metrics_resolutions,omitempty"`
}
-// Validate validates this change agent params body external exporter
-func (o *ChangeAgentParamsBodyExternalExporter) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body mongodb exporter
+func (o *ChangeAgentParamsBodyMongodbExporter) Validate(formats strfmt.Registry) error {
var res []error
+ if err := o.validateLogLevel(formats); err != nil {
+ res = append(res, err)
+ }
+
if err := o.validateCustomLabels(formats); err != nil {
res = append(res, err)
}
@@ -7405,7 +8134,61 @@ func (o *ChangeAgentParamsBodyExternalExporter) Validate(formats strfmt.Registry
return nil
}
-func (o *ChangeAgentParamsBodyExternalExporter) validateCustomLabels(formats strfmt.Registry) error {
+var changeAgentParamsBodyMongodbExporterTypeLogLevelPropEnum []any
+
+func init() {
+ var res []string
+ if err := json.Unmarshal([]byte(`["LOG_LEVEL_UNSPECIFIED","LOG_LEVEL_FATAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARN","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG"]`), &res); err != nil {
+ panic(err)
+ }
+ for _, v := range res {
+ changeAgentParamsBodyMongodbExporterTypeLogLevelPropEnum = append(changeAgentParamsBodyMongodbExporterTypeLogLevelPropEnum, v)
+ }
+}
+
+const (
+
+ // ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
+ ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
+
+ // ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
+ ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
+
+ // ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
+ ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
+
+ // ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
+ ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
+
+ // ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
+ ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
+
+ // ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
+ ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
+)
+
+// prop value enum
+func (o *ChangeAgentParamsBodyMongodbExporter) validateLogLevelEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, changeAgentParamsBodyMongodbExporterTypeLogLevelPropEnum, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *ChangeAgentParamsBodyMongodbExporter) validateLogLevel(formats strfmt.Registry) error {
+ if swag.IsZero(o.LogLevel) { // not required
+ return nil
+ }
+
+ // value enum
+ if err := o.validateLogLevelEnum("body"+"."+"mongodb_exporter"+"."+"log_level", "body", *o.LogLevel); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (o *ChangeAgentParamsBodyMongodbExporter) validateCustomLabels(formats strfmt.Registry) error {
if swag.IsZero(o.CustomLabels) { // not required
return nil
}
@@ -7414,11 +8197,11 @@ func (o *ChangeAgentParamsBodyExternalExporter) validateCustomLabels(formats str
if err := o.CustomLabels.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "external_exporter" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "mongodb_exporter" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "external_exporter" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "mongodb_exporter" + "." + "custom_labels")
}
return err
@@ -7428,7 +8211,7 @@ func (o *ChangeAgentParamsBodyExternalExporter) validateCustomLabels(formats str
return nil
}
-func (o *ChangeAgentParamsBodyExternalExporter) validateMetricsResolutions(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyMongodbExporter) validateMetricsResolutions(formats strfmt.Registry) error {
if swag.IsZero(o.MetricsResolutions) { // not required
return nil
}
@@ -7437,11 +8220,11 @@ func (o *ChangeAgentParamsBodyExternalExporter) validateMetricsResolutions(forma
if err := o.MetricsResolutions.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "external_exporter" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "mongodb_exporter" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "external_exporter" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "mongodb_exporter" + "." + "metrics_resolutions")
}
return err
@@ -7451,8 +8234,8 @@ func (o *ChangeAgentParamsBodyExternalExporter) validateMetricsResolutions(forma
return nil
}
-// ContextValidate validate this change agent params body external exporter based on the context it is used
-func (o *ChangeAgentParamsBodyExternalExporter) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validate this change agent params body mongodb exporter based on the context it is used
+func (o *ChangeAgentParamsBodyMongodbExporter) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := o.contextValidateCustomLabels(ctx, formats); err != nil {
@@ -7469,7 +8252,7 @@ func (o *ChangeAgentParamsBodyExternalExporter) ContextValidate(ctx context.Cont
return nil
}
-func (o *ChangeAgentParamsBodyExternalExporter) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyMongodbExporter) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
if o.CustomLabels != nil {
if swag.IsZero(o.CustomLabels) { // not required
@@ -7479,11 +8262,11 @@ func (o *ChangeAgentParamsBodyExternalExporter) contextValidateCustomLabels(ctx
if err := o.CustomLabels.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "external_exporter" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "mongodb_exporter" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "external_exporter" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "mongodb_exporter" + "." + "custom_labels")
}
return err
@@ -7493,7 +8276,7 @@ func (o *ChangeAgentParamsBodyExternalExporter) contextValidateCustomLabels(ctx
return nil
}
-func (o *ChangeAgentParamsBodyExternalExporter) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyMongodbExporter) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
if o.MetricsResolutions != nil {
if swag.IsZero(o.MetricsResolutions) { // not required
@@ -7503,11 +8286,11 @@ func (o *ChangeAgentParamsBodyExternalExporter) contextValidateMetricsResolution
if err := o.MetricsResolutions.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "external_exporter" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "mongodb_exporter" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "external_exporter" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "mongodb_exporter" + "." + "metrics_resolutions")
}
return err
@@ -7518,7 +8301,7 @@ func (o *ChangeAgentParamsBodyExternalExporter) contextValidateMetricsResolution
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyExternalExporter) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyMongodbExporter) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -7526,8 +8309,8 @@ func (o *ChangeAgentParamsBodyExternalExporter) MarshalBinary() ([]byte, error)
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyExternalExporter) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyExternalExporter
+func (o *ChangeAgentParamsBodyMongodbExporter) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyMongodbExporter
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -7536,26 +8319,26 @@ func (o *ChangeAgentParamsBodyExternalExporter) UnmarshalBinary(b []byte) error
}
/*
-ChangeAgentParamsBodyExternalExporterCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
-swagger:model ChangeAgentParamsBodyExternalExporterCustomLabels
+ChangeAgentParamsBodyMongodbExporterCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
+swagger:model ChangeAgentParamsBodyMongodbExporterCustomLabels
*/
-type ChangeAgentParamsBodyExternalExporterCustomLabels struct {
+type ChangeAgentParamsBodyMongodbExporterCustomLabels struct {
// values
Values map[string]string `json:"values,omitempty"`
}
-// Validate validates this change agent params body external exporter custom labels
-func (o *ChangeAgentParamsBodyExternalExporterCustomLabels) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body mongodb exporter custom labels
+func (o *ChangeAgentParamsBodyMongodbExporterCustomLabels) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body external exporter custom labels based on context it is used
-func (o *ChangeAgentParamsBodyExternalExporterCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body mongodb exporter custom labels based on context it is used
+func (o *ChangeAgentParamsBodyMongodbExporterCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyExternalExporterCustomLabels) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyMongodbExporterCustomLabels) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -7563,8 +8346,8 @@ func (o *ChangeAgentParamsBodyExternalExporterCustomLabels) MarshalBinary() ([]b
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyExternalExporterCustomLabels) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyExternalExporterCustomLabels
+func (o *ChangeAgentParamsBodyMongodbExporterCustomLabels) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyMongodbExporterCustomLabels
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -7573,10 +8356,10 @@ func (o *ChangeAgentParamsBodyExternalExporterCustomLabels) UnmarshalBinary(b []
}
/*
-ChangeAgentParamsBodyExternalExporterMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
-swagger:model ChangeAgentParamsBodyExternalExporterMetricsResolutions
+ChangeAgentParamsBodyMongodbExporterMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
+swagger:model ChangeAgentParamsBodyMongodbExporterMetricsResolutions
*/
-type ChangeAgentParamsBodyExternalExporterMetricsResolutions struct {
+type ChangeAgentParamsBodyMongodbExporterMetricsResolutions struct {
// High resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
Hr string `json:"hr,omitempty"`
@@ -7587,18 +8370,18 @@ type ChangeAgentParamsBodyExternalExporterMetricsResolutions struct {
Lr string `json:"lr,omitempty"`
}
-// Validate validates this change agent params body external exporter metrics resolutions
-func (o *ChangeAgentParamsBodyExternalExporterMetricsResolutions) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body mongodb exporter metrics resolutions
+func (o *ChangeAgentParamsBodyMongodbExporterMetricsResolutions) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body external exporter metrics resolutions based on context it is used
-func (o *ChangeAgentParamsBodyExternalExporterMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body mongodb exporter metrics resolutions based on context it is used
+func (o *ChangeAgentParamsBodyMongodbExporterMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyExternalExporterMetricsResolutions) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyMongodbExporterMetricsResolutions) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -7606,8 +8389,8 @@ func (o *ChangeAgentParamsBodyExternalExporterMetricsResolutions) MarshalBinary(
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyExternalExporterMetricsResolutions) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyExternalExporterMetricsResolutions
+func (o *ChangeAgentParamsBodyMongodbExporterMetricsResolutions) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyMongodbExporterMetricsResolutions
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -7616,20 +8399,20 @@ func (o *ChangeAgentParamsBodyExternalExporterMetricsResolutions) UnmarshalBinar
}
/*
-ChangeAgentParamsBodyMongodbExporter change agent params body mongodb exporter
-swagger:model ChangeAgentParamsBodyMongodbExporter
+ChangeAgentParamsBodyMysqldExporter change agent params body mysqld exporter
+swagger:model ChangeAgentParamsBodyMysqldExporter
*/
-type ChangeAgentParamsBodyMongodbExporter struct {
+type ChangeAgentParamsBodyMysqldExporter struct {
// Enable this Agent. Agents are enabled by default when they get added.
Enable *bool `json:"enable,omitempty"`
// Enables push metrics with vmagent.
EnablePushMetrics *bool `json:"enable_push_metrics,omitempty"`
- // MongoDB username for scraping metrics.
+ // MySQL username for scraping metrics.
Username *string `json:"username,omitempty"`
- // MongoDB password for scraping metrics.
+ // MySQL password for scraping metrics.
Password *string `json:"password,omitempty"`
// Use TLS for database connections.
@@ -7638,39 +8421,27 @@ type ChangeAgentParamsBodyMongodbExporter struct {
// Skip TLS certificate and hostname validation.
TLSSkipVerify *bool `json:"tls_skip_verify,omitempty"`
- // Client certificate and key.
- TLSCertificateKey *string `json:"tls_certificate_key,omitempty"`
-
- // Password for decrypting tls_certificate_key.
- TLSCertificateKeyFilePassword *string `json:"tls_certificate_key_file_password,omitempty"`
-
// Certificate Authority certificate chain.
TLSCa *string `json:"tls_ca,omitempty"`
+ // Client certificate.
+ TLSCert *string `json:"tls_cert,omitempty"`
+
+ // Password for decrypting tls_cert.
+ TLSKey *string `json:"tls_key,omitempty"`
+
+ // Tablestats group collectors will be disabled if there are more than that number of tables.
+ TablestatsGroupTableLimit *int32 `json:"tablestats_group_table_limit,omitempty"`
+
// Skip connection check.
SkipConnectionCheck *bool `json:"skip_connection_check,omitempty"`
// List of collector names to disable in this exporter.
DisableCollectors []string `json:"disable_collectors"`
- // Authentication mechanism.
- AuthenticationMechanism *string `json:"authentication_mechanism,omitempty"`
-
- // Authentication database.
- AuthenticationDatabase *string `json:"authentication_database,omitempty"`
-
// Custom password for exporter endpoint /metrics.
AgentPassword *string `json:"agent_password,omitempty"`
- // List of collections to get stats from. Can use *
- StatsCollections []string `json:"stats_collections"`
-
- // Collections limit. Only get Databases and collection stats if the total number of collections in the server is less than this value. 0: no limit
- CollectionsLimit *int32 `json:"collections_limit,omitempty"`
-
- // Enable all collectors.
- EnableAllCollectors *bool `json:"enable_all_collectors,omitempty"`
-
// Log level for exporters
//
// - LOG_LEVEL_UNSPECIFIED: Auto
@@ -7683,18 +8454,15 @@ type ChangeAgentParamsBodyMongodbExporter struct {
// Connection timeout for exporter (if set).
ConnectionTimeout string `json:"connection_timeout,omitempty"`
- // Enable collecting histogram bucket metrics from getDiagnosticData.
- EnableDiagnosticDataHistograms *bool `json:"enable_diagnostic_data_histograms,omitempty"`
-
// custom labels
- CustomLabels *ChangeAgentParamsBodyMongodbExporterCustomLabels `json:"custom_labels,omitempty"`
+ CustomLabels *ChangeAgentParamsBodyMysqldExporterCustomLabels `json:"custom_labels,omitempty"`
// metrics resolutions
- MetricsResolutions *ChangeAgentParamsBodyMongodbExporterMetricsResolutions `json:"metrics_resolutions,omitempty"`
+ MetricsResolutions *ChangeAgentParamsBodyMysqldExporterMetricsResolutions `json:"metrics_resolutions,omitempty"`
}
-// Validate validates this change agent params body mongodb exporter
-func (o *ChangeAgentParamsBodyMongodbExporter) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body mysqld exporter
+func (o *ChangeAgentParamsBodyMysqldExporter) Validate(formats strfmt.Registry) error {
var res []error
if err := o.validateLogLevel(formats); err != nil {
@@ -7715,7 +8483,7 @@ func (o *ChangeAgentParamsBodyMongodbExporter) Validate(formats strfmt.Registry)
return nil
}
-var changeAgentParamsBodyMongodbExporterTypeLogLevelPropEnum []any
+var changeAgentParamsBodyMysqldExporterTypeLogLevelPropEnum []any
func init() {
var res []string
@@ -7723,53 +8491,53 @@ func init() {
panic(err)
}
for _, v := range res {
- changeAgentParamsBodyMongodbExporterTypeLogLevelPropEnum = append(changeAgentParamsBodyMongodbExporterTypeLogLevelPropEnum, v)
+ changeAgentParamsBodyMysqldExporterTypeLogLevelPropEnum = append(changeAgentParamsBodyMysqldExporterTypeLogLevelPropEnum, v)
}
}
const (
- // ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
- ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
+ // ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
+ ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
- // ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
- ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
+ // ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
+ ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
- // ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
- ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
+ // ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
+ ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
- // ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
- ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
+ // ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
+ ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
- // ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
- ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
+ // ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
+ ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
- // ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
- ChangeAgentParamsBodyMongodbExporterLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
+ // ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
+ ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
)
// prop value enum
-func (o *ChangeAgentParamsBodyMongodbExporter) validateLogLevelEnum(path, location string, value string) error {
- if err := validate.EnumCase(path, location, value, changeAgentParamsBodyMongodbExporterTypeLogLevelPropEnum, true); err != nil {
+func (o *ChangeAgentParamsBodyMysqldExporter) validateLogLevelEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, changeAgentParamsBodyMysqldExporterTypeLogLevelPropEnum, true); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyMongodbExporter) validateLogLevel(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyMysqldExporter) validateLogLevel(formats strfmt.Registry) error {
if swag.IsZero(o.LogLevel) { // not required
return nil
}
// value enum
- if err := o.validateLogLevelEnum("body"+"."+"mongodb_exporter"+"."+"log_level", "body", *o.LogLevel); err != nil {
+ if err := o.validateLogLevelEnum("body"+"."+"mysqld_exporter"+"."+"log_level", "body", *o.LogLevel); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyMongodbExporter) validateCustomLabels(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyMysqldExporter) validateCustomLabels(formats strfmt.Registry) error {
if swag.IsZero(o.CustomLabels) { // not required
return nil
}
@@ -7778,11 +8546,11 @@ func (o *ChangeAgentParamsBodyMongodbExporter) validateCustomLabels(formats strf
if err := o.CustomLabels.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "mongodb_exporter" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "mysqld_exporter" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "mongodb_exporter" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "mysqld_exporter" + "." + "custom_labels")
}
return err
@@ -7792,7 +8560,7 @@ func (o *ChangeAgentParamsBodyMongodbExporter) validateCustomLabels(formats strf
return nil
}
-func (o *ChangeAgentParamsBodyMongodbExporter) validateMetricsResolutions(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyMysqldExporter) validateMetricsResolutions(formats strfmt.Registry) error {
if swag.IsZero(o.MetricsResolutions) { // not required
return nil
}
@@ -7801,11 +8569,11 @@ func (o *ChangeAgentParamsBodyMongodbExporter) validateMetricsResolutions(format
if err := o.MetricsResolutions.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "mongodb_exporter" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "mysqld_exporter" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "mongodb_exporter" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "mysqld_exporter" + "." + "metrics_resolutions")
}
return err
@@ -7815,8 +8583,8 @@ func (o *ChangeAgentParamsBodyMongodbExporter) validateMetricsResolutions(format
return nil
}
-// ContextValidate validate this change agent params body mongodb exporter based on the context it is used
-func (o *ChangeAgentParamsBodyMongodbExporter) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validate this change agent params body mysqld exporter based on the context it is used
+func (o *ChangeAgentParamsBodyMysqldExporter) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := o.contextValidateCustomLabels(ctx, formats); err != nil {
@@ -7833,7 +8601,7 @@ func (o *ChangeAgentParamsBodyMongodbExporter) ContextValidate(ctx context.Conte
return nil
}
-func (o *ChangeAgentParamsBodyMongodbExporter) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyMysqldExporter) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
if o.CustomLabels != nil {
if swag.IsZero(o.CustomLabels) { // not required
@@ -7843,11 +8611,11 @@ func (o *ChangeAgentParamsBodyMongodbExporter) contextValidateCustomLabels(ctx c
if err := o.CustomLabels.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "mongodb_exporter" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "mysqld_exporter" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "mongodb_exporter" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "mysqld_exporter" + "." + "custom_labels")
}
return err
@@ -7857,7 +8625,7 @@ func (o *ChangeAgentParamsBodyMongodbExporter) contextValidateCustomLabels(ctx c
return nil
}
-func (o *ChangeAgentParamsBodyMongodbExporter) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyMysqldExporter) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
if o.MetricsResolutions != nil {
if swag.IsZero(o.MetricsResolutions) { // not required
@@ -7867,11 +8635,11 @@ func (o *ChangeAgentParamsBodyMongodbExporter) contextValidateMetricsResolutions
if err := o.MetricsResolutions.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "mongodb_exporter" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "mysqld_exporter" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "mongodb_exporter" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "mysqld_exporter" + "." + "metrics_resolutions")
}
return err
@@ -7882,7 +8650,7 @@ func (o *ChangeAgentParamsBodyMongodbExporter) contextValidateMetricsResolutions
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyMongodbExporter) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyMysqldExporter) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -7890,8 +8658,8 @@ func (o *ChangeAgentParamsBodyMongodbExporter) MarshalBinary() ([]byte, error) {
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyMongodbExporter) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyMongodbExporter
+func (o *ChangeAgentParamsBodyMysqldExporter) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyMysqldExporter
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -7900,26 +8668,26 @@ func (o *ChangeAgentParamsBodyMongodbExporter) UnmarshalBinary(b []byte) error {
}
/*
-ChangeAgentParamsBodyMongodbExporterCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
-swagger:model ChangeAgentParamsBodyMongodbExporterCustomLabels
+ChangeAgentParamsBodyMysqldExporterCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
+swagger:model ChangeAgentParamsBodyMysqldExporterCustomLabels
*/
-type ChangeAgentParamsBodyMongodbExporterCustomLabels struct {
+type ChangeAgentParamsBodyMysqldExporterCustomLabels struct {
// values
Values map[string]string `json:"values,omitempty"`
}
-// Validate validates this change agent params body mongodb exporter custom labels
-func (o *ChangeAgentParamsBodyMongodbExporterCustomLabels) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body mysqld exporter custom labels
+func (o *ChangeAgentParamsBodyMysqldExporterCustomLabels) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body mongodb exporter custom labels based on context it is used
-func (o *ChangeAgentParamsBodyMongodbExporterCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body mysqld exporter custom labels based on context it is used
+func (o *ChangeAgentParamsBodyMysqldExporterCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyMongodbExporterCustomLabels) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyMysqldExporterCustomLabels) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -7927,8 +8695,8 @@ func (o *ChangeAgentParamsBodyMongodbExporterCustomLabels) MarshalBinary() ([]by
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyMongodbExporterCustomLabels) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyMongodbExporterCustomLabels
+func (o *ChangeAgentParamsBodyMysqldExporterCustomLabels) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyMysqldExporterCustomLabels
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -7937,10 +8705,10 @@ func (o *ChangeAgentParamsBodyMongodbExporterCustomLabels) UnmarshalBinary(b []b
}
/*
-ChangeAgentParamsBodyMongodbExporterMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
-swagger:model ChangeAgentParamsBodyMongodbExporterMetricsResolutions
+ChangeAgentParamsBodyMysqldExporterMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
+swagger:model ChangeAgentParamsBodyMysqldExporterMetricsResolutions
*/
-type ChangeAgentParamsBodyMongodbExporterMetricsResolutions struct {
+type ChangeAgentParamsBodyMysqldExporterMetricsResolutions struct {
// High resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
Hr string `json:"hr,omitempty"`
@@ -7951,18 +8719,18 @@ type ChangeAgentParamsBodyMongodbExporterMetricsResolutions struct {
Lr string `json:"lr,omitempty"`
}
-// Validate validates this change agent params body mongodb exporter metrics resolutions
-func (o *ChangeAgentParamsBodyMongodbExporterMetricsResolutions) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body mysqld exporter metrics resolutions
+func (o *ChangeAgentParamsBodyMysqldExporterMetricsResolutions) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body mongodb exporter metrics resolutions based on context it is used
-func (o *ChangeAgentParamsBodyMongodbExporterMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body mysqld exporter metrics resolutions based on context it is used
+func (o *ChangeAgentParamsBodyMysqldExporterMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyMongodbExporterMetricsResolutions) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyMysqldExporterMetricsResolutions) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -7970,8 +8738,8 @@ func (o *ChangeAgentParamsBodyMongodbExporterMetricsResolutions) MarshalBinary()
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyMongodbExporterMetricsResolutions) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyMongodbExporterMetricsResolutions
+func (o *ChangeAgentParamsBodyMysqldExporterMetricsResolutions) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyMysqldExporterMetricsResolutions
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -7980,70 +8748,37 @@ func (o *ChangeAgentParamsBodyMongodbExporterMetricsResolutions) UnmarshalBinary
}
/*
-ChangeAgentParamsBodyMysqldExporter change agent params body mysqld exporter
-swagger:model ChangeAgentParamsBodyMysqldExporter
+ChangeAgentParamsBodyNodeExporter change agent params body node exporter
+swagger:model ChangeAgentParamsBodyNodeExporter
*/
-type ChangeAgentParamsBodyMysqldExporter struct {
+type ChangeAgentParamsBodyNodeExporter struct {
// Enable this Agent. Agents are enabled by default when they get added.
Enable *bool `json:"enable,omitempty"`
// Enables push metrics with vmagent.
EnablePushMetrics *bool `json:"enable_push_metrics,omitempty"`
- // MySQL username for scraping metrics.
- Username *string `json:"username,omitempty"`
-
- // MySQL password for scraping metrics.
- Password *string `json:"password,omitempty"`
-
- // Use TLS for database connections.
- TLS *bool `json:"tls,omitempty"`
-
- // Skip TLS certificate and hostname validation.
- TLSSkipVerify *bool `json:"tls_skip_verify,omitempty"`
-
- // Certificate Authority certificate chain.
- TLSCa *string `json:"tls_ca,omitempty"`
-
- // Client certificate.
- TLSCert *string `json:"tls_cert,omitempty"`
-
- // Password for decrypting tls_cert.
- TLSKey *string `json:"tls_key,omitempty"`
-
- // Tablestats group collectors will be disabled if there are more than that number of tables.
- TablestatsGroupTableLimit *int32 `json:"tablestats_group_table_limit,omitempty"`
-
- // Skip connection check.
- SkipConnectionCheck *bool `json:"skip_connection_check,omitempty"`
-
// List of collector names to disable in this exporter.
DisableCollectors []string `json:"disable_collectors"`
- // Custom password for exporter endpoint /metrics.
- AgentPassword *string `json:"agent_password,omitempty"`
-
// Log level for exporters
//
// - LOG_LEVEL_UNSPECIFIED: Auto
// Enum: ["LOG_LEVEL_UNSPECIFIED","LOG_LEVEL_FATAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARN","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG"]
LogLevel *string `json:"log_level,omitempty"`
- // Optionally expose the exporter process on all public interfaces.
+ // Expose the node_exporter process on all public interfaces.
ExposeExporter *bool `json:"expose_exporter,omitempty"`
- // Connection timeout for exporter (if set).
- ConnectionTimeout string `json:"connection_timeout,omitempty"`
-
// custom labels
- CustomLabels *ChangeAgentParamsBodyMysqldExporterCustomLabels `json:"custom_labels,omitempty"`
+ CustomLabels *ChangeAgentParamsBodyNodeExporterCustomLabels `json:"custom_labels,omitempty"`
// metrics resolutions
- MetricsResolutions *ChangeAgentParamsBodyMysqldExporterMetricsResolutions `json:"metrics_resolutions,omitempty"`
+ MetricsResolutions *ChangeAgentParamsBodyNodeExporterMetricsResolutions `json:"metrics_resolutions,omitempty"`
}
-// Validate validates this change agent params body mysqld exporter
-func (o *ChangeAgentParamsBodyMysqldExporter) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body node exporter
+func (o *ChangeAgentParamsBodyNodeExporter) Validate(formats strfmt.Registry) error {
var res []error
if err := o.validateLogLevel(formats); err != nil {
@@ -8064,7 +8799,7 @@ func (o *ChangeAgentParamsBodyMysqldExporter) Validate(formats strfmt.Registry)
return nil
}
-var changeAgentParamsBodyMysqldExporterTypeLogLevelPropEnum []any
+var changeAgentParamsBodyNodeExporterTypeLogLevelPropEnum []any
func init() {
var res []string
@@ -8072,53 +8807,53 @@ func init() {
panic(err)
}
for _, v := range res {
- changeAgentParamsBodyMysqldExporterTypeLogLevelPropEnum = append(changeAgentParamsBodyMysqldExporterTypeLogLevelPropEnum, v)
+ changeAgentParamsBodyNodeExporterTypeLogLevelPropEnum = append(changeAgentParamsBodyNodeExporterTypeLogLevelPropEnum, v)
}
}
const (
- // ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
- ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
+ // ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
+ ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
- // ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
- ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
+ // ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
+ ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
- // ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
- ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
+ // ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
+ ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
- // ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
- ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
+ // ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
+ ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
- // ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
- ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
+ // ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
+ ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
- // ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
- ChangeAgentParamsBodyMysqldExporterLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
+ // ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
+ ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
)
// prop value enum
-func (o *ChangeAgentParamsBodyMysqldExporter) validateLogLevelEnum(path, location string, value string) error {
- if err := validate.EnumCase(path, location, value, changeAgentParamsBodyMysqldExporterTypeLogLevelPropEnum, true); err != nil {
+func (o *ChangeAgentParamsBodyNodeExporter) validateLogLevelEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, changeAgentParamsBodyNodeExporterTypeLogLevelPropEnum, true); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyMysqldExporter) validateLogLevel(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyNodeExporter) validateLogLevel(formats strfmt.Registry) error {
if swag.IsZero(o.LogLevel) { // not required
return nil
}
// value enum
- if err := o.validateLogLevelEnum("body"+"."+"mysqld_exporter"+"."+"log_level", "body", *o.LogLevel); err != nil {
+ if err := o.validateLogLevelEnum("body"+"."+"node_exporter"+"."+"log_level", "body", *o.LogLevel); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyMysqldExporter) validateCustomLabels(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyNodeExporter) validateCustomLabels(formats strfmt.Registry) error {
if swag.IsZero(o.CustomLabels) { // not required
return nil
}
@@ -8127,11 +8862,11 @@ func (o *ChangeAgentParamsBodyMysqldExporter) validateCustomLabels(formats strfm
if err := o.CustomLabels.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "mysqld_exporter" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "node_exporter" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "mysqld_exporter" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "node_exporter" + "." + "custom_labels")
}
return err
@@ -8141,7 +8876,7 @@ func (o *ChangeAgentParamsBodyMysqldExporter) validateCustomLabels(formats strfm
return nil
}
-func (o *ChangeAgentParamsBodyMysqldExporter) validateMetricsResolutions(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyNodeExporter) validateMetricsResolutions(formats strfmt.Registry) error {
if swag.IsZero(o.MetricsResolutions) { // not required
return nil
}
@@ -8150,11 +8885,11 @@ func (o *ChangeAgentParamsBodyMysqldExporter) validateMetricsResolutions(formats
if err := o.MetricsResolutions.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "mysqld_exporter" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "node_exporter" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "mysqld_exporter" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "node_exporter" + "." + "metrics_resolutions")
}
return err
@@ -8164,8 +8899,8 @@ func (o *ChangeAgentParamsBodyMysqldExporter) validateMetricsResolutions(formats
return nil
}
-// ContextValidate validate this change agent params body mysqld exporter based on the context it is used
-func (o *ChangeAgentParamsBodyMysqldExporter) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validate this change agent params body node exporter based on the context it is used
+func (o *ChangeAgentParamsBodyNodeExporter) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := o.contextValidateCustomLabels(ctx, formats); err != nil {
@@ -8182,7 +8917,7 @@ func (o *ChangeAgentParamsBodyMysqldExporter) ContextValidate(ctx context.Contex
return nil
}
-func (o *ChangeAgentParamsBodyMysqldExporter) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyNodeExporter) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
if o.CustomLabels != nil {
if swag.IsZero(o.CustomLabels) { // not required
@@ -8192,11 +8927,11 @@ func (o *ChangeAgentParamsBodyMysqldExporter) contextValidateCustomLabels(ctx co
if err := o.CustomLabels.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "mysqld_exporter" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "node_exporter" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "mysqld_exporter" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "node_exporter" + "." + "custom_labels")
}
return err
@@ -8206,7 +8941,7 @@ func (o *ChangeAgentParamsBodyMysqldExporter) contextValidateCustomLabels(ctx co
return nil
}
-func (o *ChangeAgentParamsBodyMysqldExporter) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyNodeExporter) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
if o.MetricsResolutions != nil {
if swag.IsZero(o.MetricsResolutions) { // not required
@@ -8216,11 +8951,11 @@ func (o *ChangeAgentParamsBodyMysqldExporter) contextValidateMetricsResolutions(
if err := o.MetricsResolutions.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "mysqld_exporter" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "node_exporter" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "mysqld_exporter" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "node_exporter" + "." + "metrics_resolutions")
}
return err
@@ -8231,7 +8966,7 @@ func (o *ChangeAgentParamsBodyMysqldExporter) contextValidateMetricsResolutions(
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyMysqldExporter) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyNodeExporter) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -8239,8 +8974,8 @@ func (o *ChangeAgentParamsBodyMysqldExporter) MarshalBinary() ([]byte, error) {
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyMysqldExporter) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyMysqldExporter
+func (o *ChangeAgentParamsBodyNodeExporter) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyNodeExporter
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -8249,26 +8984,26 @@ func (o *ChangeAgentParamsBodyMysqldExporter) UnmarshalBinary(b []byte) error {
}
/*
-ChangeAgentParamsBodyMysqldExporterCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
-swagger:model ChangeAgentParamsBodyMysqldExporterCustomLabels
+ChangeAgentParamsBodyNodeExporterCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
+swagger:model ChangeAgentParamsBodyNodeExporterCustomLabels
*/
-type ChangeAgentParamsBodyMysqldExporterCustomLabels struct {
+type ChangeAgentParamsBodyNodeExporterCustomLabels struct {
// values
Values map[string]string `json:"values,omitempty"`
}
-// Validate validates this change agent params body mysqld exporter custom labels
-func (o *ChangeAgentParamsBodyMysqldExporterCustomLabels) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body node exporter custom labels
+func (o *ChangeAgentParamsBodyNodeExporterCustomLabels) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body mysqld exporter custom labels based on context it is used
-func (o *ChangeAgentParamsBodyMysqldExporterCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body node exporter custom labels based on context it is used
+func (o *ChangeAgentParamsBodyNodeExporterCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyMysqldExporterCustomLabels) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyNodeExporterCustomLabels) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -8276,8 +9011,8 @@ func (o *ChangeAgentParamsBodyMysqldExporterCustomLabels) MarshalBinary() ([]byt
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyMysqldExporterCustomLabels) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyMysqldExporterCustomLabels
+func (o *ChangeAgentParamsBodyNodeExporterCustomLabels) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyNodeExporterCustomLabels
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -8286,10 +9021,10 @@ func (o *ChangeAgentParamsBodyMysqldExporterCustomLabels) UnmarshalBinary(b []by
}
/*
-ChangeAgentParamsBodyMysqldExporterMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
-swagger:model ChangeAgentParamsBodyMysqldExporterMetricsResolutions
+ChangeAgentParamsBodyNodeExporterMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
+swagger:model ChangeAgentParamsBodyNodeExporterMetricsResolutions
*/
-type ChangeAgentParamsBodyMysqldExporterMetricsResolutions struct {
+type ChangeAgentParamsBodyNodeExporterMetricsResolutions struct {
// High resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
Hr string `json:"hr,omitempty"`
@@ -8300,18 +9035,18 @@ type ChangeAgentParamsBodyMysqldExporterMetricsResolutions struct {
Lr string `json:"lr,omitempty"`
}
-// Validate validates this change agent params body mysqld exporter metrics resolutions
-func (o *ChangeAgentParamsBodyMysqldExporterMetricsResolutions) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body node exporter metrics resolutions
+func (o *ChangeAgentParamsBodyNodeExporterMetricsResolutions) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body mysqld exporter metrics resolutions based on context it is used
-func (o *ChangeAgentParamsBodyMysqldExporterMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body node exporter metrics resolutions based on context it is used
+func (o *ChangeAgentParamsBodyNodeExporterMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyMysqldExporterMetricsResolutions) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyNodeExporterMetricsResolutions) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -8319,8 +9054,8 @@ func (o *ChangeAgentParamsBodyMysqldExporterMetricsResolutions) MarshalBinary()
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyMysqldExporterMetricsResolutions) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyMysqldExporterMetricsResolutions
+func (o *ChangeAgentParamsBodyNodeExporterMetricsResolutions) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyNodeExporterMetricsResolutions
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -8329,37 +9064,110 @@ func (o *ChangeAgentParamsBodyMysqldExporterMetricsResolutions) UnmarshalBinary(
}
/*
-ChangeAgentParamsBodyNodeExporter change agent params body node exporter
-swagger:model ChangeAgentParamsBodyNodeExporter
+ChangeAgentParamsBodyNomadAgent change agent params body nomad agent
+swagger:model ChangeAgentParamsBodyNomadAgent
*/
-type ChangeAgentParamsBodyNodeExporter struct {
+type ChangeAgentParamsBodyNomadAgent struct {
+ // Enable this Agent. Agents are enabled by default when they get added.
+ Enable *bool `json:"enable,omitempty"`
+}
+
+// Validate validates this change agent params body nomad agent
+func (o *ChangeAgentParamsBodyNomadAgent) Validate(formats strfmt.Registry) error {
+ return nil
+}
+
+// ContextValidate validates this change agent params body nomad agent based on context it is used
+func (o *ChangeAgentParamsBodyNomadAgent) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+ return nil
+}
+
+// MarshalBinary interface implementation
+func (o *ChangeAgentParamsBodyNomadAgent) MarshalBinary() ([]byte, error) {
+ if o == nil {
+ return nil, nil
+ }
+ return swag.WriteJSON(o)
+}
+
+// UnmarshalBinary interface implementation
+func (o *ChangeAgentParamsBodyNomadAgent) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyNomadAgent
+ if err := swag.ReadJSON(b, &res); err != nil {
+ return err
+ }
+ *o = res
+ return nil
+}
+
+/*
+ChangeAgentParamsBodyPostgresExporter change agent params body postgres exporter
+swagger:model ChangeAgentParamsBodyPostgresExporter
+*/
+type ChangeAgentParamsBodyPostgresExporter struct {
// Enable this Agent. Agents are enabled by default when they get added.
Enable *bool `json:"enable,omitempty"`
// Enables push metrics with vmagent.
EnablePushMetrics *bool `json:"enable_push_metrics,omitempty"`
+ // PostgreSQL username for scraping metrics.
+ Username *string `json:"username,omitempty"`
+
+ // PostgreSQL password for scraping metrics.
+ Password *string `json:"password,omitempty"`
+
+ // Use TLS for database connections.
+ TLS *bool `json:"tls,omitempty"`
+
+ // Skip TLS certificate and hostname validation.
+ TLSSkipVerify *bool `json:"tls_skip_verify,omitempty"`
+
+ // Skip connection check.
+ SkipConnectionCheck *bool `json:"skip_connection_check,omitempty"`
+
// List of collector names to disable in this exporter.
DisableCollectors []string `json:"disable_collectors"`
+ // TLS CA certificate.
+ TLSCa *string `json:"tls_ca,omitempty"`
+
+ // TLS Certificate.
+ TLSCert *string `json:"tls_cert,omitempty"`
+
+ // TLS Certificate Key.
+ TLSKey *string `json:"tls_key,omitempty"`
+
+ // Custom password for exporter endpoint /metrics.
+ AgentPassword *string `json:"agent_password,omitempty"`
+
// Log level for exporters
//
// - LOG_LEVEL_UNSPECIFIED: Auto
// Enum: ["LOG_LEVEL_UNSPECIFIED","LOG_LEVEL_FATAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARN","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG"]
LogLevel *string `json:"log_level,omitempty"`
- // Expose the node_exporter process on all public interfaces.
+ // Limit of databases for auto-discovery.
+ AutoDiscoveryLimit *int32 `json:"auto_discovery_limit,omitempty"`
+
+ // Optionally expose the exporter process on all public interfaces.
ExposeExporter *bool `json:"expose_exporter,omitempty"`
+ // Maximum number of connections that exporter can open to the database instance.
+ MaxExporterConnections *int32 `json:"max_exporter_connections,omitempty"`
+
+ // Connection timeout for exporter (if set).
+ ConnectionTimeout string `json:"connection_timeout,omitempty"`
+
// custom labels
- CustomLabels *ChangeAgentParamsBodyNodeExporterCustomLabels `json:"custom_labels,omitempty"`
+ CustomLabels *ChangeAgentParamsBodyPostgresExporterCustomLabels `json:"custom_labels,omitempty"`
// metrics resolutions
- MetricsResolutions *ChangeAgentParamsBodyNodeExporterMetricsResolutions `json:"metrics_resolutions,omitempty"`
+ MetricsResolutions *ChangeAgentParamsBodyPostgresExporterMetricsResolutions `json:"metrics_resolutions,omitempty"`
}
-// Validate validates this change agent params body node exporter
-func (o *ChangeAgentParamsBodyNodeExporter) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body postgres exporter
+func (o *ChangeAgentParamsBodyPostgresExporter) Validate(formats strfmt.Registry) error {
var res []error
if err := o.validateLogLevel(formats); err != nil {
@@ -8380,7 +9188,7 @@ func (o *ChangeAgentParamsBodyNodeExporter) Validate(formats strfmt.Registry) er
return nil
}
-var changeAgentParamsBodyNodeExporterTypeLogLevelPropEnum []any
+var changeAgentParamsBodyPostgresExporterTypeLogLevelPropEnum []any
func init() {
var res []string
@@ -8388,53 +9196,53 @@ func init() {
panic(err)
}
for _, v := range res {
- changeAgentParamsBodyNodeExporterTypeLogLevelPropEnum = append(changeAgentParamsBodyNodeExporterTypeLogLevelPropEnum, v)
+ changeAgentParamsBodyPostgresExporterTypeLogLevelPropEnum = append(changeAgentParamsBodyPostgresExporterTypeLogLevelPropEnum, v)
}
}
const (
- // ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
- ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
+ // ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
+ ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
- // ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
- ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
+ // ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
+ ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
- // ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
- ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
+ // ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
+ ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
- // ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
- ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
+ // ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
+ ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
- // ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
- ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
+ // ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
+ ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
- // ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
- ChangeAgentParamsBodyNodeExporterLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
+ // ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
+ ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
)
// prop value enum
-func (o *ChangeAgentParamsBodyNodeExporter) validateLogLevelEnum(path, location string, value string) error {
- if err := validate.EnumCase(path, location, value, changeAgentParamsBodyNodeExporterTypeLogLevelPropEnum, true); err != nil {
+func (o *ChangeAgentParamsBodyPostgresExporter) validateLogLevelEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, changeAgentParamsBodyPostgresExporterTypeLogLevelPropEnum, true); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyNodeExporter) validateLogLevel(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyPostgresExporter) validateLogLevel(formats strfmt.Registry) error {
if swag.IsZero(o.LogLevel) { // not required
return nil
}
// value enum
- if err := o.validateLogLevelEnum("body"+"."+"node_exporter"+"."+"log_level", "body", *o.LogLevel); err != nil {
+ if err := o.validateLogLevelEnum("body"+"."+"postgres_exporter"+"."+"log_level", "body", *o.LogLevel); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyNodeExporter) validateCustomLabels(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyPostgresExporter) validateCustomLabels(formats strfmt.Registry) error {
if swag.IsZero(o.CustomLabels) { // not required
return nil
}
@@ -8443,11 +9251,11 @@ func (o *ChangeAgentParamsBodyNodeExporter) validateCustomLabels(formats strfmt.
if err := o.CustomLabels.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "node_exporter" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "postgres_exporter" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "node_exporter" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "postgres_exporter" + "." + "custom_labels")
}
return err
@@ -8457,7 +9265,7 @@ func (o *ChangeAgentParamsBodyNodeExporter) validateCustomLabels(formats strfmt.
return nil
}
-func (o *ChangeAgentParamsBodyNodeExporter) validateMetricsResolutions(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyPostgresExporter) validateMetricsResolutions(formats strfmt.Registry) error {
if swag.IsZero(o.MetricsResolutions) { // not required
return nil
}
@@ -8466,11 +9274,11 @@ func (o *ChangeAgentParamsBodyNodeExporter) validateMetricsResolutions(formats s
if err := o.MetricsResolutions.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "node_exporter" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "postgres_exporter" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "node_exporter" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "postgres_exporter" + "." + "metrics_resolutions")
}
return err
@@ -8480,8 +9288,8 @@ func (o *ChangeAgentParamsBodyNodeExporter) validateMetricsResolutions(formats s
return nil
}
-// ContextValidate validate this change agent params body node exporter based on the context it is used
-func (o *ChangeAgentParamsBodyNodeExporter) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validate this change agent params body postgres exporter based on the context it is used
+func (o *ChangeAgentParamsBodyPostgresExporter) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := o.contextValidateCustomLabels(ctx, formats); err != nil {
@@ -8498,7 +9306,7 @@ func (o *ChangeAgentParamsBodyNodeExporter) ContextValidate(ctx context.Context,
return nil
}
-func (o *ChangeAgentParamsBodyNodeExporter) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyPostgresExporter) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
if o.CustomLabels != nil {
if swag.IsZero(o.CustomLabels) { // not required
@@ -8508,11 +9316,11 @@ func (o *ChangeAgentParamsBodyNodeExporter) contextValidateCustomLabels(ctx cont
if err := o.CustomLabels.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "node_exporter" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "postgres_exporter" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "node_exporter" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "postgres_exporter" + "." + "custom_labels")
}
return err
@@ -8522,7 +9330,7 @@ func (o *ChangeAgentParamsBodyNodeExporter) contextValidateCustomLabels(ctx cont
return nil
}
-func (o *ChangeAgentParamsBodyNodeExporter) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyPostgresExporter) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
if o.MetricsResolutions != nil {
if swag.IsZero(o.MetricsResolutions) { // not required
@@ -8532,11 +9340,11 @@ func (o *ChangeAgentParamsBodyNodeExporter) contextValidateMetricsResolutions(ct
if err := o.MetricsResolutions.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "node_exporter" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "postgres_exporter" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "node_exporter" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "postgres_exporter" + "." + "metrics_resolutions")
}
return err
@@ -8547,7 +9355,7 @@ func (o *ChangeAgentParamsBodyNodeExporter) contextValidateMetricsResolutions(ct
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyNodeExporter) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyPostgresExporter) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -8555,8 +9363,8 @@ func (o *ChangeAgentParamsBodyNodeExporter) MarshalBinary() ([]byte, error) {
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyNodeExporter) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyNodeExporter
+func (o *ChangeAgentParamsBodyPostgresExporter) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyPostgresExporter
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -8565,26 +9373,26 @@ func (o *ChangeAgentParamsBodyNodeExporter) UnmarshalBinary(b []byte) error {
}
/*
-ChangeAgentParamsBodyNodeExporterCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
-swagger:model ChangeAgentParamsBodyNodeExporterCustomLabels
+ChangeAgentParamsBodyPostgresExporterCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
+swagger:model ChangeAgentParamsBodyPostgresExporterCustomLabels
*/
-type ChangeAgentParamsBodyNodeExporterCustomLabels struct {
+type ChangeAgentParamsBodyPostgresExporterCustomLabels struct {
// values
Values map[string]string `json:"values,omitempty"`
}
-// Validate validates this change agent params body node exporter custom labels
-func (o *ChangeAgentParamsBodyNodeExporterCustomLabels) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body postgres exporter custom labels
+func (o *ChangeAgentParamsBodyPostgresExporterCustomLabels) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body node exporter custom labels based on context it is used
-func (o *ChangeAgentParamsBodyNodeExporterCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body postgres exporter custom labels based on context it is used
+func (o *ChangeAgentParamsBodyPostgresExporterCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyNodeExporterCustomLabels) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyPostgresExporterCustomLabels) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -8592,8 +9400,8 @@ func (o *ChangeAgentParamsBodyNodeExporterCustomLabels) MarshalBinary() ([]byte,
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyNodeExporterCustomLabels) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyNodeExporterCustomLabels
+func (o *ChangeAgentParamsBodyPostgresExporterCustomLabels) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyPostgresExporterCustomLabels
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -8602,10 +9410,10 @@ func (o *ChangeAgentParamsBodyNodeExporterCustomLabels) UnmarshalBinary(b []byte
}
/*
-ChangeAgentParamsBodyNodeExporterMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
-swagger:model ChangeAgentParamsBodyNodeExporterMetricsResolutions
+ChangeAgentParamsBodyPostgresExporterMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
+swagger:model ChangeAgentParamsBodyPostgresExporterMetricsResolutions
*/
-type ChangeAgentParamsBodyNodeExporterMetricsResolutions struct {
+type ChangeAgentParamsBodyPostgresExporterMetricsResolutions struct {
// High resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
Hr string `json:"hr,omitempty"`
@@ -8616,55 +9424,18 @@ type ChangeAgentParamsBodyNodeExporterMetricsResolutions struct {
Lr string `json:"lr,omitempty"`
}
-// Validate validates this change agent params body node exporter metrics resolutions
-func (o *ChangeAgentParamsBodyNodeExporterMetricsResolutions) Validate(formats strfmt.Registry) error {
- return nil
-}
-
-// ContextValidate validates this change agent params body node exporter metrics resolutions based on context it is used
-func (o *ChangeAgentParamsBodyNodeExporterMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
- return nil
-}
-
-// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyNodeExporterMetricsResolutions) MarshalBinary() ([]byte, error) {
- if o == nil {
- return nil, nil
- }
- return swag.WriteJSON(o)
-}
-
-// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyNodeExporterMetricsResolutions) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyNodeExporterMetricsResolutions
- if err := swag.ReadJSON(b, &res); err != nil {
- return err
- }
- *o = res
- return nil
-}
-
-/*
-ChangeAgentParamsBodyNomadAgent change agent params body nomad agent
-swagger:model ChangeAgentParamsBodyNomadAgent
-*/
-type ChangeAgentParamsBodyNomadAgent struct {
- // Enable this Agent. Agents are enabled by default when they get added.
- Enable *bool `json:"enable,omitempty"`
-}
-
-// Validate validates this change agent params body nomad agent
-func (o *ChangeAgentParamsBodyNomadAgent) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body postgres exporter metrics resolutions
+func (o *ChangeAgentParamsBodyPostgresExporterMetricsResolutions) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body nomad agent based on context it is used
-func (o *ChangeAgentParamsBodyNomadAgent) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body postgres exporter metrics resolutions based on context it is used
+func (o *ChangeAgentParamsBodyPostgresExporterMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyNomadAgent) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyPostgresExporterMetricsResolutions) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -8672,8 +9443,8 @@ func (o *ChangeAgentParamsBodyNomadAgent) MarshalBinary() ([]byte, error) {
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyNomadAgent) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyNomadAgent
+func (o *ChangeAgentParamsBodyPostgresExporterMetricsResolutions) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyPostgresExporterMetricsResolutions
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -8682,20 +9453,20 @@ func (o *ChangeAgentParamsBodyNomadAgent) UnmarshalBinary(b []byte) error {
}
/*
-ChangeAgentParamsBodyPostgresExporter change agent params body postgres exporter
-swagger:model ChangeAgentParamsBodyPostgresExporter
+ChangeAgentParamsBodyProxysqlExporter change agent params body proxysql exporter
+swagger:model ChangeAgentParamsBodyProxysqlExporter
*/
-type ChangeAgentParamsBodyPostgresExporter struct {
+type ChangeAgentParamsBodyProxysqlExporter struct {
// Enable this Agent. Agents are enabled by default when they get added.
Enable *bool `json:"enable,omitempty"`
// Enables push metrics with vmagent.
EnablePushMetrics *bool `json:"enable_push_metrics,omitempty"`
- // PostgreSQL username for scraping metrics.
+ // ProxySQL username for scraping metrics.
Username *string `json:"username,omitempty"`
- // PostgreSQL password for scraping metrics.
+ // ProxySQL password for scraping metrics.
Password *string `json:"password,omitempty"`
// Use TLS for database connections.
@@ -8704,21 +9475,9 @@ type ChangeAgentParamsBodyPostgresExporter struct {
// Skip TLS certificate and hostname validation.
TLSSkipVerify *bool `json:"tls_skip_verify,omitempty"`
- // Skip connection check.
- SkipConnectionCheck *bool `json:"skip_connection_check,omitempty"`
-
// List of collector names to disable in this exporter.
DisableCollectors []string `json:"disable_collectors"`
- // TLS CA certificate.
- TLSCa *string `json:"tls_ca,omitempty"`
-
- // TLS Certificate.
- TLSCert *string `json:"tls_cert,omitempty"`
-
- // TLS Certificate Key.
- TLSKey *string `json:"tls_key,omitempty"`
-
// Custom password for exporter endpoint /metrics.
AgentPassword *string `json:"agent_password,omitempty"`
@@ -8728,27 +9487,24 @@ type ChangeAgentParamsBodyPostgresExporter struct {
// Enum: ["LOG_LEVEL_UNSPECIFIED","LOG_LEVEL_FATAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARN","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG"]
LogLevel *string `json:"log_level,omitempty"`
- // Limit of databases for auto-discovery.
- AutoDiscoveryLimit *int32 `json:"auto_discovery_limit,omitempty"`
-
// Optionally expose the exporter process on all public interfaces.
ExposeExporter *bool `json:"expose_exporter,omitempty"`
- // Maximum number of connections that exporter can open to the database instance.
- MaxExporterConnections *int32 `json:"max_exporter_connections,omitempty"`
-
// Connection timeout for exporter (if set).
ConnectionTimeout string `json:"connection_timeout,omitempty"`
+ // Skip connection check.
+ SkipConnectionCheck *bool `json:"skip_connection_check,omitempty"`
+
// custom labels
- CustomLabels *ChangeAgentParamsBodyPostgresExporterCustomLabels `json:"custom_labels,omitempty"`
+ CustomLabels *ChangeAgentParamsBodyProxysqlExporterCustomLabels `json:"custom_labels,omitempty"`
// metrics resolutions
- MetricsResolutions *ChangeAgentParamsBodyPostgresExporterMetricsResolutions `json:"metrics_resolutions,omitempty"`
+ MetricsResolutions *ChangeAgentParamsBodyProxysqlExporterMetricsResolutions `json:"metrics_resolutions,omitempty"`
}
-// Validate validates this change agent params body postgres exporter
-func (o *ChangeAgentParamsBodyPostgresExporter) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body proxysql exporter
+func (o *ChangeAgentParamsBodyProxysqlExporter) Validate(formats strfmt.Registry) error {
var res []error
if err := o.validateLogLevel(formats); err != nil {
@@ -8769,7 +9525,7 @@ func (o *ChangeAgentParamsBodyPostgresExporter) Validate(formats strfmt.Registry
return nil
}
-var changeAgentParamsBodyPostgresExporterTypeLogLevelPropEnum []any
+var changeAgentParamsBodyProxysqlExporterTypeLogLevelPropEnum []any
func init() {
var res []string
@@ -8777,53 +9533,53 @@ func init() {
panic(err)
}
for _, v := range res {
- changeAgentParamsBodyPostgresExporterTypeLogLevelPropEnum = append(changeAgentParamsBodyPostgresExporterTypeLogLevelPropEnum, v)
+ changeAgentParamsBodyProxysqlExporterTypeLogLevelPropEnum = append(changeAgentParamsBodyProxysqlExporterTypeLogLevelPropEnum, v)
}
}
const (
- // ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
- ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
+ // ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
+ ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
- // ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
- ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
+ // ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
+ ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
- // ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
- ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
+ // ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
+ ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
- // ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
- ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
+ // ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
+ ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
- // ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
- ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
+ // ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
+ ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
- // ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
- ChangeAgentParamsBodyPostgresExporterLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
+ // ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
+ ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
)
// prop value enum
-func (o *ChangeAgentParamsBodyPostgresExporter) validateLogLevelEnum(path, location string, value string) error {
- if err := validate.EnumCase(path, location, value, changeAgentParamsBodyPostgresExporterTypeLogLevelPropEnum, true); err != nil {
+func (o *ChangeAgentParamsBodyProxysqlExporter) validateLogLevelEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, changeAgentParamsBodyProxysqlExporterTypeLogLevelPropEnum, true); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyPostgresExporter) validateLogLevel(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyProxysqlExporter) validateLogLevel(formats strfmt.Registry) error {
if swag.IsZero(o.LogLevel) { // not required
return nil
}
// value enum
- if err := o.validateLogLevelEnum("body"+"."+"postgres_exporter"+"."+"log_level", "body", *o.LogLevel); err != nil {
+ if err := o.validateLogLevelEnum("body"+"."+"proxysql_exporter"+"."+"log_level", "body", *o.LogLevel); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyPostgresExporter) validateCustomLabels(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyProxysqlExporter) validateCustomLabels(formats strfmt.Registry) error {
if swag.IsZero(o.CustomLabels) { // not required
return nil
}
@@ -8832,11 +9588,11 @@ func (o *ChangeAgentParamsBodyPostgresExporter) validateCustomLabels(formats str
if err := o.CustomLabels.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "postgres_exporter" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "proxysql_exporter" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "postgres_exporter" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "proxysql_exporter" + "." + "custom_labels")
}
return err
@@ -8846,7 +9602,7 @@ func (o *ChangeAgentParamsBodyPostgresExporter) validateCustomLabels(formats str
return nil
}
-func (o *ChangeAgentParamsBodyPostgresExporter) validateMetricsResolutions(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyProxysqlExporter) validateMetricsResolutions(formats strfmt.Registry) error {
if swag.IsZero(o.MetricsResolutions) { // not required
return nil
}
@@ -8855,11 +9611,11 @@ func (o *ChangeAgentParamsBodyPostgresExporter) validateMetricsResolutions(forma
if err := o.MetricsResolutions.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "postgres_exporter" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "proxysql_exporter" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "postgres_exporter" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "proxysql_exporter" + "." + "metrics_resolutions")
}
return err
@@ -8869,8 +9625,8 @@ func (o *ChangeAgentParamsBodyPostgresExporter) validateMetricsResolutions(forma
return nil
}
-// ContextValidate validate this change agent params body postgres exporter based on the context it is used
-func (o *ChangeAgentParamsBodyPostgresExporter) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validate this change agent params body proxysql exporter based on the context it is used
+func (o *ChangeAgentParamsBodyProxysqlExporter) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := o.contextValidateCustomLabels(ctx, formats); err != nil {
@@ -8887,7 +9643,7 @@ func (o *ChangeAgentParamsBodyPostgresExporter) ContextValidate(ctx context.Cont
return nil
}
-func (o *ChangeAgentParamsBodyPostgresExporter) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyProxysqlExporter) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
if o.CustomLabels != nil {
if swag.IsZero(o.CustomLabels) { // not required
@@ -8897,11 +9653,11 @@ func (o *ChangeAgentParamsBodyPostgresExporter) contextValidateCustomLabels(ctx
if err := o.CustomLabels.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "postgres_exporter" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "proxysql_exporter" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "postgres_exporter" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "proxysql_exporter" + "." + "custom_labels")
}
return err
@@ -8911,7 +9667,7 @@ func (o *ChangeAgentParamsBodyPostgresExporter) contextValidateCustomLabels(ctx
return nil
}
-func (o *ChangeAgentParamsBodyPostgresExporter) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyProxysqlExporter) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
if o.MetricsResolutions != nil {
if swag.IsZero(o.MetricsResolutions) { // not required
@@ -8921,11 +9677,11 @@ func (o *ChangeAgentParamsBodyPostgresExporter) contextValidateMetricsResolution
if err := o.MetricsResolutions.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "postgres_exporter" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "proxysql_exporter" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "postgres_exporter" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "proxysql_exporter" + "." + "metrics_resolutions")
}
return err
@@ -8936,7 +9692,7 @@ func (o *ChangeAgentParamsBodyPostgresExporter) contextValidateMetricsResolution
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyPostgresExporter) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyProxysqlExporter) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -8944,8 +9700,8 @@ func (o *ChangeAgentParamsBodyPostgresExporter) MarshalBinary() ([]byte, error)
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyPostgresExporter) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyPostgresExporter
+func (o *ChangeAgentParamsBodyProxysqlExporter) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyProxysqlExporter
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -8954,26 +9710,26 @@ func (o *ChangeAgentParamsBodyPostgresExporter) UnmarshalBinary(b []byte) error
}
/*
-ChangeAgentParamsBodyPostgresExporterCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
-swagger:model ChangeAgentParamsBodyPostgresExporterCustomLabels
+ChangeAgentParamsBodyProxysqlExporterCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
+swagger:model ChangeAgentParamsBodyProxysqlExporterCustomLabels
*/
-type ChangeAgentParamsBodyPostgresExporterCustomLabels struct {
+type ChangeAgentParamsBodyProxysqlExporterCustomLabels struct {
// values
Values map[string]string `json:"values,omitempty"`
}
-// Validate validates this change agent params body postgres exporter custom labels
-func (o *ChangeAgentParamsBodyPostgresExporterCustomLabels) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body proxysql exporter custom labels
+func (o *ChangeAgentParamsBodyProxysqlExporterCustomLabels) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body postgres exporter custom labels based on context it is used
-func (o *ChangeAgentParamsBodyPostgresExporterCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body proxysql exporter custom labels based on context it is used
+func (o *ChangeAgentParamsBodyProxysqlExporterCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyPostgresExporterCustomLabels) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyProxysqlExporterCustomLabels) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -8981,8 +9737,8 @@ func (o *ChangeAgentParamsBodyPostgresExporterCustomLabels) MarshalBinary() ([]b
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyPostgresExporterCustomLabels) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyPostgresExporterCustomLabels
+func (o *ChangeAgentParamsBodyProxysqlExporterCustomLabels) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyProxysqlExporterCustomLabels
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -8991,10 +9747,10 @@ func (o *ChangeAgentParamsBodyPostgresExporterCustomLabels) UnmarshalBinary(b []
}
/*
-ChangeAgentParamsBodyPostgresExporterMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
-swagger:model ChangeAgentParamsBodyPostgresExporterMetricsResolutions
+ChangeAgentParamsBodyProxysqlExporterMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
+swagger:model ChangeAgentParamsBodyProxysqlExporterMetricsResolutions
*/
-type ChangeAgentParamsBodyPostgresExporterMetricsResolutions struct {
+type ChangeAgentParamsBodyProxysqlExporterMetricsResolutions struct {
// High resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
Hr string `json:"hr,omitempty"`
@@ -9005,18 +9761,18 @@ type ChangeAgentParamsBodyPostgresExporterMetricsResolutions struct {
Lr string `json:"lr,omitempty"`
}
-// Validate validates this change agent params body postgres exporter metrics resolutions
-func (o *ChangeAgentParamsBodyPostgresExporterMetricsResolutions) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body proxysql exporter metrics resolutions
+func (o *ChangeAgentParamsBodyProxysqlExporterMetricsResolutions) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body postgres exporter metrics resolutions based on context it is used
-func (o *ChangeAgentParamsBodyPostgresExporterMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body proxysql exporter metrics resolutions based on context it is used
+func (o *ChangeAgentParamsBodyProxysqlExporterMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyPostgresExporterMetricsResolutions) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyProxysqlExporterMetricsResolutions) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -9024,8 +9780,8 @@ func (o *ChangeAgentParamsBodyPostgresExporterMetricsResolutions) MarshalBinary(
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyPostgresExporterMetricsResolutions) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyPostgresExporterMetricsResolutions
+func (o *ChangeAgentParamsBodyProxysqlExporterMetricsResolutions) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyProxysqlExporterMetricsResolutions
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -9034,20 +9790,20 @@ func (o *ChangeAgentParamsBodyPostgresExporterMetricsResolutions) UnmarshalBinar
}
/*
-ChangeAgentParamsBodyProxysqlExporter change agent params body proxysql exporter
-swagger:model ChangeAgentParamsBodyProxysqlExporter
+ChangeAgentParamsBodyQANMongodbMongologAgent change agent params body QAN mongodb mongolog agent
+swagger:model ChangeAgentParamsBodyQANMongodbMongologAgent
*/
-type ChangeAgentParamsBodyProxysqlExporter struct {
+type ChangeAgentParamsBodyQANMongodbMongologAgent struct {
// Enable this Agent. Agents are enabled by default when they get added.
Enable *bool `json:"enable,omitempty"`
// Enables push metrics with vmagent.
EnablePushMetrics *bool `json:"enable_push_metrics,omitempty"`
- // ProxySQL username for scraping metrics.
+ // MongoDB username for getting mongolog data.
Username *string `json:"username,omitempty"`
- // ProxySQL password for scraping metrics.
+ // MongoDB password for getting mongolog data.
Password *string `json:"password,omitempty"`
// Use TLS for database connections.
@@ -9056,11 +9812,23 @@ type ChangeAgentParamsBodyProxysqlExporter struct {
// Skip TLS certificate and hostname validation.
TLSSkipVerify *bool `json:"tls_skip_verify,omitempty"`
- // List of collector names to disable in this exporter.
- DisableCollectors []string `json:"disable_collectors"`
+ // Client certificate and key.
+ TLSCertificateKey *string `json:"tls_certificate_key,omitempty"`
+
+ // Password for decrypting tls_certificate_key.
+ TLSCertificateKeyFilePassword *string `json:"tls_certificate_key_file_password,omitempty"`
+
+ // Certificate Authority certificate chain.
+ TLSCa *string `json:"tls_ca,omitempty"`
+
+ // Limit query length in QAN (default: server-defined; -1: no limit).
+ MaxQueryLength *int32 `json:"max_query_length,omitempty"`
- // Custom password for exporter endpoint /metrics.
- AgentPassword *string `json:"agent_password,omitempty"`
+ // Authentication mechanism.
+ AuthenticationMechanism *string `json:"authentication_mechanism,omitempty"`
+
+ // Authentication database.
+ AuthenticationDatabase *string `json:"authentication_database,omitempty"`
// Log level for exporters
//
@@ -9068,24 +9836,18 @@ type ChangeAgentParamsBodyProxysqlExporter struct {
// Enum: ["LOG_LEVEL_UNSPECIFIED","LOG_LEVEL_FATAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARN","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG"]
LogLevel *string `json:"log_level,omitempty"`
- // Optionally expose the exporter process on all public interfaces.
- ExposeExporter *bool `json:"expose_exporter,omitempty"`
-
- // Connection timeout for exporter (if set).
- ConnectionTimeout string `json:"connection_timeout,omitempty"`
-
// Skip connection check.
SkipConnectionCheck *bool `json:"skip_connection_check,omitempty"`
// custom labels
- CustomLabels *ChangeAgentParamsBodyProxysqlExporterCustomLabels `json:"custom_labels,omitempty"`
+ CustomLabels *ChangeAgentParamsBodyQANMongodbMongologAgentCustomLabels `json:"custom_labels,omitempty"`
// metrics resolutions
- MetricsResolutions *ChangeAgentParamsBodyProxysqlExporterMetricsResolutions `json:"metrics_resolutions,omitempty"`
+ MetricsResolutions *ChangeAgentParamsBodyQANMongodbMongologAgentMetricsResolutions `json:"metrics_resolutions,omitempty"`
}
-// Validate validates this change agent params body proxysql exporter
-func (o *ChangeAgentParamsBodyProxysqlExporter) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body QAN mongodb mongolog agent
+func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) Validate(formats strfmt.Registry) error {
var res []error
if err := o.validateLogLevel(formats); err != nil {
@@ -9106,7 +9868,7 @@ func (o *ChangeAgentParamsBodyProxysqlExporter) Validate(formats strfmt.Registry
return nil
}
-var changeAgentParamsBodyProxysqlExporterTypeLogLevelPropEnum []any
+var changeAgentParamsBodyQanMongodbMongologAgentTypeLogLevelPropEnum []any
func init() {
var res []string
@@ -9114,53 +9876,53 @@ func init() {
panic(err)
}
for _, v := range res {
- changeAgentParamsBodyProxysqlExporterTypeLogLevelPropEnum = append(changeAgentParamsBodyProxysqlExporterTypeLogLevelPropEnum, v)
+ changeAgentParamsBodyQanMongodbMongologAgentTypeLogLevelPropEnum = append(changeAgentParamsBodyQanMongodbMongologAgentTypeLogLevelPropEnum, v)
}
}
const (
- // ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
- ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
+ // ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
+ ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
- // ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
- ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
+ // ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
+ ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
- // ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
- ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
+ // ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
+ ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
- // ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
- ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
+ // ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
+ ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
- // ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
- ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
+ // ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
+ ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
- // ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
- ChangeAgentParamsBodyProxysqlExporterLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
+ // ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
+ ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
)
// prop value enum
-func (o *ChangeAgentParamsBodyProxysqlExporter) validateLogLevelEnum(path, location string, value string) error {
- if err := validate.EnumCase(path, location, value, changeAgentParamsBodyProxysqlExporterTypeLogLevelPropEnum, true); err != nil {
+func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) validateLogLevelEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, changeAgentParamsBodyQanMongodbMongologAgentTypeLogLevelPropEnum, true); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyProxysqlExporter) validateLogLevel(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) validateLogLevel(formats strfmt.Registry) error {
if swag.IsZero(o.LogLevel) { // not required
return nil
}
// value enum
- if err := o.validateLogLevelEnum("body"+"."+"proxysql_exporter"+"."+"log_level", "body", *o.LogLevel); err != nil {
+ if err := o.validateLogLevelEnum("body"+"."+"qan_mongodb_mongolog_agent"+"."+"log_level", "body", *o.LogLevel); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyProxysqlExporter) validateCustomLabels(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) validateCustomLabels(formats strfmt.Registry) error {
if swag.IsZero(o.CustomLabels) { // not required
return nil
}
@@ -9169,11 +9931,11 @@ func (o *ChangeAgentParamsBodyProxysqlExporter) validateCustomLabels(formats str
if err := o.CustomLabels.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "proxysql_exporter" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "qan_mongodb_mongolog_agent" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "proxysql_exporter" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "qan_mongodb_mongolog_agent" + "." + "custom_labels")
}
return err
@@ -9183,7 +9945,7 @@ func (o *ChangeAgentParamsBodyProxysqlExporter) validateCustomLabels(formats str
return nil
}
-func (o *ChangeAgentParamsBodyProxysqlExporter) validateMetricsResolutions(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) validateMetricsResolutions(formats strfmt.Registry) error {
if swag.IsZero(o.MetricsResolutions) { // not required
return nil
}
@@ -9192,11 +9954,11 @@ func (o *ChangeAgentParamsBodyProxysqlExporter) validateMetricsResolutions(forma
if err := o.MetricsResolutions.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "proxysql_exporter" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "qan_mongodb_mongolog_agent" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "proxysql_exporter" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "qan_mongodb_mongolog_agent" + "." + "metrics_resolutions")
}
return err
@@ -9206,8 +9968,8 @@ func (o *ChangeAgentParamsBodyProxysqlExporter) validateMetricsResolutions(forma
return nil
}
-// ContextValidate validate this change agent params body proxysql exporter based on the context it is used
-func (o *ChangeAgentParamsBodyProxysqlExporter) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validate this change agent params body QAN mongodb mongolog agent based on the context it is used
+func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := o.contextValidateCustomLabels(ctx, formats); err != nil {
@@ -9224,7 +9986,7 @@ func (o *ChangeAgentParamsBodyProxysqlExporter) ContextValidate(ctx context.Cont
return nil
}
-func (o *ChangeAgentParamsBodyProxysqlExporter) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
if o.CustomLabels != nil {
if swag.IsZero(o.CustomLabels) { // not required
@@ -9234,11 +9996,11 @@ func (o *ChangeAgentParamsBodyProxysqlExporter) contextValidateCustomLabels(ctx
if err := o.CustomLabels.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "proxysql_exporter" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "qan_mongodb_mongolog_agent" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "proxysql_exporter" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "qan_mongodb_mongolog_agent" + "." + "custom_labels")
}
return err
@@ -9248,7 +10010,7 @@ func (o *ChangeAgentParamsBodyProxysqlExporter) contextValidateCustomLabels(ctx
return nil
}
-func (o *ChangeAgentParamsBodyProxysqlExporter) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
if o.MetricsResolutions != nil {
if swag.IsZero(o.MetricsResolutions) { // not required
@@ -9258,11 +10020,11 @@ func (o *ChangeAgentParamsBodyProxysqlExporter) contextValidateMetricsResolution
if err := o.MetricsResolutions.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "proxysql_exporter" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "qan_mongodb_mongolog_agent" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "proxysql_exporter" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "qan_mongodb_mongolog_agent" + "." + "metrics_resolutions")
}
return err
@@ -9273,7 +10035,7 @@ func (o *ChangeAgentParamsBodyProxysqlExporter) contextValidateMetricsResolution
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyProxysqlExporter) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -9281,8 +10043,8 @@ func (o *ChangeAgentParamsBodyProxysqlExporter) MarshalBinary() ([]byte, error)
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyProxysqlExporter) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyProxysqlExporter
+func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyQANMongodbMongologAgent
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -9291,26 +10053,26 @@ func (o *ChangeAgentParamsBodyProxysqlExporter) UnmarshalBinary(b []byte) error
}
/*
-ChangeAgentParamsBodyProxysqlExporterCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
-swagger:model ChangeAgentParamsBodyProxysqlExporterCustomLabels
+ChangeAgentParamsBodyQANMongodbMongologAgentCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
+swagger:model ChangeAgentParamsBodyQANMongodbMongologAgentCustomLabels
*/
-type ChangeAgentParamsBodyProxysqlExporterCustomLabels struct {
+type ChangeAgentParamsBodyQANMongodbMongologAgentCustomLabels struct {
// values
Values map[string]string `json:"values,omitempty"`
}
-// Validate validates this change agent params body proxysql exporter custom labels
-func (o *ChangeAgentParamsBodyProxysqlExporterCustomLabels) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body QAN mongodb mongolog agent custom labels
+func (o *ChangeAgentParamsBodyQANMongodbMongologAgentCustomLabels) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body proxysql exporter custom labels based on context it is used
-func (o *ChangeAgentParamsBodyProxysqlExporterCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body QAN mongodb mongolog agent custom labels based on context it is used
+func (o *ChangeAgentParamsBodyQANMongodbMongologAgentCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyProxysqlExporterCustomLabels) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyQANMongodbMongologAgentCustomLabels) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -9318,8 +10080,8 @@ func (o *ChangeAgentParamsBodyProxysqlExporterCustomLabels) MarshalBinary() ([]b
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyProxysqlExporterCustomLabels) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyProxysqlExporterCustomLabels
+func (o *ChangeAgentParamsBodyQANMongodbMongologAgentCustomLabels) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyQANMongodbMongologAgentCustomLabels
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -9328,10 +10090,10 @@ func (o *ChangeAgentParamsBodyProxysqlExporterCustomLabels) UnmarshalBinary(b []
}
/*
-ChangeAgentParamsBodyProxysqlExporterMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
-swagger:model ChangeAgentParamsBodyProxysqlExporterMetricsResolutions
+ChangeAgentParamsBodyQANMongodbMongologAgentMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
+swagger:model ChangeAgentParamsBodyQANMongodbMongologAgentMetricsResolutions
*/
-type ChangeAgentParamsBodyProxysqlExporterMetricsResolutions struct {
+type ChangeAgentParamsBodyQANMongodbMongologAgentMetricsResolutions struct {
// High resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
Hr string `json:"hr,omitempty"`
@@ -9342,18 +10104,18 @@ type ChangeAgentParamsBodyProxysqlExporterMetricsResolutions struct {
Lr string `json:"lr,omitempty"`
}
-// Validate validates this change agent params body proxysql exporter metrics resolutions
-func (o *ChangeAgentParamsBodyProxysqlExporterMetricsResolutions) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body QAN mongodb mongolog agent metrics resolutions
+func (o *ChangeAgentParamsBodyQANMongodbMongologAgentMetricsResolutions) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body proxysql exporter metrics resolutions based on context it is used
-func (o *ChangeAgentParamsBodyProxysqlExporterMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body QAN mongodb mongolog agent metrics resolutions based on context it is used
+func (o *ChangeAgentParamsBodyQANMongodbMongologAgentMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyProxysqlExporterMetricsResolutions) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyQANMongodbMongologAgentMetricsResolutions) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -9361,8 +10123,8 @@ func (o *ChangeAgentParamsBodyProxysqlExporterMetricsResolutions) MarshalBinary(
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyProxysqlExporterMetricsResolutions) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyProxysqlExporterMetricsResolutions
+func (o *ChangeAgentParamsBodyQANMongodbMongologAgentMetricsResolutions) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyQANMongodbMongologAgentMetricsResolutions
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -9371,20 +10133,20 @@ func (o *ChangeAgentParamsBodyProxysqlExporterMetricsResolutions) UnmarshalBinar
}
/*
-ChangeAgentParamsBodyQANMongodbMongologAgent change agent params body QAN mongodb mongolog agent
-swagger:model ChangeAgentParamsBodyQANMongodbMongologAgent
+ChangeAgentParamsBodyQANMongodbProfilerAgent change agent params body QAN mongodb profiler agent
+swagger:model ChangeAgentParamsBodyQANMongodbProfilerAgent
*/
-type ChangeAgentParamsBodyQANMongodbMongologAgent struct {
+type ChangeAgentParamsBodyQANMongodbProfilerAgent struct {
// Enable this Agent. Agents are enabled by default when they get added.
Enable *bool `json:"enable,omitempty"`
// Enables push metrics with vmagent.
EnablePushMetrics *bool `json:"enable_push_metrics,omitempty"`
- // MongoDB username for getting mongolog data.
+ // MongoDB username for getting profile data.
Username *string `json:"username,omitempty"`
- // MongoDB password for getting mongolog data.
+ // MongoDB password for getting profile data.
Password *string `json:"password,omitempty"`
// Use TLS for database connections.
@@ -9421,14 +10183,14 @@ type ChangeAgentParamsBodyQANMongodbMongologAgent struct {
SkipConnectionCheck *bool `json:"skip_connection_check,omitempty"`
// custom labels
- CustomLabels *ChangeAgentParamsBodyQANMongodbMongologAgentCustomLabels `json:"custom_labels,omitempty"`
+ CustomLabels *ChangeAgentParamsBodyQANMongodbProfilerAgentCustomLabels `json:"custom_labels,omitempty"`
// metrics resolutions
- MetricsResolutions *ChangeAgentParamsBodyQANMongodbMongologAgentMetricsResolutions `json:"metrics_resolutions,omitempty"`
+ MetricsResolutions *ChangeAgentParamsBodyQANMongodbProfilerAgentMetricsResolutions `json:"metrics_resolutions,omitempty"`
}
-// Validate validates this change agent params body QAN mongodb mongolog agent
-func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body QAN mongodb profiler agent
+func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) Validate(formats strfmt.Registry) error {
var res []error
if err := o.validateLogLevel(formats); err != nil {
@@ -9449,7 +10211,7 @@ func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) Validate(formats strfmt.R
return nil
}
-var changeAgentParamsBodyQanMongodbMongologAgentTypeLogLevelPropEnum []any
+var changeAgentParamsBodyQanMongodbProfilerAgentTypeLogLevelPropEnum []any
func init() {
var res []string
@@ -9457,53 +10219,53 @@ func init() {
panic(err)
}
for _, v := range res {
- changeAgentParamsBodyQanMongodbMongologAgentTypeLogLevelPropEnum = append(changeAgentParamsBodyQanMongodbMongologAgentTypeLogLevelPropEnum, v)
+ changeAgentParamsBodyQanMongodbProfilerAgentTypeLogLevelPropEnum = append(changeAgentParamsBodyQanMongodbProfilerAgentTypeLogLevelPropEnum, v)
}
}
const (
- // ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
- ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
+ // ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
+ ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
- // ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
- ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
+ // ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
+ ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
- // ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
- ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
+ // ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
+ ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
- // ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
- ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
+ // ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
+ ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
- // ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
- ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
+ // ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
+ ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
- // ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
- ChangeAgentParamsBodyQANMongodbMongologAgentLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
+ // ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
+ ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
)
// prop value enum
-func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) validateLogLevelEnum(path, location string, value string) error {
- if err := validate.EnumCase(path, location, value, changeAgentParamsBodyQanMongodbMongologAgentTypeLogLevelPropEnum, true); err != nil {
+func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) validateLogLevelEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, changeAgentParamsBodyQanMongodbProfilerAgentTypeLogLevelPropEnum, true); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) validateLogLevel(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) validateLogLevel(formats strfmt.Registry) error {
if swag.IsZero(o.LogLevel) { // not required
return nil
}
// value enum
- if err := o.validateLogLevelEnum("body"+"."+"qan_mongodb_mongolog_agent"+"."+"log_level", "body", *o.LogLevel); err != nil {
+ if err := o.validateLogLevelEnum("body"+"."+"qan_mongodb_profiler_agent"+"."+"log_level", "body", *o.LogLevel); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) validateCustomLabels(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) validateCustomLabels(formats strfmt.Registry) error {
if swag.IsZero(o.CustomLabels) { // not required
return nil
}
@@ -9512,11 +10274,11 @@ func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) validateCustomLabels(form
if err := o.CustomLabels.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_mongodb_mongolog_agent" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "qan_mongodb_profiler_agent" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_mongodb_mongolog_agent" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "qan_mongodb_profiler_agent" + "." + "custom_labels")
}
return err
@@ -9526,7 +10288,7 @@ func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) validateCustomLabels(form
return nil
}
-func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) validateMetricsResolutions(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) validateMetricsResolutions(formats strfmt.Registry) error {
if swag.IsZero(o.MetricsResolutions) { // not required
return nil
}
@@ -9535,11 +10297,11 @@ func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) validateMetricsResolution
if err := o.MetricsResolutions.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_mongodb_mongolog_agent" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "qan_mongodb_profiler_agent" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_mongodb_mongolog_agent" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "qan_mongodb_profiler_agent" + "." + "metrics_resolutions")
}
return err
@@ -9549,8 +10311,8 @@ func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) validateMetricsResolution
return nil
}
-// ContextValidate validate this change agent params body QAN mongodb mongolog agent based on the context it is used
-func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validate this change agent params body QAN mongodb profiler agent based on the context it is used
+func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := o.contextValidateCustomLabels(ctx, formats); err != nil {
@@ -9567,7 +10329,7 @@ func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) ContextValidate(ctx conte
return nil
}
-func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
if o.CustomLabels != nil {
if swag.IsZero(o.CustomLabels) { // not required
@@ -9577,11 +10339,11 @@ func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) contextValidateCustomLabe
if err := o.CustomLabels.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_mongodb_mongolog_agent" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "qan_mongodb_profiler_agent" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_mongodb_mongolog_agent" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "qan_mongodb_profiler_agent" + "." + "custom_labels")
}
return err
@@ -9591,7 +10353,7 @@ func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) contextValidateCustomLabe
return nil
}
-func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
if o.MetricsResolutions != nil {
if swag.IsZero(o.MetricsResolutions) { // not required
@@ -9601,11 +10363,11 @@ func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) contextValidateMetricsRes
if err := o.MetricsResolutions.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_mongodb_mongolog_agent" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "qan_mongodb_profiler_agent" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_mongodb_mongolog_agent" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "qan_mongodb_profiler_agent" + "." + "metrics_resolutions")
}
return err
@@ -9616,7 +10378,7 @@ func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) contextValidateMetricsRes
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -9624,8 +10386,8 @@ func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) MarshalBinary() ([]byte,
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyQANMongodbMongologAgent
+func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyQANMongodbProfilerAgent
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -9634,26 +10396,26 @@ func (o *ChangeAgentParamsBodyQANMongodbMongologAgent) UnmarshalBinary(b []byte)
}
/*
-ChangeAgentParamsBodyQANMongodbMongologAgentCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
-swagger:model ChangeAgentParamsBodyQANMongodbMongologAgentCustomLabels
+ChangeAgentParamsBodyQANMongodbProfilerAgentCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
+swagger:model ChangeAgentParamsBodyQANMongodbProfilerAgentCustomLabels
*/
-type ChangeAgentParamsBodyQANMongodbMongologAgentCustomLabels struct {
+type ChangeAgentParamsBodyQANMongodbProfilerAgentCustomLabels struct {
// values
Values map[string]string `json:"values,omitempty"`
}
-// Validate validates this change agent params body QAN mongodb mongolog agent custom labels
-func (o *ChangeAgentParamsBodyQANMongodbMongologAgentCustomLabels) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body QAN mongodb profiler agent custom labels
+func (o *ChangeAgentParamsBodyQANMongodbProfilerAgentCustomLabels) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body QAN mongodb mongolog agent custom labels based on context it is used
-func (o *ChangeAgentParamsBodyQANMongodbMongologAgentCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body QAN mongodb profiler agent custom labels based on context it is used
+func (o *ChangeAgentParamsBodyQANMongodbProfilerAgentCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMongodbMongologAgentCustomLabels) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyQANMongodbProfilerAgentCustomLabels) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -9661,8 +10423,8 @@ func (o *ChangeAgentParamsBodyQANMongodbMongologAgentCustomLabels) MarshalBinary
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMongodbMongologAgentCustomLabels) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyQANMongodbMongologAgentCustomLabels
+func (o *ChangeAgentParamsBodyQANMongodbProfilerAgentCustomLabels) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyQANMongodbProfilerAgentCustomLabels
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -9671,10 +10433,10 @@ func (o *ChangeAgentParamsBodyQANMongodbMongologAgentCustomLabels) UnmarshalBina
}
/*
-ChangeAgentParamsBodyQANMongodbMongologAgentMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
-swagger:model ChangeAgentParamsBodyQANMongodbMongologAgentMetricsResolutions
+ChangeAgentParamsBodyQANMongodbProfilerAgentMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
+swagger:model ChangeAgentParamsBodyQANMongodbProfilerAgentMetricsResolutions
*/
-type ChangeAgentParamsBodyQANMongodbMongologAgentMetricsResolutions struct {
+type ChangeAgentParamsBodyQANMongodbProfilerAgentMetricsResolutions struct {
// High resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
Hr string `json:"hr,omitempty"`
@@ -9685,18 +10447,18 @@ type ChangeAgentParamsBodyQANMongodbMongologAgentMetricsResolutions struct {
Lr string `json:"lr,omitempty"`
}
-// Validate validates this change agent params body QAN mongodb mongolog agent metrics resolutions
-func (o *ChangeAgentParamsBodyQANMongodbMongologAgentMetricsResolutions) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body QAN mongodb profiler agent metrics resolutions
+func (o *ChangeAgentParamsBodyQANMongodbProfilerAgentMetricsResolutions) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body QAN mongodb mongolog agent metrics resolutions based on context it is used
-func (o *ChangeAgentParamsBodyQANMongodbMongologAgentMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body QAN mongodb profiler agent metrics resolutions based on context it is used
+func (o *ChangeAgentParamsBodyQANMongodbProfilerAgentMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMongodbMongologAgentMetricsResolutions) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyQANMongodbProfilerAgentMetricsResolutions) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -9704,8 +10466,8 @@ func (o *ChangeAgentParamsBodyQANMongodbMongologAgentMetricsResolutions) Marshal
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMongodbMongologAgentMetricsResolutions) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyQANMongodbMongologAgentMetricsResolutions
+func (o *ChangeAgentParamsBodyQANMongodbProfilerAgentMetricsResolutions) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyQANMongodbProfilerAgentMetricsResolutions
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -9714,20 +10476,20 @@ func (o *ChangeAgentParamsBodyQANMongodbMongologAgentMetricsResolutions) Unmarsh
}
/*
-ChangeAgentParamsBodyQANMongodbProfilerAgent change agent params body QAN mongodb profiler agent
-swagger:model ChangeAgentParamsBodyQANMongodbProfilerAgent
+ChangeAgentParamsBodyQANMysqlPerfschemaAgent change agent params body QAN mysql perfschema agent
+swagger:model ChangeAgentParamsBodyQANMysqlPerfschemaAgent
*/
-type ChangeAgentParamsBodyQANMongodbProfilerAgent struct {
+type ChangeAgentParamsBodyQANMysqlPerfschemaAgent struct {
// Enable this Agent. Agents are enabled by default when they get added.
Enable *bool `json:"enable,omitempty"`
// Enables push metrics with vmagent.
EnablePushMetrics *bool `json:"enable_push_metrics,omitempty"`
- // MongoDB username for getting profile data.
+ // MySQL username for getting performance data.
Username *string `json:"username,omitempty"`
- // MongoDB password for getting profile data.
+ // MySQL password for getting performance data.
Password *string `json:"password,omitempty"`
// Use TLS for database connections.
@@ -9736,23 +10498,26 @@ type ChangeAgentParamsBodyQANMongodbProfilerAgent struct {
// Skip TLS certificate and hostname validation.
TLSSkipVerify *bool `json:"tls_skip_verify,omitempty"`
- // Client certificate and key.
- TLSCertificateKey *string `json:"tls_certificate_key,omitempty"`
-
- // Password for decrypting tls_certificate_key.
- TLSCertificateKeyFilePassword *string `json:"tls_certificate_key_file_password,omitempty"`
-
// Certificate Authority certificate chain.
TLSCa *string `json:"tls_ca,omitempty"`
+ // Client certificate.
+ TLSCert *string `json:"tls_cert,omitempty"`
+
+ // Password for decrypting tls_cert.
+ TLSKey *string `json:"tls_key,omitempty"`
+
// Limit query length in QAN (default: server-defined; -1: no limit).
MaxQueryLength *int32 `json:"max_query_length,omitempty"`
- // Authentication mechanism.
- AuthenticationMechanism *string `json:"authentication_mechanism,omitempty"`
+ // Disable query examples.
+ DisableQueryExamples *bool `json:"disable_query_examples,omitempty"`
- // Authentication database.
- AuthenticationDatabase *string `json:"authentication_database,omitempty"`
+ // Skip connection check.
+ SkipConnectionCheck *bool `json:"skip_connection_check,omitempty"`
+
+ // Disable parsing comments from queries and showing them in QAN.
+ DisableCommentsParsing *bool `json:"disable_comments_parsing,omitempty"`
// Log level for exporters
//
@@ -9760,18 +10525,15 @@ type ChangeAgentParamsBodyQANMongodbProfilerAgent struct {
// Enum: ["LOG_LEVEL_UNSPECIFIED","LOG_LEVEL_FATAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARN","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG"]
LogLevel *string `json:"log_level,omitempty"`
- // Skip connection check.
- SkipConnectionCheck *bool `json:"skip_connection_check,omitempty"`
-
// custom labels
- CustomLabels *ChangeAgentParamsBodyQANMongodbProfilerAgentCustomLabels `json:"custom_labels,omitempty"`
+ CustomLabels *ChangeAgentParamsBodyQANMysqlPerfschemaAgentCustomLabels `json:"custom_labels,omitempty"`
// metrics resolutions
- MetricsResolutions *ChangeAgentParamsBodyQANMongodbProfilerAgentMetricsResolutions `json:"metrics_resolutions,omitempty"`
+ MetricsResolutions *ChangeAgentParamsBodyQANMysqlPerfschemaAgentMetricsResolutions `json:"metrics_resolutions,omitempty"`
}
-// Validate validates this change agent params body QAN mongodb profiler agent
-func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body QAN mysql perfschema agent
+func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) Validate(formats strfmt.Registry) error {
var res []error
if err := o.validateLogLevel(formats); err != nil {
@@ -9792,7 +10554,7 @@ func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) Validate(formats strfmt.R
return nil
}
-var changeAgentParamsBodyQanMongodbProfilerAgentTypeLogLevelPropEnum []any
+var changeAgentParamsBodyQanMysqlPerfschemaAgentTypeLogLevelPropEnum []any
func init() {
var res []string
@@ -9800,53 +10562,53 @@ func init() {
panic(err)
}
for _, v := range res {
- changeAgentParamsBodyQanMongodbProfilerAgentTypeLogLevelPropEnum = append(changeAgentParamsBodyQanMongodbProfilerAgentTypeLogLevelPropEnum, v)
+ changeAgentParamsBodyQanMysqlPerfschemaAgentTypeLogLevelPropEnum = append(changeAgentParamsBodyQanMysqlPerfschemaAgentTypeLogLevelPropEnum, v)
}
}
const (
- // ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
- ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
+ // ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
+ ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
- // ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
- ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
+ // ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
+ ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
- // ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
- ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
+ // ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
+ ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
- // ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
- ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
+ // ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
+ ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
- // ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
- ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
+ // ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
+ ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
- // ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
- ChangeAgentParamsBodyQANMongodbProfilerAgentLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
+ // ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
+ ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
)
// prop value enum
-func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) validateLogLevelEnum(path, location string, value string) error {
- if err := validate.EnumCase(path, location, value, changeAgentParamsBodyQanMongodbProfilerAgentTypeLogLevelPropEnum, true); err != nil {
+func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) validateLogLevelEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, changeAgentParamsBodyQanMysqlPerfschemaAgentTypeLogLevelPropEnum, true); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) validateLogLevel(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) validateLogLevel(formats strfmt.Registry) error {
if swag.IsZero(o.LogLevel) { // not required
return nil
}
// value enum
- if err := o.validateLogLevelEnum("body"+"."+"qan_mongodb_profiler_agent"+"."+"log_level", "body", *o.LogLevel); err != nil {
+ if err := o.validateLogLevelEnum("body"+"."+"qan_mysql_perfschema_agent"+"."+"log_level", "body", *o.LogLevel); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) validateCustomLabels(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) validateCustomLabels(formats strfmt.Registry) error {
if swag.IsZero(o.CustomLabels) { // not required
return nil
}
@@ -9855,11 +10617,11 @@ func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) validateCustomLabels(form
if err := o.CustomLabels.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_mongodb_profiler_agent" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "qan_mysql_perfschema_agent" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_mongodb_profiler_agent" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "qan_mysql_perfschema_agent" + "." + "custom_labels")
}
return err
@@ -9869,7 +10631,7 @@ func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) validateCustomLabels(form
return nil
}
-func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) validateMetricsResolutions(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) validateMetricsResolutions(formats strfmt.Registry) error {
if swag.IsZero(o.MetricsResolutions) { // not required
return nil
}
@@ -9878,11 +10640,11 @@ func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) validateMetricsResolution
if err := o.MetricsResolutions.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_mongodb_profiler_agent" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "qan_mysql_perfschema_agent" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_mongodb_profiler_agent" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "qan_mysql_perfschema_agent" + "." + "metrics_resolutions")
}
return err
@@ -9892,8 +10654,8 @@ func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) validateMetricsResolution
return nil
}
-// ContextValidate validate this change agent params body QAN mongodb profiler agent based on the context it is used
-func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validate this change agent params body QAN mysql perfschema agent based on the context it is used
+func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := o.contextValidateCustomLabels(ctx, formats); err != nil {
@@ -9910,7 +10672,7 @@ func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) ContextValidate(ctx conte
return nil
}
-func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
if o.CustomLabels != nil {
if swag.IsZero(o.CustomLabels) { // not required
@@ -9920,11 +10682,11 @@ func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) contextValidateCustomLabe
if err := o.CustomLabels.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_mongodb_profiler_agent" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "qan_mysql_perfschema_agent" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_mongodb_profiler_agent" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "qan_mysql_perfschema_agent" + "." + "custom_labels")
}
return err
@@ -9934,7 +10696,7 @@ func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) contextValidateCustomLabe
return nil
}
-func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
if o.MetricsResolutions != nil {
if swag.IsZero(o.MetricsResolutions) { // not required
@@ -9944,11 +10706,11 @@ func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) contextValidateMetricsRes
if err := o.MetricsResolutions.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_mongodb_profiler_agent" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "qan_mysql_perfschema_agent" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_mongodb_profiler_agent" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "qan_mysql_perfschema_agent" + "." + "metrics_resolutions")
}
return err
@@ -9959,7 +10721,7 @@ func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) contextValidateMetricsRes
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -9967,8 +10729,8 @@ func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) MarshalBinary() ([]byte,
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyQANMongodbProfilerAgent
+func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyQANMysqlPerfschemaAgent
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -9977,26 +10739,26 @@ func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) UnmarshalBinary(b []byte)
}
/*
-ChangeAgentParamsBodyQANMongodbProfilerAgentCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
-swagger:model ChangeAgentParamsBodyQANMongodbProfilerAgentCustomLabels
+ChangeAgentParamsBodyQANMysqlPerfschemaAgentCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
+swagger:model ChangeAgentParamsBodyQANMysqlPerfschemaAgentCustomLabels
*/
-type ChangeAgentParamsBodyQANMongodbProfilerAgentCustomLabels struct {
+type ChangeAgentParamsBodyQANMysqlPerfschemaAgentCustomLabels struct {
// values
Values map[string]string `json:"values,omitempty"`
}
-// Validate validates this change agent params body QAN mongodb profiler agent custom labels
-func (o *ChangeAgentParamsBodyQANMongodbProfilerAgentCustomLabels) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body QAN mysql perfschema agent custom labels
+func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgentCustomLabels) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body QAN mongodb profiler agent custom labels based on context it is used
-func (o *ChangeAgentParamsBodyQANMongodbProfilerAgentCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body QAN mysql perfschema agent custom labels based on context it is used
+func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgentCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMongodbProfilerAgentCustomLabels) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgentCustomLabels) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -10004,8 +10766,8 @@ func (o *ChangeAgentParamsBodyQANMongodbProfilerAgentCustomLabels) MarshalBinary
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMongodbProfilerAgentCustomLabels) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyQANMongodbProfilerAgentCustomLabels
+func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgentCustomLabels) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyQANMysqlPerfschemaAgentCustomLabels
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -10014,10 +10776,10 @@ func (o *ChangeAgentParamsBodyQANMongodbProfilerAgentCustomLabels) UnmarshalBina
}
/*
-ChangeAgentParamsBodyQANMongodbProfilerAgentMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
-swagger:model ChangeAgentParamsBodyQANMongodbProfilerAgentMetricsResolutions
+ChangeAgentParamsBodyQANMysqlPerfschemaAgentMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
+swagger:model ChangeAgentParamsBodyQANMysqlPerfschemaAgentMetricsResolutions
*/
-type ChangeAgentParamsBodyQANMongodbProfilerAgentMetricsResolutions struct {
+type ChangeAgentParamsBodyQANMysqlPerfschemaAgentMetricsResolutions struct {
// High resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
Hr string `json:"hr,omitempty"`
@@ -10028,18 +10790,18 @@ type ChangeAgentParamsBodyQANMongodbProfilerAgentMetricsResolutions struct {
Lr string `json:"lr,omitempty"`
}
-// Validate validates this change agent params body QAN mongodb profiler agent metrics resolutions
-func (o *ChangeAgentParamsBodyQANMongodbProfilerAgentMetricsResolutions) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body QAN mysql perfschema agent metrics resolutions
+func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgentMetricsResolutions) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body QAN mongodb profiler agent metrics resolutions based on context it is used
-func (o *ChangeAgentParamsBodyQANMongodbProfilerAgentMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body QAN mysql perfschema agent metrics resolutions based on context it is used
+func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgentMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMongodbProfilerAgentMetricsResolutions) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgentMetricsResolutions) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -10047,8 +10809,8 @@ func (o *ChangeAgentParamsBodyQANMongodbProfilerAgentMetricsResolutions) Marshal
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMongodbProfilerAgentMetricsResolutions) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyQANMongodbProfilerAgentMetricsResolutions
+func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgentMetricsResolutions) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyQANMysqlPerfschemaAgentMetricsResolutions
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -10057,20 +10819,20 @@ func (o *ChangeAgentParamsBodyQANMongodbProfilerAgentMetricsResolutions) Unmarsh
}
/*
-ChangeAgentParamsBodyQANMysqlPerfschemaAgent change agent params body QAN mysql perfschema agent
-swagger:model ChangeAgentParamsBodyQANMysqlPerfschemaAgent
+ChangeAgentParamsBodyQANMysqlSlowlogAgent change agent params body QAN mysql slowlog agent
+swagger:model ChangeAgentParamsBodyQANMysqlSlowlogAgent
*/
-type ChangeAgentParamsBodyQANMysqlPerfschemaAgent struct {
+type ChangeAgentParamsBodyQANMysqlSlowlogAgent struct {
// Enable this Agent. Agents are enabled by default when they get added.
Enable *bool `json:"enable,omitempty"`
// Enables push metrics with vmagent.
EnablePushMetrics *bool `json:"enable_push_metrics,omitempty"`
- // MySQL username for getting performance data.
+ // MySQL username for getting slowlog data.
Username *string `json:"username,omitempty"`
- // MySQL password for getting performance data.
+ // MySQL password for getting slowlog data.
Password *string `json:"password,omitempty"`
// Use TLS for database connections.
@@ -10094,6 +10856,9 @@ type ChangeAgentParamsBodyQANMysqlPerfschemaAgent struct {
// Disable query examples.
DisableQueryExamples *bool `json:"disable_query_examples,omitempty"`
+ // Rotate slowlog file at this size if > 0.
+ MaxSlowlogFileSize *string `json:"max_slowlog_file_size,omitempty"`
+
// Skip connection check.
SkipConnectionCheck *bool `json:"skip_connection_check,omitempty"`
@@ -10107,14 +10872,14 @@ type ChangeAgentParamsBodyQANMysqlPerfschemaAgent struct {
LogLevel *string `json:"log_level,omitempty"`
// custom labels
- CustomLabels *ChangeAgentParamsBodyQANMysqlPerfschemaAgentCustomLabels `json:"custom_labels,omitempty"`
+ CustomLabels *ChangeAgentParamsBodyQANMysqlSlowlogAgentCustomLabels `json:"custom_labels,omitempty"`
// metrics resolutions
- MetricsResolutions *ChangeAgentParamsBodyQANMysqlPerfschemaAgentMetricsResolutions `json:"metrics_resolutions,omitempty"`
+ MetricsResolutions *ChangeAgentParamsBodyQANMysqlSlowlogAgentMetricsResolutions `json:"metrics_resolutions,omitempty"`
}
-// Validate validates this change agent params body QAN mysql perfschema agent
-func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body QAN mysql slowlog agent
+func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) Validate(formats strfmt.Registry) error {
var res []error
if err := o.validateLogLevel(formats); err != nil {
@@ -10135,7 +10900,7 @@ func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) Validate(formats strfmt.R
return nil
}
-var changeAgentParamsBodyQanMysqlPerfschemaAgentTypeLogLevelPropEnum []any
+var changeAgentParamsBodyQanMysqlSlowlogAgentTypeLogLevelPropEnum []any
func init() {
var res []string
@@ -10143,53 +10908,53 @@ func init() {
panic(err)
}
for _, v := range res {
- changeAgentParamsBodyQanMysqlPerfschemaAgentTypeLogLevelPropEnum = append(changeAgentParamsBodyQanMysqlPerfschemaAgentTypeLogLevelPropEnum, v)
+ changeAgentParamsBodyQanMysqlSlowlogAgentTypeLogLevelPropEnum = append(changeAgentParamsBodyQanMysqlSlowlogAgentTypeLogLevelPropEnum, v)
}
}
const (
- // ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
- ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
+ // ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
+ ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
- // ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
- ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
+ // ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
+ ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
- // ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
- ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
+ // ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
+ ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
- // ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
- ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
+ // ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
+ ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
- // ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
- ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
+ // ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
+ ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
- // ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
- ChangeAgentParamsBodyQANMysqlPerfschemaAgentLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
+ // ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
+ ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
)
// prop value enum
-func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) validateLogLevelEnum(path, location string, value string) error {
- if err := validate.EnumCase(path, location, value, changeAgentParamsBodyQanMysqlPerfschemaAgentTypeLogLevelPropEnum, true); err != nil {
+func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) validateLogLevelEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, changeAgentParamsBodyQanMysqlSlowlogAgentTypeLogLevelPropEnum, true); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) validateLogLevel(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) validateLogLevel(formats strfmt.Registry) error {
if swag.IsZero(o.LogLevel) { // not required
return nil
}
// value enum
- if err := o.validateLogLevelEnum("body"+"."+"qan_mysql_perfschema_agent"+"."+"log_level", "body", *o.LogLevel); err != nil {
+ if err := o.validateLogLevelEnum("body"+"."+"qan_mysql_slowlog_agent"+"."+"log_level", "body", *o.LogLevel); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) validateCustomLabels(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) validateCustomLabels(formats strfmt.Registry) error {
if swag.IsZero(o.CustomLabels) { // not required
return nil
}
@@ -10198,11 +10963,11 @@ func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) validateCustomLabels(form
if err := o.CustomLabels.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_mysql_perfschema_agent" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "qan_mysql_slowlog_agent" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_mysql_perfschema_agent" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "qan_mysql_slowlog_agent" + "." + "custom_labels")
}
return err
@@ -10212,7 +10977,7 @@ func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) validateCustomLabels(form
return nil
}
-func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) validateMetricsResolutions(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) validateMetricsResolutions(formats strfmt.Registry) error {
if swag.IsZero(o.MetricsResolutions) { // not required
return nil
}
@@ -10221,11 +10986,11 @@ func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) validateMetricsResolution
if err := o.MetricsResolutions.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_mysql_perfschema_agent" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "qan_mysql_slowlog_agent" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_mysql_perfschema_agent" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "qan_mysql_slowlog_agent" + "." + "metrics_resolutions")
}
return err
@@ -10235,8 +11000,8 @@ func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) validateMetricsResolution
return nil
}
-// ContextValidate validate this change agent params body QAN mysql perfschema agent based on the context it is used
-func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validate this change agent params body QAN mysql slowlog agent based on the context it is used
+func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := o.contextValidateCustomLabels(ctx, formats); err != nil {
@@ -10253,7 +11018,7 @@ func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) ContextValidate(ctx conte
return nil
}
-func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
if o.CustomLabels != nil {
if swag.IsZero(o.CustomLabels) { // not required
@@ -10263,11 +11028,11 @@ func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) contextValidateCustomLabe
if err := o.CustomLabels.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_mysql_perfschema_agent" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "qan_mysql_slowlog_agent" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_mysql_perfschema_agent" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "qan_mysql_slowlog_agent" + "." + "custom_labels")
}
return err
@@ -10277,7 +11042,7 @@ func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) contextValidateCustomLabe
return nil
}
-func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
if o.MetricsResolutions != nil {
if swag.IsZero(o.MetricsResolutions) { // not required
@@ -10287,11 +11052,11 @@ func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) contextValidateMetricsRes
if err := o.MetricsResolutions.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_mysql_perfschema_agent" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "qan_mysql_slowlog_agent" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_mysql_perfschema_agent" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "qan_mysql_slowlog_agent" + "." + "metrics_resolutions")
}
return err
@@ -10302,7 +11067,7 @@ func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) contextValidateMetricsRes
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -10310,8 +11075,8 @@ func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) MarshalBinary() ([]byte,
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyQANMysqlPerfschemaAgent
+func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyQANMysqlSlowlogAgent
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -10320,26 +11085,26 @@ func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) UnmarshalBinary(b []byte)
}
/*
-ChangeAgentParamsBodyQANMysqlPerfschemaAgentCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
-swagger:model ChangeAgentParamsBodyQANMysqlPerfschemaAgentCustomLabels
+ChangeAgentParamsBodyQANMysqlSlowlogAgentCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
+swagger:model ChangeAgentParamsBodyQANMysqlSlowlogAgentCustomLabels
*/
-type ChangeAgentParamsBodyQANMysqlPerfschemaAgentCustomLabels struct {
+type ChangeAgentParamsBodyQANMysqlSlowlogAgentCustomLabels struct {
// values
Values map[string]string `json:"values,omitempty"`
}
-// Validate validates this change agent params body QAN mysql perfschema agent custom labels
-func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgentCustomLabels) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body QAN mysql slowlog agent custom labels
+func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgentCustomLabels) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body QAN mysql perfschema agent custom labels based on context it is used
-func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgentCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body QAN mysql slowlog agent custom labels based on context it is used
+func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgentCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgentCustomLabels) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgentCustomLabels) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -10347,8 +11112,8 @@ func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgentCustomLabels) MarshalBinary
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgentCustomLabels) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyQANMysqlPerfschemaAgentCustomLabels
+func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgentCustomLabels) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyQANMysqlSlowlogAgentCustomLabels
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -10357,10 +11122,10 @@ func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgentCustomLabels) UnmarshalBina
}
/*
-ChangeAgentParamsBodyQANMysqlPerfschemaAgentMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
-swagger:model ChangeAgentParamsBodyQANMysqlPerfschemaAgentMetricsResolutions
+ChangeAgentParamsBodyQANMysqlSlowlogAgentMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
+swagger:model ChangeAgentParamsBodyQANMysqlSlowlogAgentMetricsResolutions
*/
-type ChangeAgentParamsBodyQANMysqlPerfschemaAgentMetricsResolutions struct {
+type ChangeAgentParamsBodyQANMysqlSlowlogAgentMetricsResolutions struct {
// High resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
Hr string `json:"hr,omitempty"`
@@ -10371,18 +11136,18 @@ type ChangeAgentParamsBodyQANMysqlPerfschemaAgentMetricsResolutions struct {
Lr string `json:"lr,omitempty"`
}
-// Validate validates this change agent params body QAN mysql perfschema agent metrics resolutions
-func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgentMetricsResolutions) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body QAN mysql slowlog agent metrics resolutions
+func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgentMetricsResolutions) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body QAN mysql perfschema agent metrics resolutions based on context it is used
-func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgentMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body QAN mysql slowlog agent metrics resolutions based on context it is used
+func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgentMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgentMetricsResolutions) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgentMetricsResolutions) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -10390,8 +11155,8 @@ func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgentMetricsResolutions) Marshal
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgentMetricsResolutions) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyQANMysqlPerfschemaAgentMetricsResolutions
+func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgentMetricsResolutions) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyQANMysqlSlowlogAgentMetricsResolutions
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -10400,20 +11165,20 @@ func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgentMetricsResolutions) Unmarsh
}
/*
-ChangeAgentParamsBodyQANMysqlSlowlogAgent change agent params body QAN mysql slowlog agent
-swagger:model ChangeAgentParamsBodyQANMysqlSlowlogAgent
+ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent change agent params body QAN postgresql pgstatements agent
+swagger:model ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent
*/
-type ChangeAgentParamsBodyQANMysqlSlowlogAgent struct {
+type ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent struct {
// Enable this Agent. Agents are enabled by default when they get added.
Enable *bool `json:"enable,omitempty"`
// Enables push metrics with vmagent.
EnablePushMetrics *bool `json:"enable_push_metrics,omitempty"`
- // MySQL username for getting slowlog data.
+ // PostgreSQL username for getting pg stat statements data.
Username *string `json:"username,omitempty"`
- // MySQL password for getting slowlog data.
+ // PostgreSQL password for getting pg stat statements data.
Password *string `json:"password,omitempty"`
// Use TLS for database connections.
@@ -10422,29 +11187,20 @@ type ChangeAgentParamsBodyQANMysqlSlowlogAgent struct {
// Skip TLS certificate and hostname validation.
TLSSkipVerify *bool `json:"tls_skip_verify,omitempty"`
- // Certificate Authority certificate chain.
- TLSCa *string `json:"tls_ca,omitempty"`
-
- // Client certificate.
- TLSCert *string `json:"tls_cert,omitempty"`
-
- // Password for decrypting tls_cert.
- TLSKey *string `json:"tls_key,omitempty"`
+ // Disable parsing comments from queries and showing them in QAN.
+ DisableCommentsParsing *bool `json:"disable_comments_parsing,omitempty"`
// Limit query length in QAN (default: server-defined; -1: no limit).
MaxQueryLength *int32 `json:"max_query_length,omitempty"`
- // Disable query examples.
- DisableQueryExamples *bool `json:"disable_query_examples,omitempty"`
-
- // Rotate slowlog file at this size if > 0.
- MaxSlowlogFileSize *string `json:"max_slowlog_file_size,omitempty"`
+ // TLS CA certificate.
+ TLSCa *string `json:"tls_ca,omitempty"`
- // Skip connection check.
- SkipConnectionCheck *bool `json:"skip_connection_check,omitempty"`
+ // TLS Certificate.
+ TLSCert *string `json:"tls_cert,omitempty"`
- // Disable parsing comments from queries and showing them in QAN.
- DisableCommentsParsing *bool `json:"disable_comments_parsing,omitempty"`
+ // TLS Certificate Key.
+ TLSKey *string `json:"tls_key,omitempty"`
// Log level for exporters
//
@@ -10452,15 +11208,18 @@ type ChangeAgentParamsBodyQANMysqlSlowlogAgent struct {
// Enum: ["LOG_LEVEL_UNSPECIFIED","LOG_LEVEL_FATAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARN","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG"]
LogLevel *string `json:"log_level,omitempty"`
+ // Skip connection check.
+ SkipConnectionCheck *bool `json:"skip_connection_check,omitempty"`
+
// custom labels
- CustomLabels *ChangeAgentParamsBodyQANMysqlSlowlogAgentCustomLabels `json:"custom_labels,omitempty"`
+ CustomLabels *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentCustomLabels `json:"custom_labels,omitempty"`
// metrics resolutions
- MetricsResolutions *ChangeAgentParamsBodyQANMysqlSlowlogAgentMetricsResolutions `json:"metrics_resolutions,omitempty"`
+ MetricsResolutions *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentMetricsResolutions `json:"metrics_resolutions,omitempty"`
}
-// Validate validates this change agent params body QAN mysql slowlog agent
-func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body QAN postgresql pgstatements agent
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) Validate(formats strfmt.Registry) error {
var res []error
if err := o.validateLogLevel(formats); err != nil {
@@ -10481,7 +11240,7 @@ func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) Validate(formats strfmt.Regi
return nil
}
-var changeAgentParamsBodyQanMysqlSlowlogAgentTypeLogLevelPropEnum []any
+var changeAgentParamsBodyQanPostgresqlPgstatementsAgentTypeLogLevelPropEnum []any
func init() {
var res []string
@@ -10489,53 +11248,53 @@ func init() {
panic(err)
}
for _, v := range res {
- changeAgentParamsBodyQanMysqlSlowlogAgentTypeLogLevelPropEnum = append(changeAgentParamsBodyQanMysqlSlowlogAgentTypeLogLevelPropEnum, v)
+ changeAgentParamsBodyQanPostgresqlPgstatementsAgentTypeLogLevelPropEnum = append(changeAgentParamsBodyQanPostgresqlPgstatementsAgentTypeLogLevelPropEnum, v)
}
}
const (
- // ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
- ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
+ // ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
+ ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
- // ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
- ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
+ // ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
+ ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
- // ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
- ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
+ // ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
+ ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
- // ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
- ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
+ // ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
+ ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
- // ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
- ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
+ // ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
+ ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
- // ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
- ChangeAgentParamsBodyQANMysqlSlowlogAgentLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
+ // ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
+ ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
)
// prop value enum
-func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) validateLogLevelEnum(path, location string, value string) error {
- if err := validate.EnumCase(path, location, value, changeAgentParamsBodyQanMysqlSlowlogAgentTypeLogLevelPropEnum, true); err != nil {
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) validateLogLevelEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, changeAgentParamsBodyQanPostgresqlPgstatementsAgentTypeLogLevelPropEnum, true); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) validateLogLevel(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) validateLogLevel(formats strfmt.Registry) error {
if swag.IsZero(o.LogLevel) { // not required
return nil
}
// value enum
- if err := o.validateLogLevelEnum("body"+"."+"qan_mysql_slowlog_agent"+"."+"log_level", "body", *o.LogLevel); err != nil {
+ if err := o.validateLogLevelEnum("body"+"."+"qan_postgresql_pgstatements_agent"+"."+"log_level", "body", *o.LogLevel); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) validateCustomLabels(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) validateCustomLabels(formats strfmt.Registry) error {
if swag.IsZero(o.CustomLabels) { // not required
return nil
}
@@ -10544,11 +11303,11 @@ func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) validateCustomLabels(formats
if err := o.CustomLabels.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_mysql_slowlog_agent" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "qan_postgresql_pgstatements_agent" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_mysql_slowlog_agent" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "qan_postgresql_pgstatements_agent" + "." + "custom_labels")
}
return err
@@ -10558,7 +11317,7 @@ func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) validateCustomLabels(formats
return nil
}
-func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) validateMetricsResolutions(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) validateMetricsResolutions(formats strfmt.Registry) error {
if swag.IsZero(o.MetricsResolutions) { // not required
return nil
}
@@ -10567,11 +11326,11 @@ func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) validateMetricsResolutions(f
if err := o.MetricsResolutions.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_mysql_slowlog_agent" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "qan_postgresql_pgstatements_agent" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_mysql_slowlog_agent" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "qan_postgresql_pgstatements_agent" + "." + "metrics_resolutions")
}
return err
@@ -10581,8 +11340,8 @@ func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) validateMetricsResolutions(f
return nil
}
-// ContextValidate validate this change agent params body QAN mysql slowlog agent based on the context it is used
-func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validate this change agent params body QAN postgresql pgstatements agent based on the context it is used
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := o.contextValidateCustomLabels(ctx, formats); err != nil {
@@ -10599,7 +11358,7 @@ func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) ContextValidate(ctx context.
return nil
}
-func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
if o.CustomLabels != nil {
if swag.IsZero(o.CustomLabels) { // not required
@@ -10609,11 +11368,11 @@ func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) contextValidateCustomLabels(
if err := o.CustomLabels.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_mysql_slowlog_agent" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "qan_postgresql_pgstatements_agent" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_mysql_slowlog_agent" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "qan_postgresql_pgstatements_agent" + "." + "custom_labels")
}
return err
@@ -10623,7 +11382,7 @@ func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) contextValidateCustomLabels(
return nil
}
-func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
if o.MetricsResolutions != nil {
if swag.IsZero(o.MetricsResolutions) { // not required
@@ -10633,11 +11392,11 @@ func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) contextValidateMetricsResolu
if err := o.MetricsResolutions.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_mysql_slowlog_agent" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "qan_postgresql_pgstatements_agent" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_mysql_slowlog_agent" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "qan_postgresql_pgstatements_agent" + "." + "metrics_resolutions")
}
return err
@@ -10648,7 +11407,7 @@ func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) contextValidateMetricsResolu
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -10656,8 +11415,8 @@ func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) MarshalBinary() ([]byte, err
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyQANMysqlSlowlogAgent
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -10666,26 +11425,26 @@ func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) UnmarshalBinary(b []byte) er
}
/*
-ChangeAgentParamsBodyQANMysqlSlowlogAgentCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
-swagger:model ChangeAgentParamsBodyQANMysqlSlowlogAgentCustomLabels
+ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
+swagger:model ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentCustomLabels
*/
-type ChangeAgentParamsBodyQANMysqlSlowlogAgentCustomLabels struct {
+type ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentCustomLabels struct {
// values
Values map[string]string `json:"values,omitempty"`
}
-// Validate validates this change agent params body QAN mysql slowlog agent custom labels
-func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgentCustomLabels) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body QAN postgresql pgstatements agent custom labels
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentCustomLabels) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body QAN mysql slowlog agent custom labels based on context it is used
-func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgentCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body QAN postgresql pgstatements agent custom labels based on context it is used
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgentCustomLabels) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentCustomLabels) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -10693,8 +11452,8 @@ func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgentCustomLabels) MarshalBinary()
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgentCustomLabels) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyQANMysqlSlowlogAgentCustomLabels
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentCustomLabels) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentCustomLabels
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -10703,10 +11462,10 @@ func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgentCustomLabels) UnmarshalBinary(
}
/*
-ChangeAgentParamsBodyQANMysqlSlowlogAgentMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
-swagger:model ChangeAgentParamsBodyQANMysqlSlowlogAgentMetricsResolutions
+ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
+swagger:model ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentMetricsResolutions
*/
-type ChangeAgentParamsBodyQANMysqlSlowlogAgentMetricsResolutions struct {
+type ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentMetricsResolutions struct {
// High resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
Hr string `json:"hr,omitempty"`
@@ -10717,18 +11476,18 @@ type ChangeAgentParamsBodyQANMysqlSlowlogAgentMetricsResolutions struct {
Lr string `json:"lr,omitempty"`
}
-// Validate validates this change agent params body QAN mysql slowlog agent metrics resolutions
-func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgentMetricsResolutions) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body QAN postgresql pgstatements agent metrics resolutions
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentMetricsResolutions) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body QAN mysql slowlog agent metrics resolutions based on context it is used
-func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgentMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body QAN postgresql pgstatements agent metrics resolutions based on context it is used
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgentMetricsResolutions) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentMetricsResolutions) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -10736,8 +11495,8 @@ func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgentMetricsResolutions) MarshalBin
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgentMetricsResolutions) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyQANMysqlSlowlogAgentMetricsResolutions
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentMetricsResolutions) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentMetricsResolutions
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -10746,20 +11505,20 @@ func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgentMetricsResolutions) UnmarshalB
}
/*
-ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent change agent params body QAN postgresql pgstatements agent
-swagger:model ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent
+ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent change agent params body QAN postgresql pgstatmonitor agent
+swagger:model ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent
*/
-type ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent struct {
+type ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent struct {
// Enable this Agent. Agents are enabled by default when they get added.
Enable *bool `json:"enable,omitempty"`
// Enables push metrics with vmagent.
EnablePushMetrics *bool `json:"enable_push_metrics,omitempty"`
- // PostgreSQL username for getting pg stat statements data.
+ // PostgreSQL username for getting pg stat monitor data.
Username *string `json:"username,omitempty"`
- // PostgreSQL password for getting pg stat statements data.
+ // PostgreSQL password for getting pg stat monitor data.
Password *string `json:"password,omitempty"`
// Use TLS for database connections.
@@ -10768,12 +11527,15 @@ type ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent struct {
// Skip TLS certificate and hostname validation.
TLSSkipVerify *bool `json:"tls_skip_verify,omitempty"`
- // Disable parsing comments from queries and showing them in QAN.
- DisableCommentsParsing *bool `json:"disable_comments_parsing,omitempty"`
-
// Limit query length in QAN (default: server-defined; -1: no limit).
MaxQueryLength *int32 `json:"max_query_length,omitempty"`
+ // Disable query examples.
+ DisableQueryExamples *bool `json:"disable_query_examples,omitempty"`
+
+ // Disable parsing comments from queries and showing them in QAN.
+ DisableCommentsParsing *bool `json:"disable_comments_parsing,omitempty"`
+
// TLS CA certificate.
TLSCa *string `json:"tls_ca,omitempty"`
@@ -10793,14 +11555,14 @@ type ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent struct {
SkipConnectionCheck *bool `json:"skip_connection_check,omitempty"`
// custom labels
- CustomLabels *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentCustomLabels `json:"custom_labels,omitempty"`
+ CustomLabels *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentCustomLabels `json:"custom_labels,omitempty"`
// metrics resolutions
- MetricsResolutions *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentMetricsResolutions `json:"metrics_resolutions,omitempty"`
+ MetricsResolutions *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentMetricsResolutions `json:"metrics_resolutions,omitempty"`
}
-// Validate validates this change agent params body QAN postgresql pgstatements agent
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body QAN postgresql pgstatmonitor agent
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) Validate(formats strfmt.Registry) error {
var res []error
if err := o.validateLogLevel(formats); err != nil {
@@ -10821,7 +11583,7 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) Validate(formats s
return nil
}
-var changeAgentParamsBodyQanPostgresqlPgstatementsAgentTypeLogLevelPropEnum []any
+var changeAgentParamsBodyQanPostgresqlPgstatmonitorAgentTypeLogLevelPropEnum []any
func init() {
var res []string
@@ -10829,53 +11591,53 @@ func init() {
panic(err)
}
for _, v := range res {
- changeAgentParamsBodyQanPostgresqlPgstatementsAgentTypeLogLevelPropEnum = append(changeAgentParamsBodyQanPostgresqlPgstatementsAgentTypeLogLevelPropEnum, v)
+ changeAgentParamsBodyQanPostgresqlPgstatmonitorAgentTypeLogLevelPropEnum = append(changeAgentParamsBodyQanPostgresqlPgstatmonitorAgentTypeLogLevelPropEnum, v)
}
}
const (
- // ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
- ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
+ // ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
+ ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
- // ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
- ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
+ // ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
+ ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
- // ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
- ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
+ // ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
+ ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
- // ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
- ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
+ // ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
+ ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
- // ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
- ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
+ // ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
+ ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
- // ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
- ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
+ // ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
+ ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
)
// prop value enum
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) validateLogLevelEnum(path, location string, value string) error {
- if err := validate.EnumCase(path, location, value, changeAgentParamsBodyQanPostgresqlPgstatementsAgentTypeLogLevelPropEnum, true); err != nil {
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) validateLogLevelEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, changeAgentParamsBodyQanPostgresqlPgstatmonitorAgentTypeLogLevelPropEnum, true); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) validateLogLevel(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) validateLogLevel(formats strfmt.Registry) error {
if swag.IsZero(o.LogLevel) { // not required
return nil
}
// value enum
- if err := o.validateLogLevelEnum("body"+"."+"qan_postgresql_pgstatements_agent"+"."+"log_level", "body", *o.LogLevel); err != nil {
+ if err := o.validateLogLevelEnum("body"+"."+"qan_postgresql_pgstatmonitor_agent"+"."+"log_level", "body", *o.LogLevel); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) validateCustomLabels(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) validateCustomLabels(formats strfmt.Registry) error {
if swag.IsZero(o.CustomLabels) { // not required
return nil
}
@@ -10884,11 +11646,11 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) validateCustomLabe
if err := o.CustomLabels.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_postgresql_pgstatements_agent" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "qan_postgresql_pgstatmonitor_agent" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_postgresql_pgstatements_agent" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "qan_postgresql_pgstatmonitor_agent" + "." + "custom_labels")
}
return err
@@ -10898,7 +11660,7 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) validateCustomLabe
return nil
}
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) validateMetricsResolutions(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) validateMetricsResolutions(formats strfmt.Registry) error {
if swag.IsZero(o.MetricsResolutions) { // not required
return nil
}
@@ -10907,11 +11669,11 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) validateMetricsRes
if err := o.MetricsResolutions.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_postgresql_pgstatements_agent" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "qan_postgresql_pgstatmonitor_agent" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_postgresql_pgstatements_agent" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "qan_postgresql_pgstatmonitor_agent" + "." + "metrics_resolutions")
}
return err
@@ -10921,8 +11683,8 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) validateMetricsRes
return nil
}
-// ContextValidate validate this change agent params body QAN postgresql pgstatements agent based on the context it is used
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validate this change agent params body QAN postgresql pgstatmonitor agent based on the context it is used
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := o.contextValidateCustomLabels(ctx, formats); err != nil {
@@ -10939,7 +11701,7 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) ContextValidate(ct
return nil
}
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
if o.CustomLabels != nil {
if swag.IsZero(o.CustomLabels) { // not required
@@ -10949,11 +11711,11 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) contextValidateCus
if err := o.CustomLabels.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_postgresql_pgstatements_agent" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "qan_postgresql_pgstatmonitor_agent" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_postgresql_pgstatements_agent" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "qan_postgresql_pgstatmonitor_agent" + "." + "custom_labels")
}
return err
@@ -10963,7 +11725,7 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) contextValidateCus
return nil
}
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
if o.MetricsResolutions != nil {
if swag.IsZero(o.MetricsResolutions) { // not required
@@ -10973,11 +11735,11 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) contextValidateMet
if err := o.MetricsResolutions.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_postgresql_pgstatements_agent" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "qan_postgresql_pgstatmonitor_agent" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_postgresql_pgstatements_agent" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "qan_postgresql_pgstatmonitor_agent" + "." + "metrics_resolutions")
}
return err
@@ -10988,7 +11750,7 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) contextValidateMet
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -10996,8 +11758,8 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) MarshalBinary() ([
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -11006,26 +11768,26 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) UnmarshalBinary(b
}
/*
-ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
-swagger:model ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentCustomLabels
+ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
+swagger:model ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentCustomLabels
*/
-type ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentCustomLabels struct {
+type ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentCustomLabels struct {
// values
Values map[string]string `json:"values,omitempty"`
}
-// Validate validates this change agent params body QAN postgresql pgstatements agent custom labels
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentCustomLabels) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body QAN postgresql pgstatmonitor agent custom labels
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentCustomLabels) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body QAN postgresql pgstatements agent custom labels based on context it is used
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body QAN postgresql pgstatmonitor agent custom labels based on context it is used
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentCustomLabels) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentCustomLabels) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -11033,8 +11795,8 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentCustomLabels) Marsha
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentCustomLabels) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentCustomLabels
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentCustomLabels) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentCustomLabels
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -11043,10 +11805,10 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentCustomLabels) Unmars
}
/*
-ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
-swagger:model ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentMetricsResolutions
+ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
+swagger:model ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentMetricsResolutions
*/
-type ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentMetricsResolutions struct {
+type ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentMetricsResolutions struct {
// High resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
Hr string `json:"hr,omitempty"`
@@ -11057,18 +11819,18 @@ type ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentMetricsResolutions struc
Lr string `json:"lr,omitempty"`
}
-// Validate validates this change agent params body QAN postgresql pgstatements agent metrics resolutions
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentMetricsResolutions) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body QAN postgresql pgstatmonitor agent metrics resolutions
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentMetricsResolutions) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body QAN postgresql pgstatements agent metrics resolutions based on context it is used
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body QAN postgresql pgstatmonitor agent metrics resolutions based on context it is used
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentMetricsResolutions) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentMetricsResolutions) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -11076,8 +11838,8 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentMetricsResolutions)
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentMetricsResolutions) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentMetricsResolutions
+func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentMetricsResolutions) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentMetricsResolutions
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -11086,45 +11848,27 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgentMetricsResolutions)
}
/*
-ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent change agent params body QAN postgresql pgstatmonitor agent
-swagger:model ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent
+ChangeAgentParamsBodyRDSExporter change agent params body RDS exporter
+swagger:model ChangeAgentParamsBodyRDSExporter
*/
-type ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent struct {
+type ChangeAgentParamsBodyRDSExporter struct {
// Enable this Agent. Agents are enabled by default when they get added.
Enable *bool `json:"enable,omitempty"`
// Enables push metrics with vmagent.
EnablePushMetrics *bool `json:"enable_push_metrics,omitempty"`
- // PostgreSQL username for getting pg stat monitor data.
- Username *string `json:"username,omitempty"`
-
- // PostgreSQL password for getting pg stat monitor data.
- Password *string `json:"password,omitempty"`
-
- // Use TLS for database connections.
- TLS *bool `json:"tls,omitempty"`
-
- // Skip TLS certificate and hostname validation.
- TLSSkipVerify *bool `json:"tls_skip_verify,omitempty"`
-
- // Limit query length in QAN (default: server-defined; -1: no limit).
- MaxQueryLength *int32 `json:"max_query_length,omitempty"`
-
- // Disable query examples.
- DisableQueryExamples *bool `json:"disable_query_examples,omitempty"`
-
- // Disable parsing comments from queries and showing them in QAN.
- DisableCommentsParsing *bool `json:"disable_comments_parsing,omitempty"`
+ // AWS Access Key.
+ AWSAccessKey *string `json:"aws_access_key,omitempty"`
- // TLS CA certificate.
- TLSCa *string `json:"tls_ca,omitempty"`
+ // AWS Secret Key.
+ AWSSecretKey *string `json:"aws_secret_key,omitempty"`
- // TLS Certificate.
- TLSCert *string `json:"tls_cert,omitempty"`
+ // Disable basic metrics.
+ DisableBasicMetrics *bool `json:"disable_basic_metrics,omitempty"`
- // TLS Certificate Key.
- TLSKey *string `json:"tls_key,omitempty"`
+ // Disable enhanced metrics.
+ DisableEnhancedMetrics *bool `json:"disable_enhanced_metrics,omitempty"`
// Log level for exporters
//
@@ -11132,18 +11876,15 @@ type ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent struct {
// Enum: ["LOG_LEVEL_UNSPECIFIED","LOG_LEVEL_FATAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARN","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG"]
LogLevel *string `json:"log_level,omitempty"`
- // Skip connection check.
- SkipConnectionCheck *bool `json:"skip_connection_check,omitempty"`
-
// custom labels
- CustomLabels *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentCustomLabels `json:"custom_labels,omitempty"`
+ CustomLabels *ChangeAgentParamsBodyRDSExporterCustomLabels `json:"custom_labels,omitempty"`
// metrics resolutions
- MetricsResolutions *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentMetricsResolutions `json:"metrics_resolutions,omitempty"`
+ MetricsResolutions *ChangeAgentParamsBodyRDSExporterMetricsResolutions `json:"metrics_resolutions,omitempty"`
}
-// Validate validates this change agent params body QAN postgresql pgstatmonitor agent
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body RDS exporter
+func (o *ChangeAgentParamsBodyRDSExporter) Validate(formats strfmt.Registry) error {
var res []error
if err := o.validateLogLevel(formats); err != nil {
@@ -11164,7 +11905,7 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) Validate(formats
return nil
}
-var changeAgentParamsBodyQanPostgresqlPgstatmonitorAgentTypeLogLevelPropEnum []any
+var changeAgentParamsBodyRdsExporterTypeLogLevelPropEnum []any
func init() {
var res []string
@@ -11172,53 +11913,53 @@ func init() {
panic(err)
}
for _, v := range res {
- changeAgentParamsBodyQanPostgresqlPgstatmonitorAgentTypeLogLevelPropEnum = append(changeAgentParamsBodyQanPostgresqlPgstatmonitorAgentTypeLogLevelPropEnum, v)
+ changeAgentParamsBodyRdsExporterTypeLogLevelPropEnum = append(changeAgentParamsBodyRdsExporterTypeLogLevelPropEnum, v)
}
}
const (
- // ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
- ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
+ // ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
+ ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
- // ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
- ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
+ // ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
+ ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
- // ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
- ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
+ // ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
+ ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
- // ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
- ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
+ // ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
+ ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
- // ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
- ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
+ // ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
+ ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
- // ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
- ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
+ // ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
+ ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
)
// prop value enum
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) validateLogLevelEnum(path, location string, value string) error {
- if err := validate.EnumCase(path, location, value, changeAgentParamsBodyQanPostgresqlPgstatmonitorAgentTypeLogLevelPropEnum, true); err != nil {
+func (o *ChangeAgentParamsBodyRDSExporter) validateLogLevelEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, changeAgentParamsBodyRdsExporterTypeLogLevelPropEnum, true); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) validateLogLevel(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyRDSExporter) validateLogLevel(formats strfmt.Registry) error {
if swag.IsZero(o.LogLevel) { // not required
return nil
}
// value enum
- if err := o.validateLogLevelEnum("body"+"."+"qan_postgresql_pgstatmonitor_agent"+"."+"log_level", "body", *o.LogLevel); err != nil {
+ if err := o.validateLogLevelEnum("body"+"."+"rds_exporter"+"."+"log_level", "body", *o.LogLevel); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) validateCustomLabels(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyRDSExporter) validateCustomLabels(formats strfmt.Registry) error {
if swag.IsZero(o.CustomLabels) { // not required
return nil
}
@@ -11227,11 +11968,11 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) validateCustomLab
if err := o.CustomLabels.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_postgresql_pgstatmonitor_agent" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "rds_exporter" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_postgresql_pgstatmonitor_agent" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "rds_exporter" + "." + "custom_labels")
}
return err
@@ -11241,7 +11982,7 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) validateCustomLab
return nil
}
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) validateMetricsResolutions(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyRDSExporter) validateMetricsResolutions(formats strfmt.Registry) error {
if swag.IsZero(o.MetricsResolutions) { // not required
return nil
}
@@ -11250,11 +11991,11 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) validateMetricsRe
if err := o.MetricsResolutions.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_postgresql_pgstatmonitor_agent" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "rds_exporter" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_postgresql_pgstatmonitor_agent" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "rds_exporter" + "." + "metrics_resolutions")
}
return err
@@ -11264,8 +12005,8 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) validateMetricsRe
return nil
}
-// ContextValidate validate this change agent params body QAN postgresql pgstatmonitor agent based on the context it is used
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validate this change agent params body RDS exporter based on the context it is used
+func (o *ChangeAgentParamsBodyRDSExporter) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := o.contextValidateCustomLabels(ctx, formats); err != nil {
@@ -11282,7 +12023,7 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) ContextValidate(c
return nil
}
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyRDSExporter) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
if o.CustomLabels != nil {
if swag.IsZero(o.CustomLabels) { // not required
@@ -11292,11 +12033,11 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) contextValidateCu
if err := o.CustomLabels.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_postgresql_pgstatmonitor_agent" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "rds_exporter" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_postgresql_pgstatmonitor_agent" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "rds_exporter" + "." + "custom_labels")
}
return err
@@ -11306,7 +12047,7 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) contextValidateCu
return nil
}
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyRDSExporter) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
if o.MetricsResolutions != nil {
if swag.IsZero(o.MetricsResolutions) { // not required
@@ -11316,11 +12057,11 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) contextValidateMe
if err := o.MetricsResolutions.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "qan_postgresql_pgstatmonitor_agent" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "rds_exporter" + "." + "metrics_resolutions")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "qan_postgresql_pgstatmonitor_agent" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "rds_exporter" + "." + "metrics_resolutions")
}
return err
@@ -11331,7 +12072,7 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) contextValidateMe
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyRDSExporter) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -11339,8 +12080,8 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) MarshalBinary() (
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent
+func (o *ChangeAgentParamsBodyRDSExporter) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyRDSExporter
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -11349,26 +12090,26 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) UnmarshalBinary(b
}
/*
-ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
-swagger:model ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentCustomLabels
+ChangeAgentParamsBodyRDSExporterCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
+swagger:model ChangeAgentParamsBodyRDSExporterCustomLabels
*/
-type ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentCustomLabels struct {
+type ChangeAgentParamsBodyRDSExporterCustomLabels struct {
// values
Values map[string]string `json:"values,omitempty"`
}
-// Validate validates this change agent params body QAN postgresql pgstatmonitor agent custom labels
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentCustomLabels) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body RDS exporter custom labels
+func (o *ChangeAgentParamsBodyRDSExporterCustomLabels) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body QAN postgresql pgstatmonitor agent custom labels based on context it is used
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body RDS exporter custom labels based on context it is used
+func (o *ChangeAgentParamsBodyRDSExporterCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentCustomLabels) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyRDSExporterCustomLabels) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -11376,8 +12117,8 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentCustomLabels) Marsh
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentCustomLabels) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentCustomLabels
+func (o *ChangeAgentParamsBodyRDSExporterCustomLabels) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyRDSExporterCustomLabels
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -11386,10 +12127,10 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentCustomLabels) Unmar
}
/*
-ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
-swagger:model ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentMetricsResolutions
+ChangeAgentParamsBodyRDSExporterMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
+swagger:model ChangeAgentParamsBodyRDSExporterMetricsResolutions
*/
-type ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentMetricsResolutions struct {
+type ChangeAgentParamsBodyRDSExporterMetricsResolutions struct {
// High resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
Hr string `json:"hr,omitempty"`
@@ -11400,18 +12141,18 @@ type ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentMetricsResolutions stru
Lr string `json:"lr,omitempty"`
}
-// Validate validates this change agent params body QAN postgresql pgstatmonitor agent metrics resolutions
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentMetricsResolutions) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body RDS exporter metrics resolutions
+func (o *ChangeAgentParamsBodyRDSExporterMetricsResolutions) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body QAN postgresql pgstatmonitor agent metrics resolutions based on context it is used
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body RDS exporter metrics resolutions based on context it is used
+func (o *ChangeAgentParamsBodyRDSExporterMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentMetricsResolutions) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyRDSExporterMetricsResolutions) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -11419,8 +12160,8 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentMetricsResolutions)
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentMetricsResolutions) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentMetricsResolutions
+func (o *ChangeAgentParamsBodyRDSExporterMetricsResolutions) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyRDSExporterMetricsResolutions
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -11428,28 +12169,13 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgentMetricsResolutions)
return nil
}
-/*
-ChangeAgentParamsBodyRDSExporter change agent params body RDS exporter
-swagger:model ChangeAgentParamsBodyRDSExporter
-*/
-type ChangeAgentParamsBodyRDSExporter struct {
- // Enable this Agent. Agents are enabled by default when they get added.
- Enable *bool `json:"enable,omitempty"`
-
- // Enables push metrics with vmagent.
- EnablePushMetrics *bool `json:"enable_push_metrics,omitempty"`
-
- // AWS Access Key.
- AWSAccessKey *string `json:"aws_access_key,omitempty"`
-
- // AWS Secret Key.
- AWSSecretKey *string `json:"aws_secret_key,omitempty"`
-
- // Disable basic metrics.
- DisableBasicMetrics *bool `json:"disable_basic_metrics,omitempty"`
-
- // Disable enhanced metrics.
- DisableEnhancedMetrics *bool `json:"disable_enhanced_metrics,omitempty"`
+/*
+ChangeAgentParamsBodyRtaMongodbAgent change agent params body rta mongodb agent
+swagger:model ChangeAgentParamsBodyRtaMongodbAgent
+*/
+type ChangeAgentParamsBodyRtaMongodbAgent struct {
+ // Enable this Agent. Agents are enabled by default when they get added.
+ Enable *bool `json:"enable,omitempty"`
// Log level for exporters
//
@@ -11457,15 +12183,42 @@ type ChangeAgentParamsBodyRDSExporter struct {
// Enum: ["LOG_LEVEL_UNSPECIFIED","LOG_LEVEL_FATAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARN","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG"]
LogLevel *string `json:"log_level,omitempty"`
+ // MongoDB username for getting profile data.
+ Username *string `json:"username,omitempty"`
+
+ // MongoDB password for getting profile data.
+ Password *string `json:"password,omitempty"`
+
+ // Use TLS for database connections.
+ TLS *bool `json:"tls,omitempty"`
+
+ // Skip TLS certificate and hostname validation.
+ TLSSkipVerify *bool `json:"tls_skip_verify,omitempty"`
+
+ // Client certificate and key.
+ TLSCertificateKey *string `json:"tls_certificate_key,omitempty"`
+
+ // Password for decrypting tls_certificate_key.
+ TLSCertificateKeyFilePassword *string `json:"tls_certificate_key_file_password,omitempty"`
+
+ // Certificate Authority certificate chain.
+ TLSCa *string `json:"tls_ca,omitempty"`
+
+ // Authentication mechanism.
+ AuthenticationMechanism *string `json:"authentication_mechanism,omitempty"`
+
+ // Skip connection check.
+ SkipConnectionCheck *bool `json:"skip_connection_check,omitempty"`
+
// custom labels
- CustomLabels *ChangeAgentParamsBodyRDSExporterCustomLabels `json:"custom_labels,omitempty"`
+ CustomLabels *ChangeAgentParamsBodyRtaMongodbAgentCustomLabels `json:"custom_labels,omitempty"`
- // metrics resolutions
- MetricsResolutions *ChangeAgentParamsBodyRDSExporterMetricsResolutions `json:"metrics_resolutions,omitempty"`
+ // rta options
+ RtaOptions *ChangeAgentParamsBodyRtaMongodbAgentRtaOptions `json:"rta_options,omitempty"`
}
-// Validate validates this change agent params body RDS exporter
-func (o *ChangeAgentParamsBodyRDSExporter) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body rta mongodb agent
+func (o *ChangeAgentParamsBodyRtaMongodbAgent) Validate(formats strfmt.Registry) error {
var res []error
if err := o.validateLogLevel(formats); err != nil {
@@ -11476,7 +12229,7 @@ func (o *ChangeAgentParamsBodyRDSExporter) Validate(formats strfmt.Registry) err
res = append(res, err)
}
- if err := o.validateMetricsResolutions(formats); err != nil {
+ if err := o.validateRtaOptions(formats); err != nil {
res = append(res, err)
}
@@ -11486,7 +12239,7 @@ func (o *ChangeAgentParamsBodyRDSExporter) Validate(formats strfmt.Registry) err
return nil
}
-var changeAgentParamsBodyRdsExporterTypeLogLevelPropEnum []any
+var changeAgentParamsBodyRtaMongodbAgentTypeLogLevelPropEnum []any
func init() {
var res []string
@@ -11494,53 +12247,53 @@ func init() {
panic(err)
}
for _, v := range res {
- changeAgentParamsBodyRdsExporterTypeLogLevelPropEnum = append(changeAgentParamsBodyRdsExporterTypeLogLevelPropEnum, v)
+ changeAgentParamsBodyRtaMongodbAgentTypeLogLevelPropEnum = append(changeAgentParamsBodyRtaMongodbAgentTypeLogLevelPropEnum, v)
}
}
const (
- // ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
- ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
+ // ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
+ ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
- // ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
- ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
+ // ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
+ ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
- // ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
- ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
+ // ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
+ ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
- // ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
- ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
+ // ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
+ ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
- // ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
- ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
+ // ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
+ ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
- // ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
- ChangeAgentParamsBodyRDSExporterLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
+ // ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
+ ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
)
// prop value enum
-func (o *ChangeAgentParamsBodyRDSExporter) validateLogLevelEnum(path, location string, value string) error {
- if err := validate.EnumCase(path, location, value, changeAgentParamsBodyRdsExporterTypeLogLevelPropEnum, true); err != nil {
+func (o *ChangeAgentParamsBodyRtaMongodbAgent) validateLogLevelEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, changeAgentParamsBodyRtaMongodbAgentTypeLogLevelPropEnum, true); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyRDSExporter) validateLogLevel(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyRtaMongodbAgent) validateLogLevel(formats strfmt.Registry) error {
if swag.IsZero(o.LogLevel) { // not required
return nil
}
// value enum
- if err := o.validateLogLevelEnum("body"+"."+"rds_exporter"+"."+"log_level", "body", *o.LogLevel); err != nil {
+ if err := o.validateLogLevelEnum("body"+"."+"rta_mongodb_agent"+"."+"log_level", "body", *o.LogLevel); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyRDSExporter) validateCustomLabels(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyRtaMongodbAgent) validateCustomLabels(formats strfmt.Registry) error {
if swag.IsZero(o.CustomLabels) { // not required
return nil
}
@@ -11549,11 +12302,11 @@ func (o *ChangeAgentParamsBodyRDSExporter) validateCustomLabels(formats strfmt.R
if err := o.CustomLabels.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "rds_exporter" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "rta_mongodb_agent" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "rds_exporter" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "rta_mongodb_agent" + "." + "custom_labels")
}
return err
@@ -11563,20 +12316,20 @@ func (o *ChangeAgentParamsBodyRDSExporter) validateCustomLabels(formats strfmt.R
return nil
}
-func (o *ChangeAgentParamsBodyRDSExporter) validateMetricsResolutions(formats strfmt.Registry) error {
- if swag.IsZero(o.MetricsResolutions) { // not required
+func (o *ChangeAgentParamsBodyRtaMongodbAgent) validateRtaOptions(formats strfmt.Registry) error {
+ if swag.IsZero(o.RtaOptions) { // not required
return nil
}
- if o.MetricsResolutions != nil {
- if err := o.MetricsResolutions.Validate(formats); err != nil {
+ if o.RtaOptions != nil {
+ if err := o.RtaOptions.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "rds_exporter" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "rta_mongodb_agent" + "." + "rta_options")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "rds_exporter" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "rta_mongodb_agent" + "." + "rta_options")
}
return err
@@ -11586,15 +12339,15 @@ func (o *ChangeAgentParamsBodyRDSExporter) validateMetricsResolutions(formats st
return nil
}
-// ContextValidate validate this change agent params body RDS exporter based on the context it is used
-func (o *ChangeAgentParamsBodyRDSExporter) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validate this change agent params body rta mongodb agent based on the context it is used
+func (o *ChangeAgentParamsBodyRtaMongodbAgent) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := o.contextValidateCustomLabels(ctx, formats); err != nil {
res = append(res, err)
}
- if err := o.contextValidateMetricsResolutions(ctx, formats); err != nil {
+ if err := o.contextValidateRtaOptions(ctx, formats); err != nil {
res = append(res, err)
}
@@ -11604,7 +12357,7 @@ func (o *ChangeAgentParamsBodyRDSExporter) ContextValidate(ctx context.Context,
return nil
}
-func (o *ChangeAgentParamsBodyRDSExporter) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyRtaMongodbAgent) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
if o.CustomLabels != nil {
if swag.IsZero(o.CustomLabels) { // not required
@@ -11614,11 +12367,11 @@ func (o *ChangeAgentParamsBodyRDSExporter) contextValidateCustomLabels(ctx conte
if err := o.CustomLabels.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "rds_exporter" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "rta_mongodb_agent" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "rds_exporter" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "rta_mongodb_agent" + "." + "custom_labels")
}
return err
@@ -11628,21 +12381,21 @@ func (o *ChangeAgentParamsBodyRDSExporter) contextValidateCustomLabels(ctx conte
return nil
}
-func (o *ChangeAgentParamsBodyRDSExporter) contextValidateMetricsResolutions(ctx context.Context, formats strfmt.Registry) error {
- if o.MetricsResolutions != nil {
+func (o *ChangeAgentParamsBodyRtaMongodbAgent) contextValidateRtaOptions(ctx context.Context, formats strfmt.Registry) error {
+ if o.RtaOptions != nil {
- if swag.IsZero(o.MetricsResolutions) { // not required
+ if swag.IsZero(o.RtaOptions) { // not required
return nil
}
- if err := o.MetricsResolutions.ContextValidate(ctx, formats); err != nil {
+ if err := o.RtaOptions.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "rds_exporter" + "." + "metrics_resolutions")
+ return ve.ValidateName("body" + "." + "rta_mongodb_agent" + "." + "rta_options")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "rds_exporter" + "." + "metrics_resolutions")
+ return ce.ValidateName("body" + "." + "rta_mongodb_agent" + "." + "rta_options")
}
return err
@@ -11653,7 +12406,7 @@ func (o *ChangeAgentParamsBodyRDSExporter) contextValidateMetricsResolutions(ctx
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyRDSExporter) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyRtaMongodbAgent) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -11661,8 +12414,8 @@ func (o *ChangeAgentParamsBodyRDSExporter) MarshalBinary() ([]byte, error) {
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyRDSExporter) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyRDSExporter
+func (o *ChangeAgentParamsBodyRtaMongodbAgent) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyRtaMongodbAgent
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -11671,26 +12424,26 @@ func (o *ChangeAgentParamsBodyRDSExporter) UnmarshalBinary(b []byte) error {
}
/*
-ChangeAgentParamsBodyRDSExporterCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
-swagger:model ChangeAgentParamsBodyRDSExporterCustomLabels
+ChangeAgentParamsBodyRtaMongodbAgentCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
+swagger:model ChangeAgentParamsBodyRtaMongodbAgentCustomLabels
*/
-type ChangeAgentParamsBodyRDSExporterCustomLabels struct {
+type ChangeAgentParamsBodyRtaMongodbAgentCustomLabels struct {
// values
Values map[string]string `json:"values,omitempty"`
}
-// Validate validates this change agent params body RDS exporter custom labels
-func (o *ChangeAgentParamsBodyRDSExporterCustomLabels) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body rta mongodb agent custom labels
+func (o *ChangeAgentParamsBodyRtaMongodbAgentCustomLabels) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body RDS exporter custom labels based on context it is used
-func (o *ChangeAgentParamsBodyRDSExporterCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body rta mongodb agent custom labels based on context it is used
+func (o *ChangeAgentParamsBodyRtaMongodbAgentCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyRDSExporterCustomLabels) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyRtaMongodbAgentCustomLabels) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -11698,8 +12451,8 @@ func (o *ChangeAgentParamsBodyRDSExporterCustomLabels) MarshalBinary() ([]byte,
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyRDSExporterCustomLabels) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyRDSExporterCustomLabels
+func (o *ChangeAgentParamsBodyRtaMongodbAgentCustomLabels) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyRtaMongodbAgentCustomLabels
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -11708,32 +12461,26 @@ func (o *ChangeAgentParamsBodyRDSExporterCustomLabels) UnmarshalBinary(b []byte)
}
/*
-ChangeAgentParamsBodyRDSExporterMetricsResolutions MetricsResolutions represents Prometheus exporters metrics resolutions.
-swagger:model ChangeAgentParamsBodyRDSExporterMetricsResolutions
+ChangeAgentParamsBodyRtaMongodbAgentRtaOptions RTAOptions holds Real-Time Query Analytics agent options.
+swagger:model ChangeAgentParamsBodyRtaMongodbAgentRtaOptions
*/
-type ChangeAgentParamsBodyRDSExporterMetricsResolutions struct {
- // High resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
- Hr string `json:"hr,omitempty"`
-
- // Medium resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
- Mr string `json:"mr,omitempty"`
-
- // Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.
- Lr string `json:"lr,omitempty"`
+type ChangeAgentParamsBodyRtaMongodbAgentRtaOptions struct {
+ // Query collect interval (default 2s is set by server).
+ CollectInterval string `json:"collect_interval,omitempty"`
}
-// Validate validates this change agent params body RDS exporter metrics resolutions
-func (o *ChangeAgentParamsBodyRDSExporterMetricsResolutions) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body rta mongodb agent rta options
+func (o *ChangeAgentParamsBodyRtaMongodbAgentRtaOptions) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body RDS exporter metrics resolutions based on context it is used
-func (o *ChangeAgentParamsBodyRDSExporterMetricsResolutions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body rta mongodb agent rta options based on context it is used
+func (o *ChangeAgentParamsBodyRtaMongodbAgentRtaOptions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyRDSExporterMetricsResolutions) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyRtaMongodbAgentRtaOptions) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -11741,8 +12488,8 @@ func (o *ChangeAgentParamsBodyRDSExporterMetricsResolutions) MarshalBinary() ([]
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyRDSExporterMetricsResolutions) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyRDSExporterMetricsResolutions
+func (o *ChangeAgentParamsBodyRtaMongodbAgentRtaOptions) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyRtaMongodbAgentRtaOptions
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -11751,10 +12498,10 @@ func (o *ChangeAgentParamsBodyRDSExporterMetricsResolutions) UnmarshalBinary(b [
}
/*
-ChangeAgentParamsBodyRtaMongodbAgent change agent params body rta mongodb agent
-swagger:model ChangeAgentParamsBodyRtaMongodbAgent
+ChangeAgentParamsBodyRtaMysqlAgent change agent params body rta mysql agent
+swagger:model ChangeAgentParamsBodyRtaMysqlAgent
*/
-type ChangeAgentParamsBodyRtaMongodbAgent struct {
+type ChangeAgentParamsBodyRtaMysqlAgent struct {
// Enable this Agent. Agents are enabled by default when they get added.
Enable *bool `json:"enable,omitempty"`
@@ -11764,10 +12511,10 @@ type ChangeAgentParamsBodyRtaMongodbAgent struct {
// Enum: ["LOG_LEVEL_UNSPECIFIED","LOG_LEVEL_FATAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARN","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG"]
LogLevel *string `json:"log_level,omitempty"`
- // MongoDB username for getting profile data.
+ // MySQL username for getting queries data.
Username *string `json:"username,omitempty"`
- // MongoDB password for getting profile data.
+ // MySQL password for getting queries data.
Password *string `json:"password,omitempty"`
// Use TLS for database connections.
@@ -11776,30 +12523,27 @@ type ChangeAgentParamsBodyRtaMongodbAgent struct {
// Skip TLS certificate and hostname validation.
TLSSkipVerify *bool `json:"tls_skip_verify,omitempty"`
- // Client certificate and key.
- TLSCertificateKey *string `json:"tls_certificate_key,omitempty"`
-
- // Password for decrypting tls_certificate_key.
- TLSCertificateKeyFilePassword *string `json:"tls_certificate_key_file_password,omitempty"`
-
// Certificate Authority certificate chain.
TLSCa *string `json:"tls_ca,omitempty"`
- // Authentication mechanism.
- AuthenticationMechanism *string `json:"authentication_mechanism,omitempty"`
+ // Client certificate.
+ TLSCert *string `json:"tls_cert,omitempty"`
+
+ // Client key.
+ TLSKey *string `json:"tls_key,omitempty"`
// Skip connection check.
SkipConnectionCheck *bool `json:"skip_connection_check,omitempty"`
// custom labels
- CustomLabels *ChangeAgentParamsBodyRtaMongodbAgentCustomLabels `json:"custom_labels,omitempty"`
+ CustomLabels *ChangeAgentParamsBodyRtaMysqlAgentCustomLabels `json:"custom_labels,omitempty"`
// rta options
- RtaOptions *ChangeAgentParamsBodyRtaMongodbAgentRtaOptions `json:"rta_options,omitempty"`
+ RtaOptions *ChangeAgentParamsBodyRtaMysqlAgentRtaOptions `json:"rta_options,omitempty"`
}
-// Validate validates this change agent params body rta mongodb agent
-func (o *ChangeAgentParamsBodyRtaMongodbAgent) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body rta mysql agent
+func (o *ChangeAgentParamsBodyRtaMysqlAgent) Validate(formats strfmt.Registry) error {
var res []error
if err := o.validateLogLevel(formats); err != nil {
@@ -11820,7 +12564,7 @@ func (o *ChangeAgentParamsBodyRtaMongodbAgent) Validate(formats strfmt.Registry)
return nil
}
-var changeAgentParamsBodyRtaMongodbAgentTypeLogLevelPropEnum []any
+var changeAgentParamsBodyRtaMysqlAgentTypeLogLevelPropEnum []any
func init() {
var res []string
@@ -11828,53 +12572,53 @@ func init() {
panic(err)
}
for _, v := range res {
- changeAgentParamsBodyRtaMongodbAgentTypeLogLevelPropEnum = append(changeAgentParamsBodyRtaMongodbAgentTypeLogLevelPropEnum, v)
+ changeAgentParamsBodyRtaMysqlAgentTypeLogLevelPropEnum = append(changeAgentParamsBodyRtaMysqlAgentTypeLogLevelPropEnum, v)
}
}
const (
- // ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
- ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
+ // ChangeAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
+ ChangeAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
- // ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
- ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
+ // ChangeAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
+ ChangeAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
- // ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
- ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
+ // ChangeAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
+ ChangeAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
- // ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
- ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
+ // ChangeAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
+ ChangeAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
- // ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
- ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
+ // ChangeAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
+ ChangeAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
- // ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
- ChangeAgentParamsBodyRtaMongodbAgentLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
+ // ChangeAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
+ ChangeAgentParamsBodyRtaMysqlAgentLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
)
// prop value enum
-func (o *ChangeAgentParamsBodyRtaMongodbAgent) validateLogLevelEnum(path, location string, value string) error {
- if err := validate.EnumCase(path, location, value, changeAgentParamsBodyRtaMongodbAgentTypeLogLevelPropEnum, true); err != nil {
+func (o *ChangeAgentParamsBodyRtaMysqlAgent) validateLogLevelEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, changeAgentParamsBodyRtaMysqlAgentTypeLogLevelPropEnum, true); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyRtaMongodbAgent) validateLogLevel(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyRtaMysqlAgent) validateLogLevel(formats strfmt.Registry) error {
if swag.IsZero(o.LogLevel) { // not required
return nil
}
// value enum
- if err := o.validateLogLevelEnum("body"+"."+"rta_mongodb_agent"+"."+"log_level", "body", *o.LogLevel); err != nil {
+ if err := o.validateLogLevelEnum("body"+"."+"rta_mysql_agent"+"."+"log_level", "body", *o.LogLevel); err != nil {
return err
}
return nil
}
-func (o *ChangeAgentParamsBodyRtaMongodbAgent) validateCustomLabels(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyRtaMysqlAgent) validateCustomLabels(formats strfmt.Registry) error {
if swag.IsZero(o.CustomLabels) { // not required
return nil
}
@@ -11883,11 +12627,11 @@ func (o *ChangeAgentParamsBodyRtaMongodbAgent) validateCustomLabels(formats strf
if err := o.CustomLabels.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "rta_mongodb_agent" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "rta_mysql_agent" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "rta_mongodb_agent" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "rta_mysql_agent" + "." + "custom_labels")
}
return err
@@ -11897,7 +12641,7 @@ func (o *ChangeAgentParamsBodyRtaMongodbAgent) validateCustomLabels(formats strf
return nil
}
-func (o *ChangeAgentParamsBodyRtaMongodbAgent) validateRtaOptions(formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyRtaMysqlAgent) validateRtaOptions(formats strfmt.Registry) error {
if swag.IsZero(o.RtaOptions) { // not required
return nil
}
@@ -11906,11 +12650,11 @@ func (o *ChangeAgentParamsBodyRtaMongodbAgent) validateRtaOptions(formats strfmt
if err := o.RtaOptions.Validate(formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "rta_mongodb_agent" + "." + "rta_options")
+ return ve.ValidateName("body" + "." + "rta_mysql_agent" + "." + "rta_options")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "rta_mongodb_agent" + "." + "rta_options")
+ return ce.ValidateName("body" + "." + "rta_mysql_agent" + "." + "rta_options")
}
return err
@@ -11920,8 +12664,8 @@ func (o *ChangeAgentParamsBodyRtaMongodbAgent) validateRtaOptions(formats strfmt
return nil
}
-// ContextValidate validate this change agent params body rta mongodb agent based on the context it is used
-func (o *ChangeAgentParamsBodyRtaMongodbAgent) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validate this change agent params body rta mysql agent based on the context it is used
+func (o *ChangeAgentParamsBodyRtaMysqlAgent) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := o.contextValidateCustomLabels(ctx, formats); err != nil {
@@ -11938,7 +12682,7 @@ func (o *ChangeAgentParamsBodyRtaMongodbAgent) ContextValidate(ctx context.Conte
return nil
}
-func (o *ChangeAgentParamsBodyRtaMongodbAgent) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyRtaMysqlAgent) contextValidateCustomLabels(ctx context.Context, formats strfmt.Registry) error {
if o.CustomLabels != nil {
if swag.IsZero(o.CustomLabels) { // not required
@@ -11948,11 +12692,11 @@ func (o *ChangeAgentParamsBodyRtaMongodbAgent) contextValidateCustomLabels(ctx c
if err := o.CustomLabels.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "rta_mongodb_agent" + "." + "custom_labels")
+ return ve.ValidateName("body" + "." + "rta_mysql_agent" + "." + "custom_labels")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "rta_mongodb_agent" + "." + "custom_labels")
+ return ce.ValidateName("body" + "." + "rta_mysql_agent" + "." + "custom_labels")
}
return err
@@ -11962,7 +12706,7 @@ func (o *ChangeAgentParamsBodyRtaMongodbAgent) contextValidateCustomLabels(ctx c
return nil
}
-func (o *ChangeAgentParamsBodyRtaMongodbAgent) contextValidateRtaOptions(ctx context.Context, formats strfmt.Registry) error {
+func (o *ChangeAgentParamsBodyRtaMysqlAgent) contextValidateRtaOptions(ctx context.Context, formats strfmt.Registry) error {
if o.RtaOptions != nil {
if swag.IsZero(o.RtaOptions) { // not required
@@ -11972,11 +12716,11 @@ func (o *ChangeAgentParamsBodyRtaMongodbAgent) contextValidateRtaOptions(ctx con
if err := o.RtaOptions.ContextValidate(ctx, formats); err != nil {
ve := new(errors.Validation)
if stderrors.As(err, &ve) {
- return ve.ValidateName("body" + "." + "rta_mongodb_agent" + "." + "rta_options")
+ return ve.ValidateName("body" + "." + "rta_mysql_agent" + "." + "rta_options")
}
ce := new(errors.CompositeError)
if stderrors.As(err, &ce) {
- return ce.ValidateName("body" + "." + "rta_mongodb_agent" + "." + "rta_options")
+ return ce.ValidateName("body" + "." + "rta_mysql_agent" + "." + "rta_options")
}
return err
@@ -11987,7 +12731,7 @@ func (o *ChangeAgentParamsBodyRtaMongodbAgent) contextValidateRtaOptions(ctx con
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyRtaMongodbAgent) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyRtaMysqlAgent) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -11995,8 +12739,8 @@ func (o *ChangeAgentParamsBodyRtaMongodbAgent) MarshalBinary() ([]byte, error) {
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyRtaMongodbAgent) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyRtaMongodbAgent
+func (o *ChangeAgentParamsBodyRtaMysqlAgent) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyRtaMysqlAgent
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -12005,26 +12749,26 @@ func (o *ChangeAgentParamsBodyRtaMongodbAgent) UnmarshalBinary(b []byte) error {
}
/*
-ChangeAgentParamsBodyRtaMongodbAgentCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
-swagger:model ChangeAgentParamsBodyRtaMongodbAgentCustomLabels
+ChangeAgentParamsBodyRtaMysqlAgentCustomLabels A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.
+swagger:model ChangeAgentParamsBodyRtaMysqlAgentCustomLabels
*/
-type ChangeAgentParamsBodyRtaMongodbAgentCustomLabels struct {
+type ChangeAgentParamsBodyRtaMysqlAgentCustomLabels struct {
// values
Values map[string]string `json:"values,omitempty"`
}
-// Validate validates this change agent params body rta mongodb agent custom labels
-func (o *ChangeAgentParamsBodyRtaMongodbAgentCustomLabels) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body rta mysql agent custom labels
+func (o *ChangeAgentParamsBodyRtaMysqlAgentCustomLabels) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body rta mongodb agent custom labels based on context it is used
-func (o *ChangeAgentParamsBodyRtaMongodbAgentCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body rta mysql agent custom labels based on context it is used
+func (o *ChangeAgentParamsBodyRtaMysqlAgentCustomLabels) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyRtaMongodbAgentCustomLabels) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyRtaMysqlAgentCustomLabels) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -12032,8 +12776,8 @@ func (o *ChangeAgentParamsBodyRtaMongodbAgentCustomLabels) MarshalBinary() ([]by
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyRtaMongodbAgentCustomLabels) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyRtaMongodbAgentCustomLabels
+func (o *ChangeAgentParamsBodyRtaMysqlAgentCustomLabels) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyRtaMysqlAgentCustomLabels
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
@@ -12042,26 +12786,26 @@ func (o *ChangeAgentParamsBodyRtaMongodbAgentCustomLabels) UnmarshalBinary(b []b
}
/*
-ChangeAgentParamsBodyRtaMongodbAgentRtaOptions RTAOptions holds Real-Time Query Analytics agent options.
-swagger:model ChangeAgentParamsBodyRtaMongodbAgentRtaOptions
+ChangeAgentParamsBodyRtaMysqlAgentRtaOptions RTAOptions holds Real-Time Query Analytics agent options.
+swagger:model ChangeAgentParamsBodyRtaMysqlAgentRtaOptions
*/
-type ChangeAgentParamsBodyRtaMongodbAgentRtaOptions struct {
+type ChangeAgentParamsBodyRtaMysqlAgentRtaOptions struct {
// Query collect interval (default 2s is set by server).
CollectInterval string `json:"collect_interval,omitempty"`
}
-// Validate validates this change agent params body rta mongodb agent rta options
-func (o *ChangeAgentParamsBodyRtaMongodbAgentRtaOptions) Validate(formats strfmt.Registry) error {
+// Validate validates this change agent params body rta mysql agent rta options
+func (o *ChangeAgentParamsBodyRtaMysqlAgentRtaOptions) Validate(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validates this change agent params body rta mongodb agent rta options based on context it is used
-func (o *ChangeAgentParamsBodyRtaMongodbAgentRtaOptions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validates this change agent params body rta mysql agent rta options based on context it is used
+func (o *ChangeAgentParamsBodyRtaMysqlAgentRtaOptions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyRtaMongodbAgentRtaOptions) MarshalBinary() ([]byte, error) {
+func (o *ChangeAgentParamsBodyRtaMysqlAgentRtaOptions) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -12069,8 +12813,8 @@ func (o *ChangeAgentParamsBodyRtaMongodbAgentRtaOptions) MarshalBinary() ([]byte
}
// UnmarshalBinary interface implementation
-func (o *ChangeAgentParamsBodyRtaMongodbAgentRtaOptions) UnmarshalBinary(b []byte) error {
- var res ChangeAgentParamsBodyRtaMongodbAgentRtaOptions
+func (o *ChangeAgentParamsBodyRtaMysqlAgentRtaOptions) UnmarshalBinary(b []byte) error {
+ var res ChangeAgentParamsBodyRtaMysqlAgentRtaOptions
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
diff --git a/api/inventory/v1/json/client/agents_service/get_agent_responses.go b/api/inventory/v1/json/client/agents_service/get_agent_responses.go
index 69e1aa19c50..db3318be396 100644
--- a/api/inventory/v1/json/client/agents_service/get_agent_responses.go
+++ b/api/inventory/v1/json/client/agents_service/get_agent_responses.go
@@ -469,6 +469,9 @@ type GetAgentOKBody struct {
// rta mongodb agent
RtaMongodbAgent *GetAgentOKBodyRtaMongodbAgent `json:"rta_mongodb_agent,omitempty"`
+ // rta mysql agent
+ RtaMysqlAgent *GetAgentOKBodyRtaMysqlAgent `json:"rta_mysql_agent,omitempty"`
+
// valkey exporter
ValkeyExporter *GetAgentOKBodyValkeyExporter `json:"valkey_exporter,omitempty"`
@@ -548,6 +551,10 @@ func (o *GetAgentOKBody) Validate(formats strfmt.Registry) error {
res = append(res, err)
}
+ if err := o.validateRtaMysqlAgent(formats); err != nil {
+ res = append(res, err)
+ }
+
if err := o.validateValkeyExporter(formats); err != nil {
res = append(res, err)
}
@@ -953,6 +960,29 @@ func (o *GetAgentOKBody) validateRtaMongodbAgent(formats strfmt.Registry) error
return nil
}
+func (o *GetAgentOKBody) validateRtaMysqlAgent(formats strfmt.Registry) error {
+ if swag.IsZero(o.RtaMysqlAgent) { // not required
+ return nil
+ }
+
+ if o.RtaMysqlAgent != nil {
+ if err := o.RtaMysqlAgent.Validate(formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("getAgentOk" + "." + "rta_mysql_agent")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("getAgentOk" + "." + "rta_mysql_agent")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
func (o *GetAgentOKBody) validateValkeyExporter(formats strfmt.Registry) error {
if swag.IsZero(o.ValkeyExporter) { // not required
return nil
@@ -1071,6 +1101,10 @@ func (o *GetAgentOKBody) ContextValidate(ctx context.Context, formats strfmt.Reg
res = append(res, err)
}
+ if err := o.contextValidateRtaMysqlAgent(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
if err := o.contextValidateValkeyExporter(ctx, formats); err != nil {
res = append(res, err)
}
@@ -1493,6 +1527,30 @@ func (o *GetAgentOKBody) contextValidateRtaMongodbAgent(ctx context.Context, for
return nil
}
+func (o *GetAgentOKBody) contextValidateRtaMysqlAgent(ctx context.Context, formats strfmt.Registry) error {
+ if o.RtaMysqlAgent != nil {
+
+ if swag.IsZero(o.RtaMysqlAgent) { // not required
+ return nil
+ }
+
+ if err := o.RtaMysqlAgent.ContextValidate(ctx, formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("getAgentOk" + "." + "rta_mysql_agent")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("getAgentOk" + "." + "rta_mysql_agent")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
func (o *GetAgentOKBody) contextValidateValkeyExporter(ctx context.Context, formats strfmt.Registry) error {
if o.ValkeyExporter != nil {
@@ -5901,6 +5959,309 @@ func (o *GetAgentOKBodyRtaMongodbAgentRtaOptions) UnmarshalBinary(b []byte) erro
return nil
}
+/*
+GetAgentOKBodyRtaMysqlAgent RTAMySQLAgent runs within pmm-agent and sends MySQL Real-Time Query Analytics data to the PMM Server.
+swagger:model GetAgentOKBodyRtaMysqlAgent
+*/
+type GetAgentOKBodyRtaMysqlAgent struct {
+ // Unique agent identifier.
+ AgentID string `json:"agent_id,omitempty"`
+
+ // The pmm-agent identifier which runs this instance.
+ PMMAgentID string `json:"pmm_agent_id,omitempty"`
+
+ // Desired Agent status: enabled (false) or disabled (true).
+ Disabled bool `json:"disabled,omitempty"`
+
+ // Service identifier.
+ ServiceID string `json:"service_id,omitempty"`
+
+ // MySQL username for getting the currently running queries.
+ Username string `json:"username,omitempty"`
+
+ // Use TLS for database connections.
+ TLS bool `json:"tls,omitempty"`
+
+ // Skip TLS certificate and hostname validation.
+ TLSSkipVerify bool `json:"tls_skip_verify,omitempty"`
+
+ // Custom user-assigned labels.
+ CustomLabels map[string]string `json:"custom_labels,omitempty"`
+
+ // AgentStatus represents actual Agent status.
+ //
+ // - AGENT_STATUS_STARTING: Agent is starting.
+ // - AGENT_STATUS_INITIALIZATION_ERROR: Agent encountered error when starting.
+ // - AGENT_STATUS_RUNNING: Agent is running.
+ // - AGENT_STATUS_WAITING: Agent encountered error and will be restarted automatically soon.
+ // - AGENT_STATUS_STOPPING: Agent is stopping.
+ // - AGENT_STATUS_DONE: Agent has been stopped or disabled.
+ // - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.
+ // Enum: ["AGENT_STATUS_UNSPECIFIED","AGENT_STATUS_STARTING","AGENT_STATUS_INITIALIZATION_ERROR","AGENT_STATUS_RUNNING","AGENT_STATUS_WAITING","AGENT_STATUS_STOPPING","AGENT_STATUS_DONE","AGENT_STATUS_UNKNOWN"]
+ Status *string `json:"status,omitempty"`
+
+ // Log level for exporters
+ //
+ // - LOG_LEVEL_UNSPECIFIED: Auto
+ // Enum: ["LOG_LEVEL_UNSPECIFIED","LOG_LEVEL_FATAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARN","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG"]
+ LogLevel *string `json:"log_level,omitempty"`
+
+ // rta options
+ RtaOptions *GetAgentOKBodyRtaMysqlAgentRtaOptions `json:"rta_options,omitempty"`
+}
+
+// Validate validates this get agent OK body rta mysql agent
+func (o *GetAgentOKBodyRtaMysqlAgent) Validate(formats strfmt.Registry) error {
+ var res []error
+
+ if err := o.validateStatus(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := o.validateLogLevel(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := o.validateRtaOptions(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
+
+var getAgentOkBodyRtaMysqlAgentTypeStatusPropEnum []any
+
+func init() {
+ var res []string
+ if err := json.Unmarshal([]byte(`["AGENT_STATUS_UNSPECIFIED","AGENT_STATUS_STARTING","AGENT_STATUS_INITIALIZATION_ERROR","AGENT_STATUS_RUNNING","AGENT_STATUS_WAITING","AGENT_STATUS_STOPPING","AGENT_STATUS_DONE","AGENT_STATUS_UNKNOWN"]`), &res); err != nil {
+ panic(err)
+ }
+ for _, v := range res {
+ getAgentOkBodyRtaMysqlAgentTypeStatusPropEnum = append(getAgentOkBodyRtaMysqlAgentTypeStatusPropEnum, v)
+ }
+}
+
+const (
+
+ // GetAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSUNSPECIFIED captures enum value "AGENT_STATUS_UNSPECIFIED"
+ GetAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSUNSPECIFIED string = "AGENT_STATUS_UNSPECIFIED"
+
+ // GetAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSSTARTING captures enum value "AGENT_STATUS_STARTING"
+ GetAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSSTARTING string = "AGENT_STATUS_STARTING"
+
+ // GetAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSINITIALIZATIONERROR captures enum value "AGENT_STATUS_INITIALIZATION_ERROR"
+ GetAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSINITIALIZATIONERROR string = "AGENT_STATUS_INITIALIZATION_ERROR"
+
+ // GetAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSRUNNING captures enum value "AGENT_STATUS_RUNNING"
+ GetAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSRUNNING string = "AGENT_STATUS_RUNNING"
+
+ // GetAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSWAITING captures enum value "AGENT_STATUS_WAITING"
+ GetAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSWAITING string = "AGENT_STATUS_WAITING"
+
+ // GetAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSSTOPPING captures enum value "AGENT_STATUS_STOPPING"
+ GetAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSSTOPPING string = "AGENT_STATUS_STOPPING"
+
+ // GetAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSDONE captures enum value "AGENT_STATUS_DONE"
+ GetAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSDONE string = "AGENT_STATUS_DONE"
+
+ // GetAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSUNKNOWN captures enum value "AGENT_STATUS_UNKNOWN"
+ GetAgentOKBodyRtaMysqlAgentStatusAGENTSTATUSUNKNOWN string = "AGENT_STATUS_UNKNOWN"
+)
+
+// prop value enum
+func (o *GetAgentOKBodyRtaMysqlAgent) validateStatusEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, getAgentOkBodyRtaMysqlAgentTypeStatusPropEnum, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *GetAgentOKBodyRtaMysqlAgent) validateStatus(formats strfmt.Registry) error {
+ if swag.IsZero(o.Status) { // not required
+ return nil
+ }
+
+ // value enum
+ if err := o.validateStatusEnum("getAgentOk"+"."+"rta_mysql_agent"+"."+"status", "body", *o.Status); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+var getAgentOkBodyRtaMysqlAgentTypeLogLevelPropEnum []any
+
+func init() {
+ var res []string
+ if err := json.Unmarshal([]byte(`["LOG_LEVEL_UNSPECIFIED","LOG_LEVEL_FATAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARN","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG"]`), &res); err != nil {
+ panic(err)
+ }
+ for _, v := range res {
+ getAgentOkBodyRtaMysqlAgentTypeLogLevelPropEnum = append(getAgentOkBodyRtaMysqlAgentTypeLogLevelPropEnum, v)
+ }
+}
+
+const (
+
+ // GetAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
+ GetAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
+
+ // GetAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
+ GetAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
+
+ // GetAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
+ GetAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
+
+ // GetAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
+ GetAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
+
+ // GetAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
+ GetAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
+
+ // GetAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
+ GetAgentOKBodyRtaMysqlAgentLogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
+)
+
+// prop value enum
+func (o *GetAgentOKBodyRtaMysqlAgent) validateLogLevelEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, getAgentOkBodyRtaMysqlAgentTypeLogLevelPropEnum, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *GetAgentOKBodyRtaMysqlAgent) validateLogLevel(formats strfmt.Registry) error {
+ if swag.IsZero(o.LogLevel) { // not required
+ return nil
+ }
+
+ // value enum
+ if err := o.validateLogLevelEnum("getAgentOk"+"."+"rta_mysql_agent"+"."+"log_level", "body", *o.LogLevel); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (o *GetAgentOKBodyRtaMysqlAgent) validateRtaOptions(formats strfmt.Registry) error {
+ if swag.IsZero(o.RtaOptions) { // not required
+ return nil
+ }
+
+ if o.RtaOptions != nil {
+ if err := o.RtaOptions.Validate(formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("getAgentOk" + "." + "rta_mysql_agent" + "." + "rta_options")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("getAgentOk" + "." + "rta_mysql_agent" + "." + "rta_options")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
+// ContextValidate validate this get agent OK body rta mysql agent based on the context it is used
+func (o *GetAgentOKBodyRtaMysqlAgent) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+ var res []error
+
+ if err := o.contextValidateRtaOptions(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
+
+func (o *GetAgentOKBodyRtaMysqlAgent) contextValidateRtaOptions(ctx context.Context, formats strfmt.Registry) error {
+ if o.RtaOptions != nil {
+
+ if swag.IsZero(o.RtaOptions) { // not required
+ return nil
+ }
+
+ if err := o.RtaOptions.ContextValidate(ctx, formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("getAgentOk" + "." + "rta_mysql_agent" + "." + "rta_options")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("getAgentOk" + "." + "rta_mysql_agent" + "." + "rta_options")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
+// MarshalBinary interface implementation
+func (o *GetAgentOKBodyRtaMysqlAgent) MarshalBinary() ([]byte, error) {
+ if o == nil {
+ return nil, nil
+ }
+ return swag.WriteJSON(o)
+}
+
+// UnmarshalBinary interface implementation
+func (o *GetAgentOKBodyRtaMysqlAgent) UnmarshalBinary(b []byte) error {
+ var res GetAgentOKBodyRtaMysqlAgent
+ if err := swag.ReadJSON(b, &res); err != nil {
+ return err
+ }
+ *o = res
+ return nil
+}
+
+/*
+GetAgentOKBodyRtaMysqlAgentRtaOptions RTAOptions holds Real-Time Query Analytics agent options.
+swagger:model GetAgentOKBodyRtaMysqlAgentRtaOptions
+*/
+type GetAgentOKBodyRtaMysqlAgentRtaOptions struct {
+ // Query collect interval (default 2s is set by server).
+ CollectInterval string `json:"collect_interval,omitempty"`
+}
+
+// Validate validates this get agent OK body rta mysql agent rta options
+func (o *GetAgentOKBodyRtaMysqlAgentRtaOptions) Validate(formats strfmt.Registry) error {
+ return nil
+}
+
+// ContextValidate validates this get agent OK body rta mysql agent rta options based on context it is used
+func (o *GetAgentOKBodyRtaMysqlAgentRtaOptions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+ return nil
+}
+
+// MarshalBinary interface implementation
+func (o *GetAgentOKBodyRtaMysqlAgentRtaOptions) MarshalBinary() ([]byte, error) {
+ if o == nil {
+ return nil, nil
+ }
+ return swag.WriteJSON(o)
+}
+
+// UnmarshalBinary interface implementation
+func (o *GetAgentOKBodyRtaMysqlAgentRtaOptions) UnmarshalBinary(b []byte) error {
+ var res GetAgentOKBodyRtaMysqlAgentRtaOptions
+ if err := swag.ReadJSON(b, &res); err != nil {
+ return err
+ }
+ *o = res
+ return nil
+}
+
/*
GetAgentOKBodyValkeyExporter ValkeyExporter runs on Generic or Container Node and exposes Valkey Service metrics.
swagger:model GetAgentOKBodyValkeyExporter
diff --git a/api/inventory/v1/json/client/agents_service/list_agents_responses.go b/api/inventory/v1/json/client/agents_service/list_agents_responses.go
index 9f92402574e..ff023db5bb9 100644
--- a/api/inventory/v1/json/client/agents_service/list_agents_responses.go
+++ b/api/inventory/v1/json/client/agents_service/list_agents_responses.go
@@ -474,6 +474,9 @@ type ListAgentsOKBody struct {
// rta mongodb agent
RtaMongodbAgent []*ListAgentsOKBodyRtaMongodbAgentItems0 `json:"rta_mongodb_agent"`
+
+ // rta mysql agent
+ RtaMysqlAgent []*ListAgentsOKBodyRtaMysqlAgentItems0 `json:"rta_mysql_agent"`
}
// Validate validates this list agents OK body
@@ -556,6 +559,10 @@ func (o *ListAgentsOKBody) Validate(formats strfmt.Registry) error {
res = append(res, err)
}
+ if err := o.validateRtaMysqlAgent(formats); err != nil {
+ res = append(res, err)
+ }
+
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
@@ -1132,6 +1139,36 @@ func (o *ListAgentsOKBody) validateRtaMongodbAgent(formats strfmt.Registry) erro
return nil
}
+func (o *ListAgentsOKBody) validateRtaMysqlAgent(formats strfmt.Registry) error {
+ if swag.IsZero(o.RtaMysqlAgent) { // not required
+ return nil
+ }
+
+ for i := 0; i < len(o.RtaMysqlAgent); i++ {
+ if swag.IsZero(o.RtaMysqlAgent[i]) { // not required
+ continue
+ }
+
+ if o.RtaMysqlAgent[i] != nil {
+ if err := o.RtaMysqlAgent[i].Validate(formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("listAgentsOk" + "." + "rta_mysql_agent" + "." + strconv.Itoa(i))
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("listAgentsOk" + "." + "rta_mysql_agent" + "." + strconv.Itoa(i))
+ }
+
+ return err
+ }
+ }
+
+ }
+
+ return nil
+}
+
// ContextValidate validate this list agents OK body based on the context it is used
func (o *ListAgentsOKBody) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
@@ -1212,6 +1249,10 @@ func (o *ListAgentsOKBody) ContextValidate(ctx context.Context, formats strfmt.R
res = append(res, err)
}
+ if err := o.contextValidateRtaMysqlAgent(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
@@ -1712,6 +1753,32 @@ func (o *ListAgentsOKBody) contextValidateRtaMongodbAgent(ctx context.Context, f
return nil
}
+func (o *ListAgentsOKBody) contextValidateRtaMysqlAgent(ctx context.Context, formats strfmt.Registry) error {
+ for i := 0; i < len(o.RtaMysqlAgent); i++ {
+ if o.RtaMysqlAgent[i] != nil {
+
+ if swag.IsZero(o.RtaMysqlAgent[i]) { // not required
+ return nil
+ }
+
+ if err := o.RtaMysqlAgent[i].ContextValidate(ctx, formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("listAgentsOk" + "." + "rta_mysql_agent" + "." + strconv.Itoa(i))
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("listAgentsOk" + "." + "rta_mysql_agent" + "." + strconv.Itoa(i))
+ }
+
+ return err
+ }
+ }
+ }
+
+ return nil
+}
+
// MarshalBinary interface implementation
func (o *ListAgentsOKBody) MarshalBinary() ([]byte, error) {
if o == nil {
@@ -6072,6 +6139,309 @@ func (o *ListAgentsOKBodyRtaMongodbAgentItems0RtaOptions) UnmarshalBinary(b []by
return nil
}
+/*
+ListAgentsOKBodyRtaMysqlAgentItems0 RTAMySQLAgent runs within pmm-agent and sends MySQL Real-Time Query Analytics data to the PMM Server.
+swagger:model ListAgentsOKBodyRtaMysqlAgentItems0
+*/
+type ListAgentsOKBodyRtaMysqlAgentItems0 struct {
+ // Unique agent identifier.
+ AgentID string `json:"agent_id,omitempty"`
+
+ // The pmm-agent identifier which runs this instance.
+ PMMAgentID string `json:"pmm_agent_id,omitempty"`
+
+ // Desired Agent status: enabled (false) or disabled (true).
+ Disabled bool `json:"disabled,omitempty"`
+
+ // Service identifier.
+ ServiceID string `json:"service_id,omitempty"`
+
+ // MySQL username for getting the currently running queries.
+ Username string `json:"username,omitempty"`
+
+ // Use TLS for database connections.
+ TLS bool `json:"tls,omitempty"`
+
+ // Skip TLS certificate and hostname validation.
+ TLSSkipVerify bool `json:"tls_skip_verify,omitempty"`
+
+ // Custom user-assigned labels.
+ CustomLabels map[string]string `json:"custom_labels,omitempty"`
+
+ // AgentStatus represents actual Agent status.
+ //
+ // - AGENT_STATUS_STARTING: Agent is starting.
+ // - AGENT_STATUS_INITIALIZATION_ERROR: Agent encountered error when starting.
+ // - AGENT_STATUS_RUNNING: Agent is running.
+ // - AGENT_STATUS_WAITING: Agent encountered error and will be restarted automatically soon.
+ // - AGENT_STATUS_STOPPING: Agent is stopping.
+ // - AGENT_STATUS_DONE: Agent has been stopped or disabled.
+ // - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.
+ // Enum: ["AGENT_STATUS_UNSPECIFIED","AGENT_STATUS_STARTING","AGENT_STATUS_INITIALIZATION_ERROR","AGENT_STATUS_RUNNING","AGENT_STATUS_WAITING","AGENT_STATUS_STOPPING","AGENT_STATUS_DONE","AGENT_STATUS_UNKNOWN"]
+ Status *string `json:"status,omitempty"`
+
+ // Log level for exporters
+ //
+ // - LOG_LEVEL_UNSPECIFIED: Auto
+ // Enum: ["LOG_LEVEL_UNSPECIFIED","LOG_LEVEL_FATAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARN","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG"]
+ LogLevel *string `json:"log_level,omitempty"`
+
+ // rta options
+ RtaOptions *ListAgentsOKBodyRtaMysqlAgentItems0RtaOptions `json:"rta_options,omitempty"`
+}
+
+// Validate validates this list agents OK body rta mysql agent items0
+func (o *ListAgentsOKBodyRtaMysqlAgentItems0) Validate(formats strfmt.Registry) error {
+ var res []error
+
+ if err := o.validateStatus(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := o.validateLogLevel(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := o.validateRtaOptions(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
+
+var listAgentsOkBodyRtaMysqlAgentItems0TypeStatusPropEnum []any
+
+func init() {
+ var res []string
+ if err := json.Unmarshal([]byte(`["AGENT_STATUS_UNSPECIFIED","AGENT_STATUS_STARTING","AGENT_STATUS_INITIALIZATION_ERROR","AGENT_STATUS_RUNNING","AGENT_STATUS_WAITING","AGENT_STATUS_STOPPING","AGENT_STATUS_DONE","AGENT_STATUS_UNKNOWN"]`), &res); err != nil {
+ panic(err)
+ }
+ for _, v := range res {
+ listAgentsOkBodyRtaMysqlAgentItems0TypeStatusPropEnum = append(listAgentsOkBodyRtaMysqlAgentItems0TypeStatusPropEnum, v)
+ }
+}
+
+const (
+
+ // ListAgentsOKBodyRtaMysqlAgentItems0StatusAGENTSTATUSUNSPECIFIED captures enum value "AGENT_STATUS_UNSPECIFIED"
+ ListAgentsOKBodyRtaMysqlAgentItems0StatusAGENTSTATUSUNSPECIFIED string = "AGENT_STATUS_UNSPECIFIED"
+
+ // ListAgentsOKBodyRtaMysqlAgentItems0StatusAGENTSTATUSSTARTING captures enum value "AGENT_STATUS_STARTING"
+ ListAgentsOKBodyRtaMysqlAgentItems0StatusAGENTSTATUSSTARTING string = "AGENT_STATUS_STARTING"
+
+ // ListAgentsOKBodyRtaMysqlAgentItems0StatusAGENTSTATUSINITIALIZATIONERROR captures enum value "AGENT_STATUS_INITIALIZATION_ERROR"
+ ListAgentsOKBodyRtaMysqlAgentItems0StatusAGENTSTATUSINITIALIZATIONERROR string = "AGENT_STATUS_INITIALIZATION_ERROR"
+
+ // ListAgentsOKBodyRtaMysqlAgentItems0StatusAGENTSTATUSRUNNING captures enum value "AGENT_STATUS_RUNNING"
+ ListAgentsOKBodyRtaMysqlAgentItems0StatusAGENTSTATUSRUNNING string = "AGENT_STATUS_RUNNING"
+
+ // ListAgentsOKBodyRtaMysqlAgentItems0StatusAGENTSTATUSWAITING captures enum value "AGENT_STATUS_WAITING"
+ ListAgentsOKBodyRtaMysqlAgentItems0StatusAGENTSTATUSWAITING string = "AGENT_STATUS_WAITING"
+
+ // ListAgentsOKBodyRtaMysqlAgentItems0StatusAGENTSTATUSSTOPPING captures enum value "AGENT_STATUS_STOPPING"
+ ListAgentsOKBodyRtaMysqlAgentItems0StatusAGENTSTATUSSTOPPING string = "AGENT_STATUS_STOPPING"
+
+ // ListAgentsOKBodyRtaMysqlAgentItems0StatusAGENTSTATUSDONE captures enum value "AGENT_STATUS_DONE"
+ ListAgentsOKBodyRtaMysqlAgentItems0StatusAGENTSTATUSDONE string = "AGENT_STATUS_DONE"
+
+ // ListAgentsOKBodyRtaMysqlAgentItems0StatusAGENTSTATUSUNKNOWN captures enum value "AGENT_STATUS_UNKNOWN"
+ ListAgentsOKBodyRtaMysqlAgentItems0StatusAGENTSTATUSUNKNOWN string = "AGENT_STATUS_UNKNOWN"
+)
+
+// prop value enum
+func (o *ListAgentsOKBodyRtaMysqlAgentItems0) validateStatusEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, listAgentsOkBodyRtaMysqlAgentItems0TypeStatusPropEnum, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *ListAgentsOKBodyRtaMysqlAgentItems0) validateStatus(formats strfmt.Registry) error {
+ if swag.IsZero(o.Status) { // not required
+ return nil
+ }
+
+ // value enum
+ if err := o.validateStatusEnum("status", "body", *o.Status); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+var listAgentsOkBodyRtaMysqlAgentItems0TypeLogLevelPropEnum []any
+
+func init() {
+ var res []string
+ if err := json.Unmarshal([]byte(`["LOG_LEVEL_UNSPECIFIED","LOG_LEVEL_FATAL","LOG_LEVEL_ERROR","LOG_LEVEL_WARN","LOG_LEVEL_INFO","LOG_LEVEL_DEBUG"]`), &res); err != nil {
+ panic(err)
+ }
+ for _, v := range res {
+ listAgentsOkBodyRtaMysqlAgentItems0TypeLogLevelPropEnum = append(listAgentsOkBodyRtaMysqlAgentItems0TypeLogLevelPropEnum, v)
+ }
+}
+
+const (
+
+ // ListAgentsOKBodyRtaMysqlAgentItems0LogLevelLOGLEVELUNSPECIFIED captures enum value "LOG_LEVEL_UNSPECIFIED"
+ ListAgentsOKBodyRtaMysqlAgentItems0LogLevelLOGLEVELUNSPECIFIED string = "LOG_LEVEL_UNSPECIFIED"
+
+ // ListAgentsOKBodyRtaMysqlAgentItems0LogLevelLOGLEVELFATAL captures enum value "LOG_LEVEL_FATAL"
+ ListAgentsOKBodyRtaMysqlAgentItems0LogLevelLOGLEVELFATAL string = "LOG_LEVEL_FATAL"
+
+ // ListAgentsOKBodyRtaMysqlAgentItems0LogLevelLOGLEVELERROR captures enum value "LOG_LEVEL_ERROR"
+ ListAgentsOKBodyRtaMysqlAgentItems0LogLevelLOGLEVELERROR string = "LOG_LEVEL_ERROR"
+
+ // ListAgentsOKBodyRtaMysqlAgentItems0LogLevelLOGLEVELWARN captures enum value "LOG_LEVEL_WARN"
+ ListAgentsOKBodyRtaMysqlAgentItems0LogLevelLOGLEVELWARN string = "LOG_LEVEL_WARN"
+
+ // ListAgentsOKBodyRtaMysqlAgentItems0LogLevelLOGLEVELINFO captures enum value "LOG_LEVEL_INFO"
+ ListAgentsOKBodyRtaMysqlAgentItems0LogLevelLOGLEVELINFO string = "LOG_LEVEL_INFO"
+
+ // ListAgentsOKBodyRtaMysqlAgentItems0LogLevelLOGLEVELDEBUG captures enum value "LOG_LEVEL_DEBUG"
+ ListAgentsOKBodyRtaMysqlAgentItems0LogLevelLOGLEVELDEBUG string = "LOG_LEVEL_DEBUG"
+)
+
+// prop value enum
+func (o *ListAgentsOKBodyRtaMysqlAgentItems0) validateLogLevelEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, listAgentsOkBodyRtaMysqlAgentItems0TypeLogLevelPropEnum, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *ListAgentsOKBodyRtaMysqlAgentItems0) validateLogLevel(formats strfmt.Registry) error {
+ if swag.IsZero(o.LogLevel) { // not required
+ return nil
+ }
+
+ // value enum
+ if err := o.validateLogLevelEnum("log_level", "body", *o.LogLevel); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (o *ListAgentsOKBodyRtaMysqlAgentItems0) validateRtaOptions(formats strfmt.Registry) error {
+ if swag.IsZero(o.RtaOptions) { // not required
+ return nil
+ }
+
+ if o.RtaOptions != nil {
+ if err := o.RtaOptions.Validate(formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("rta_options")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("rta_options")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
+// ContextValidate validate this list agents OK body rta mysql agent items0 based on the context it is used
+func (o *ListAgentsOKBodyRtaMysqlAgentItems0) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+ var res []error
+
+ if err := o.contextValidateRtaOptions(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
+
+func (o *ListAgentsOKBodyRtaMysqlAgentItems0) contextValidateRtaOptions(ctx context.Context, formats strfmt.Registry) error {
+ if o.RtaOptions != nil {
+
+ if swag.IsZero(o.RtaOptions) { // not required
+ return nil
+ }
+
+ if err := o.RtaOptions.ContextValidate(ctx, formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("rta_options")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("rta_options")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
+// MarshalBinary interface implementation
+func (o *ListAgentsOKBodyRtaMysqlAgentItems0) MarshalBinary() ([]byte, error) {
+ if o == nil {
+ return nil, nil
+ }
+ return swag.WriteJSON(o)
+}
+
+// UnmarshalBinary interface implementation
+func (o *ListAgentsOKBodyRtaMysqlAgentItems0) UnmarshalBinary(b []byte) error {
+ var res ListAgentsOKBodyRtaMysqlAgentItems0
+ if err := swag.ReadJSON(b, &res); err != nil {
+ return err
+ }
+ *o = res
+ return nil
+}
+
+/*
+ListAgentsOKBodyRtaMysqlAgentItems0RtaOptions RTAOptions holds Real-Time Query Analytics agent options.
+swagger:model ListAgentsOKBodyRtaMysqlAgentItems0RtaOptions
+*/
+type ListAgentsOKBodyRtaMysqlAgentItems0RtaOptions struct {
+ // Query collect interval (default 2s is set by server).
+ CollectInterval string `json:"collect_interval,omitempty"`
+}
+
+// Validate validates this list agents OK body rta mysql agent items0 rta options
+func (o *ListAgentsOKBodyRtaMysqlAgentItems0RtaOptions) Validate(formats strfmt.Registry) error {
+ return nil
+}
+
+// ContextValidate validates this list agents OK body rta mysql agent items0 rta options based on context it is used
+func (o *ListAgentsOKBodyRtaMysqlAgentItems0RtaOptions) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+ return nil
+}
+
+// MarshalBinary interface implementation
+func (o *ListAgentsOKBodyRtaMysqlAgentItems0RtaOptions) MarshalBinary() ([]byte, error) {
+ if o == nil {
+ return nil, nil
+ }
+ return swag.WriteJSON(o)
+}
+
+// UnmarshalBinary interface implementation
+func (o *ListAgentsOKBodyRtaMysqlAgentItems0RtaOptions) UnmarshalBinary(b []byte) error {
+ var res ListAgentsOKBodyRtaMysqlAgentItems0RtaOptions
+ if err := swag.ReadJSON(b, &res); err != nil {
+ return err
+ }
+ *o = res
+ return nil
+}
+
/*
ListAgentsOKBodyVMAgentItems0 VMAgent runs on Generic or Container Node alongside pmm-agent.
// It scrapes other exporter Agents that are configured with push_metrics_enabled
diff --git a/api/inventory/v1/json/v1.json b/api/inventory/v1/json/v1.json
index 502c7a455cf..39af9cf9161 100644
--- a/api/inventory/v1/json/v1.json
+++ b/api/inventory/v1/json/v1.json
@@ -63,7 +63,8 @@
"AGENT_TYPE_RDS_EXPORTER",
"AGENT_TYPE_AZURE_DATABASE_EXPORTER",
"AGENT_TYPE_NOMAD_AGENT",
- "AGENT_TYPE_RTA_MONGODB_AGENT"
+ "AGENT_TYPE_RTA_MONGODB_AGENT",
+ "AGENT_TYPE_RTA_MYSQL_AGENT"
],
"type": "string",
"default": "AGENT_TYPE_UNSPECIFIED",
@@ -2207,6 +2208,102 @@
}
},
"x-order": 18
+ },
+ "rta_mysql_agent": {
+ "type": "array",
+ "items": {
+ "description": "RTAMySQLAgent runs within pmm-agent and sends MySQL Real-Time Query Analytics data to the PMM Server.",
+ "type": "object",
+ "properties": {
+ "agent_id": {
+ "description": "Unique agent identifier.",
+ "type": "string",
+ "x-order": 0
+ },
+ "pmm_agent_id": {
+ "description": "The pmm-agent identifier which runs this instance.",
+ "type": "string",
+ "x-order": 1
+ },
+ "disabled": {
+ "description": "Desired Agent status: enabled (false) or disabled (true).",
+ "type": "boolean",
+ "x-order": 2
+ },
+ "service_id": {
+ "description": "Service identifier.",
+ "type": "string",
+ "x-order": 3
+ },
+ "username": {
+ "description": "MySQL username for getting the currently running queries.",
+ "type": "string",
+ "x-order": 4
+ },
+ "tls": {
+ "description": "Use TLS for database connections.",
+ "type": "boolean",
+ "x-order": 5
+ },
+ "tls_skip_verify": {
+ "description": "Skip TLS certificate and hostname validation.",
+ "type": "boolean",
+ "x-order": 6
+ },
+ "custom_labels": {
+ "description": "Custom user-assigned labels.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 7
+ },
+ "rta_options": {
+ "description": "RTAOptions holds Real-Time Query Analytics agent options.",
+ "type": "object",
+ "properties": {
+ "collect_interval": {
+ "description": "Query collect interval (default 2s is set by server).",
+ "type": "string",
+ "x-order": 0
+ }
+ },
+ "x-order": 8
+ },
+ "status": {
+ "description": "AgentStatus represents actual Agent status.\n\n - AGENT_STATUS_STARTING: Agent is starting.\n - AGENT_STATUS_INITIALIZATION_ERROR: Agent encountered error when starting.\n - AGENT_STATUS_RUNNING: Agent is running.\n - AGENT_STATUS_WAITING: Agent encountered error and will be restarted automatically soon.\n - AGENT_STATUS_STOPPING: Agent is stopping.\n - AGENT_STATUS_DONE: Agent has been stopped or disabled.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.",
+ "type": "string",
+ "default": "AGENT_STATUS_UNSPECIFIED",
+ "enum": [
+ "AGENT_STATUS_UNSPECIFIED",
+ "AGENT_STATUS_STARTING",
+ "AGENT_STATUS_INITIALIZATION_ERROR",
+ "AGENT_STATUS_RUNNING",
+ "AGENT_STATUS_WAITING",
+ "AGENT_STATUS_STOPPING",
+ "AGENT_STATUS_DONE",
+ "AGENT_STATUS_UNKNOWN"
+ ],
+ "x-order": 9
+ },
+ "log_level": {
+ "description": "- LOG_LEVEL_UNSPECIFIED: Auto",
+ "type": "string",
+ "title": "Log level for exporters",
+ "default": "LOG_LEVEL_UNSPECIFIED",
+ "enum": [
+ "LOG_LEVEL_UNSPECIFIED",
+ "LOG_LEVEL_FATAL",
+ "LOG_LEVEL_ERROR",
+ "LOG_LEVEL_WARN",
+ "LOG_LEVEL_INFO",
+ "LOG_LEVEL_DEBUG"
+ ],
+ "x-order": 10
+ }
+ }
+ },
+ "x-order": 19
}
}
}
@@ -3808,6 +3905,97 @@
}
},
"x-order": 16
+ },
+ "rta_mysql_agent": {
+ "type": "object",
+ "properties": {
+ "pmm_agent_id": {
+ "description": "The pmm-agent identifier which runs this instance.",
+ "type": "string",
+ "x-order": 0
+ },
+ "service_id": {
+ "description": "Service identifier.",
+ "type": "string",
+ "x-order": 1
+ },
+ "username": {
+ "description": "MySQL username for getting queries data.",
+ "type": "string",
+ "x-order": 2
+ },
+ "password": {
+ "description": "MySQL password for getting queries data.",
+ "type": "string",
+ "x-order": 3
+ },
+ "custom_labels": {
+ "description": "Custom user-assigned labels.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 4
+ },
+ "log_level": {
+ "description": "- LOG_LEVEL_UNSPECIFIED: Auto",
+ "type": "string",
+ "title": "Log level for exporters",
+ "default": "LOG_LEVEL_UNSPECIFIED",
+ "enum": [
+ "LOG_LEVEL_UNSPECIFIED",
+ "LOG_LEVEL_FATAL",
+ "LOG_LEVEL_ERROR",
+ "LOG_LEVEL_WARN",
+ "LOG_LEVEL_INFO",
+ "LOG_LEVEL_DEBUG"
+ ],
+ "x-order": 5
+ },
+ "tls": {
+ "description": "MySQL specific options.\nUse TLS for database connections.",
+ "type": "boolean",
+ "x-order": 6
+ },
+ "tls_skip_verify": {
+ "description": "Skip TLS certificate and hostname validation.",
+ "type": "boolean",
+ "x-order": 7
+ },
+ "tls_ca": {
+ "description": "Certificate Authority certificate chain.",
+ "type": "string",
+ "x-order": 8
+ },
+ "tls_cert": {
+ "description": "Client certificate.",
+ "type": "string",
+ "x-order": 9
+ },
+ "tls_key": {
+ "description": "Client key.",
+ "type": "string",
+ "x-order": 10
+ },
+ "skip_connection_check": {
+ "description": "Skip connection check.",
+ "type": "boolean",
+ "x-order": 11
+ },
+ "rta_options": {
+ "description": "RTAOptions holds Real-Time Query Analytics agent options.",
+ "type": "object",
+ "properties": {
+ "collect_interval": {
+ "description": "Query collect interval (default 2s is set by server).",
+ "type": "string",
+ "x-order": 0
+ }
+ },
+ "x-order": 12
+ }
+ },
+ "x-order": 17
}
}
}
@@ -5799,6 +5987,99 @@
}
},
"x-order": 16
+ },
+ "rta_mysql_agent": {
+ "description": "RTAMySQLAgent runs within pmm-agent and sends MySQL Real-Time Query Analytics data to the PMM Server.",
+ "type": "object",
+ "properties": {
+ "agent_id": {
+ "description": "Unique agent identifier.",
+ "type": "string",
+ "x-order": 0
+ },
+ "pmm_agent_id": {
+ "description": "The pmm-agent identifier which runs this instance.",
+ "type": "string",
+ "x-order": 1
+ },
+ "disabled": {
+ "description": "Desired Agent status: enabled (false) or disabled (true).",
+ "type": "boolean",
+ "x-order": 2
+ },
+ "service_id": {
+ "description": "Service identifier.",
+ "type": "string",
+ "x-order": 3
+ },
+ "username": {
+ "description": "MySQL username for getting the currently running queries.",
+ "type": "string",
+ "x-order": 4
+ },
+ "tls": {
+ "description": "Use TLS for database connections.",
+ "type": "boolean",
+ "x-order": 5
+ },
+ "tls_skip_verify": {
+ "description": "Skip TLS certificate and hostname validation.",
+ "type": "boolean",
+ "x-order": 6
+ },
+ "custom_labels": {
+ "description": "Custom user-assigned labels.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 7
+ },
+ "rta_options": {
+ "description": "RTAOptions holds Real-Time Query Analytics agent options.",
+ "type": "object",
+ "properties": {
+ "collect_interval": {
+ "description": "Query collect interval (default 2s is set by server).",
+ "type": "string",
+ "x-order": 0
+ }
+ },
+ "x-order": 8
+ },
+ "status": {
+ "description": "AgentStatus represents actual Agent status.\n\n - AGENT_STATUS_STARTING: Agent is starting.\n - AGENT_STATUS_INITIALIZATION_ERROR: Agent encountered error when starting.\n - AGENT_STATUS_RUNNING: Agent is running.\n - AGENT_STATUS_WAITING: Agent encountered error and will be restarted automatically soon.\n - AGENT_STATUS_STOPPING: Agent is stopping.\n - AGENT_STATUS_DONE: Agent has been stopped or disabled.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.",
+ "type": "string",
+ "default": "AGENT_STATUS_UNSPECIFIED",
+ "enum": [
+ "AGENT_STATUS_UNSPECIFIED",
+ "AGENT_STATUS_STARTING",
+ "AGENT_STATUS_INITIALIZATION_ERROR",
+ "AGENT_STATUS_RUNNING",
+ "AGENT_STATUS_WAITING",
+ "AGENT_STATUS_STOPPING",
+ "AGENT_STATUS_DONE",
+ "AGENT_STATUS_UNKNOWN"
+ ],
+ "x-order": 9
+ },
+ "log_level": {
+ "description": "- LOG_LEVEL_UNSPECIFIED: Auto",
+ "type": "string",
+ "title": "Log level for exporters",
+ "default": "LOG_LEVEL_UNSPECIFIED",
+ "enum": [
+ "LOG_LEVEL_UNSPECIFIED",
+ "LOG_LEVEL_FATAL",
+ "LOG_LEVEL_ERROR",
+ "LOG_LEVEL_WARN",
+ "LOG_LEVEL_INFO",
+ "LOG_LEVEL_DEBUG"
+ ],
+ "x-order": 10
+ }
+ },
+ "x-order": 17
}
}
}
@@ -7776,7 +8057,128 @@
"items": {
"type": "string"
},
- "x-order": 9
+ "x-order": 9
+ },
+ "status": {
+ "description": "AgentStatus represents actual Agent status.\n\n - AGENT_STATUS_STARTING: Agent is starting.\n - AGENT_STATUS_INITIALIZATION_ERROR: Agent encountered error when starting.\n - AGENT_STATUS_RUNNING: Agent is running.\n - AGENT_STATUS_WAITING: Agent encountered error and will be restarted automatically soon.\n - AGENT_STATUS_STOPPING: Agent is stopping.\n - AGENT_STATUS_DONE: Agent has been stopped or disabled.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.",
+ "type": "string",
+ "default": "AGENT_STATUS_UNSPECIFIED",
+ "enum": [
+ "AGENT_STATUS_UNSPECIFIED",
+ "AGENT_STATUS_STARTING",
+ "AGENT_STATUS_INITIALIZATION_ERROR",
+ "AGENT_STATUS_RUNNING",
+ "AGENT_STATUS_WAITING",
+ "AGENT_STATUS_STOPPING",
+ "AGENT_STATUS_DONE",
+ "AGENT_STATUS_UNKNOWN"
+ ],
+ "x-order": 10
+ },
+ "listen_port": {
+ "description": "Listen port for scraping metrics.",
+ "type": "integer",
+ "format": "int64",
+ "x-order": 11
+ },
+ "process_exec_path": {
+ "description": "Path to exec process.",
+ "type": "string",
+ "x-order": 12
+ },
+ "expose_exporter": {
+ "type": "boolean",
+ "title": "Optionally expose the exporter process on all public interfaces",
+ "x-order": 13
+ },
+ "metrics_resolutions": {
+ "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.",
+ "type": "object",
+ "properties": {
+ "hr": {
+ "description": "High resolution. In JSON should be represented as a string with number of seconds with `s` suffix.",
+ "type": "string",
+ "x-order": 0
+ },
+ "mr": {
+ "description": "Medium resolution. In JSON should be represented as a string with number of seconds with `s` suffix.",
+ "type": "string",
+ "x-order": 1
+ },
+ "lr": {
+ "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.",
+ "type": "string",
+ "x-order": 2
+ }
+ },
+ "x-order": 14
+ },
+ "connection_timeout": {
+ "description": "Connection timeout for exporter (if set).",
+ "type": "string",
+ "x-order": 15
+ }
+ },
+ "x-order": 17
+ },
+ "rta_mongodb_agent": {
+ "description": "RTAMongoDBAgent runs within pmm-agent and sends MongoDB Real-Time Query Analytics data to the PMM Server.",
+ "type": "object",
+ "properties": {
+ "agent_id": {
+ "description": "Unique agent identifier.",
+ "type": "string",
+ "x-order": 0
+ },
+ "pmm_agent_id": {
+ "description": "The pmm-agent identifier which runs this instance.",
+ "type": "string",
+ "x-order": 1
+ },
+ "disabled": {
+ "description": "Desired Agent status: enabled (false) or disabled (true).",
+ "type": "boolean",
+ "x-order": 2
+ },
+ "service_id": {
+ "description": "Service identifier.",
+ "type": "string",
+ "x-order": 3
+ },
+ "username": {
+ "description": "MongoDB username for getting profiler data.",
+ "type": "string",
+ "x-order": 4
+ },
+ "tls": {
+ "description": "Use TLS for database connections.",
+ "type": "boolean",
+ "x-order": 5
+ },
+ "tls_skip_verify": {
+ "description": "Skip TLS certificate and hostname validation.",
+ "type": "boolean",
+ "x-order": 6
+ },
+ "custom_labels": {
+ "description": "Custom user-assigned labels.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 7
+ },
+ "rta_options": {
+ "description": "RTAOptions holds Real-Time Query Analytics agent options.",
+ "type": "object",
+ "properties": {
+ "collect_interval": {
+ "description": "Query collect interval (default 2s is set by server).",
+ "type": "string",
+ "x-order": 0
+ }
+ },
+ "x-order": 8
},
"status": {
"description": "AgentStatus represents actual Agent status.\n\n - AGENT_STATUS_STARTING: Agent is starting.\n - AGENT_STATUS_INITIALIZATION_ERROR: Agent encountered error when starting.\n - AGENT_STATUS_RUNNING: Agent is running.\n - AGENT_STATUS_WAITING: Agent encountered error and will be restarted automatically soon.\n - AGENT_STATUS_STOPPING: Agent is stopping.\n - AGENT_STATUS_DONE: Agent has been stopped or disabled.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.",
@@ -7792,56 +8194,28 @@
"AGENT_STATUS_DONE",
"AGENT_STATUS_UNKNOWN"
],
- "x-order": 10
- },
- "listen_port": {
- "description": "Listen port for scraping metrics.",
- "type": "integer",
- "format": "int64",
- "x-order": 11
- },
- "process_exec_path": {
- "description": "Path to exec process.",
- "type": "string",
- "x-order": 12
- },
- "expose_exporter": {
- "type": "boolean",
- "title": "Optionally expose the exporter process on all public interfaces",
- "x-order": 13
- },
- "metrics_resolutions": {
- "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.",
- "type": "object",
- "properties": {
- "hr": {
- "description": "High resolution. In JSON should be represented as a string with number of seconds with `s` suffix.",
- "type": "string",
- "x-order": 0
- },
- "mr": {
- "description": "Medium resolution. In JSON should be represented as a string with number of seconds with `s` suffix.",
- "type": "string",
- "x-order": 1
- },
- "lr": {
- "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.",
- "type": "string",
- "x-order": 2
- }
- },
- "x-order": 14
+ "x-order": 9
},
- "connection_timeout": {
- "description": "Connection timeout for exporter (if set).",
+ "log_level": {
+ "description": "- LOG_LEVEL_UNSPECIFIED: Auto",
"type": "string",
- "x-order": 15
+ "title": "Log level for exporters",
+ "default": "LOG_LEVEL_UNSPECIFIED",
+ "enum": [
+ "LOG_LEVEL_UNSPECIFIED",
+ "LOG_LEVEL_FATAL",
+ "LOG_LEVEL_ERROR",
+ "LOG_LEVEL_WARN",
+ "LOG_LEVEL_INFO",
+ "LOG_LEVEL_DEBUG"
+ ],
+ "x-order": 10
}
},
- "x-order": 17
+ "x-order": 18
},
- "rta_mongodb_agent": {
- "description": "RTAMongoDBAgent runs within pmm-agent and sends MongoDB Real-Time Query Analytics data to the PMM Server.",
+ "rta_mysql_agent": {
+ "description": "RTAMySQLAgent runs within pmm-agent and sends MySQL Real-Time Query Analytics data to the PMM Server.",
"type": "object",
"properties": {
"agent_id": {
@@ -7865,7 +8239,7 @@
"x-order": 3
},
"username": {
- "description": "MongoDB username for getting profiler data.",
+ "description": "MySQL username for getting the currently running queries.",
"type": "string",
"x-order": 4
},
@@ -7931,7 +8305,7 @@
"x-order": 10
}
},
- "x-order": 18
+ "x-order": 19
}
}
}
@@ -10069,6 +10443,110 @@
}
},
"x-order": 16
+ },
+ "rta_mysql_agent": {
+ "type": "object",
+ "properties": {
+ "enable": {
+ "description": "Enable this Agent. Agents are enabled by default when they get added.",
+ "type": "boolean",
+ "x-nullable": true,
+ "x-order": 0
+ },
+ "custom_labels": {
+ "description": "A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.",
+ "type": "object",
+ "properties": {
+ "values": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 0
+ }
+ },
+ "x-nullable": true,
+ "x-order": 1
+ },
+ "log_level": {
+ "description": "- LOG_LEVEL_UNSPECIFIED: Auto",
+ "type": "string",
+ "title": "Log level for exporters",
+ "default": "LOG_LEVEL_UNSPECIFIED",
+ "enum": [
+ "LOG_LEVEL_UNSPECIFIED",
+ "LOG_LEVEL_FATAL",
+ "LOG_LEVEL_ERROR",
+ "LOG_LEVEL_WARN",
+ "LOG_LEVEL_INFO",
+ "LOG_LEVEL_DEBUG"
+ ],
+ "x-nullable": true,
+ "x-order": 2
+ },
+ "username": {
+ "description": "MySQL username for getting queries data.",
+ "type": "string",
+ "x-nullable": true,
+ "x-order": 3
+ },
+ "password": {
+ "description": "MySQL password for getting queries data.",
+ "type": "string",
+ "x-nullable": true,
+ "x-order": 4
+ },
+ "tls": {
+ "description": "Use TLS for database connections.",
+ "type": "boolean",
+ "x-nullable": true,
+ "x-order": 5
+ },
+ "tls_skip_verify": {
+ "description": "Skip TLS certificate and hostname validation.",
+ "type": "boolean",
+ "x-nullable": true,
+ "x-order": 6
+ },
+ "tls_ca": {
+ "description": "Certificate Authority certificate chain.",
+ "type": "string",
+ "x-nullable": true,
+ "x-order": 7
+ },
+ "tls_cert": {
+ "description": "Client certificate.",
+ "type": "string",
+ "x-nullable": true,
+ "x-order": 8
+ },
+ "tls_key": {
+ "description": "Client key.",
+ "type": "string",
+ "x-nullable": true,
+ "x-order": 9
+ },
+ "rta_options": {
+ "description": "RTAOptions holds Real-Time Query Analytics agent options.",
+ "type": "object",
+ "properties": {
+ "collect_interval": {
+ "description": "Query collect interval (default 2s is set by server).",
+ "type": "string",
+ "x-order": 0
+ }
+ },
+ "x-nullable": true,
+ "x-order": 10
+ },
+ "skip_connection_check": {
+ "description": "Skip connection check.",
+ "type": "boolean",
+ "x-nullable": true,
+ "x-order": 11
+ }
+ },
+ "x-order": 17
}
}
}
@@ -12073,6 +12551,99 @@
}
},
"x-order": 16
+ },
+ "rta_mysql_agent": {
+ "description": "RTAMySQLAgent runs within pmm-agent and sends MySQL Real-Time Query Analytics data to the PMM Server.",
+ "type": "object",
+ "properties": {
+ "agent_id": {
+ "description": "Unique agent identifier.",
+ "type": "string",
+ "x-order": 0
+ },
+ "pmm_agent_id": {
+ "description": "The pmm-agent identifier which runs this instance.",
+ "type": "string",
+ "x-order": 1
+ },
+ "disabled": {
+ "description": "Desired Agent status: enabled (false) or disabled (true).",
+ "type": "boolean",
+ "x-order": 2
+ },
+ "service_id": {
+ "description": "Service identifier.",
+ "type": "string",
+ "x-order": 3
+ },
+ "username": {
+ "description": "MySQL username for getting the currently running queries.",
+ "type": "string",
+ "x-order": 4
+ },
+ "tls": {
+ "description": "Use TLS for database connections.",
+ "type": "boolean",
+ "x-order": 5
+ },
+ "tls_skip_verify": {
+ "description": "Skip TLS certificate and hostname validation.",
+ "type": "boolean",
+ "x-order": 6
+ },
+ "custom_labels": {
+ "description": "Custom user-assigned labels.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 7
+ },
+ "rta_options": {
+ "description": "RTAOptions holds Real-Time Query Analytics agent options.",
+ "type": "object",
+ "properties": {
+ "collect_interval": {
+ "description": "Query collect interval (default 2s is set by server).",
+ "type": "string",
+ "x-order": 0
+ }
+ },
+ "x-order": 8
+ },
+ "status": {
+ "description": "AgentStatus represents actual Agent status.\n\n - AGENT_STATUS_STARTING: Agent is starting.\n - AGENT_STATUS_INITIALIZATION_ERROR: Agent encountered error when starting.\n - AGENT_STATUS_RUNNING: Agent is running.\n - AGENT_STATUS_WAITING: Agent encountered error and will be restarted automatically soon.\n - AGENT_STATUS_STOPPING: Agent is stopping.\n - AGENT_STATUS_DONE: Agent has been stopped or disabled.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.",
+ "type": "string",
+ "default": "AGENT_STATUS_UNSPECIFIED",
+ "enum": [
+ "AGENT_STATUS_UNSPECIFIED",
+ "AGENT_STATUS_STARTING",
+ "AGENT_STATUS_INITIALIZATION_ERROR",
+ "AGENT_STATUS_RUNNING",
+ "AGENT_STATUS_WAITING",
+ "AGENT_STATUS_STOPPING",
+ "AGENT_STATUS_DONE",
+ "AGENT_STATUS_UNKNOWN"
+ ],
+ "x-order": 9
+ },
+ "log_level": {
+ "description": "- LOG_LEVEL_UNSPECIFIED: Auto",
+ "type": "string",
+ "title": "Log level for exporters",
+ "default": "LOG_LEVEL_UNSPECIFIED",
+ "enum": [
+ "LOG_LEVEL_UNSPECIFIED",
+ "LOG_LEVEL_FATAL",
+ "LOG_LEVEL_ERROR",
+ "LOG_LEVEL_WARN",
+ "LOG_LEVEL_INFO",
+ "LOG_LEVEL_DEBUG"
+ ],
+ "x-order": 10
+ }
+ },
+ "x-order": 17
}
}
}
diff --git a/api/inventory/v1/types/agent_types.go b/api/inventory/v1/types/agent_types.go
index 2ddb4e6dd32..c60dda2f9cc 100644
--- a/api/inventory/v1/types/agent_types.go
+++ b/api/inventory/v1/types/agent_types.go
@@ -37,6 +37,7 @@ const (
AgentTypeExternalExporter = "AGENT_TYPE_EXTERNAL_EXPORTER"
AgentTypeAzureDatabaseExporter = "AGENT_TYPE_AZURE_DATABASE_EXPORTER"
AgentTypeRTAMongoDBAgent = "AGENT_TYPE_RTA_MONGODB_AGENT"
+ AgentTypeRTAMySQLAgent = "AGENT_TYPE_RTA_MYSQL_AGENT"
)
var agentTypeNames = map[string]string{
@@ -60,6 +61,7 @@ var agentTypeNames = map[string]string{
AgentTypeExternalExporter: "external-exporter",
AgentTypeAzureDatabaseExporter: "azure_database_exporter",
AgentTypeRTAMongoDBAgent: "rta_mongodb_agent",
+ AgentTypeRTAMySQLAgent: "rta_mysql_agent",
}
// AgentTypeName returns human friendly agent type to be used in reports.
diff --git a/api/realtimeanalytics/v1/json/client/realtime_analytics_service/list_services_responses.go b/api/realtimeanalytics/v1/json/client/realtime_analytics_service/list_services_responses.go
index a3222654851..0eec6a5477c 100644
--- a/api/realtimeanalytics/v1/json/client/realtime_analytics_service/list_services_responses.go
+++ b/api/realtimeanalytics/v1/json/client/realtime_analytics_service/list_services_responses.go
@@ -419,6 +419,9 @@ swagger:model ListServicesOKBody
type ListServicesOKBody struct {
// mongodb
Mongodb []*ListServicesOKBodyMongodbItems0 `json:"mongodb"`
+
+ // mysql
+ Mysql []*ListServicesOKBodyMysqlItems0 `json:"mysql"`
}
// Validate validates this list services OK body
@@ -429,6 +432,10 @@ func (o *ListServicesOKBody) Validate(formats strfmt.Registry) error {
res = append(res, err)
}
+ if err := o.validateMysql(formats); err != nil {
+ res = append(res, err)
+ }
+
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
@@ -465,6 +472,36 @@ func (o *ListServicesOKBody) validateMongodb(formats strfmt.Registry) error {
return nil
}
+func (o *ListServicesOKBody) validateMysql(formats strfmt.Registry) error {
+ if swag.IsZero(o.Mysql) { // not required
+ return nil
+ }
+
+ for i := 0; i < len(o.Mysql); i++ {
+ if swag.IsZero(o.Mysql[i]) { // not required
+ continue
+ }
+
+ if o.Mysql[i] != nil {
+ if err := o.Mysql[i].Validate(formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("listServicesOk" + "." + "mysql" + "." + strconv.Itoa(i))
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("listServicesOk" + "." + "mysql" + "." + strconv.Itoa(i))
+ }
+
+ return err
+ }
+ }
+
+ }
+
+ return nil
+}
+
// ContextValidate validate this list services OK body based on the context it is used
func (o *ListServicesOKBody) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
@@ -473,6 +510,10 @@ func (o *ListServicesOKBody) ContextValidate(ctx context.Context, formats strfmt
res = append(res, err)
}
+ if err := o.contextValidateMysql(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
@@ -505,6 +546,32 @@ func (o *ListServicesOKBody) contextValidateMongodb(ctx context.Context, formats
return nil
}
+func (o *ListServicesOKBody) contextValidateMysql(ctx context.Context, formats strfmt.Registry) error {
+ for i := 0; i < len(o.Mysql); i++ {
+ if o.Mysql[i] != nil {
+
+ if swag.IsZero(o.Mysql[i]) { // not required
+ return nil
+ }
+
+ if err := o.Mysql[i].ContextValidate(ctx, formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("listServicesOk" + "." + "mysql" + "." + strconv.Itoa(i))
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("listServicesOk" + "." + "mysql" + "." + strconv.Itoa(i))
+ }
+
+ return err
+ }
+ }
+ }
+
+ return nil
+}
+
// MarshalBinary interface implementation
func (o *ListServicesOKBody) MarshalBinary() ([]byte, error) {
if o == nil {
@@ -592,3 +659,76 @@ func (o *ListServicesOKBodyMongodbItems0) UnmarshalBinary(b []byte) error {
*o = res
return nil
}
+
+/*
+ListServicesOKBodyMysqlItems0 MySQLService represents a generic MySQL instance.
+swagger:model ListServicesOKBodyMysqlItems0
+*/
+type ListServicesOKBodyMysqlItems0 struct {
+ // Unique randomly generated instance identifier.
+ ServiceID string `json:"service_id,omitempty"`
+
+ // Unique across all Services user-defined name.
+ ServiceName string `json:"service_name,omitempty"`
+
+ // Node identifier where this instance runs.
+ NodeID string `json:"node_id,omitempty"`
+
+ // Access address (DNS name or IP).
+ // Address (and port) or socket is required.
+ Address string `json:"address,omitempty"`
+
+ // Access port.
+ // Port is required when the address present.
+ Port int64 `json:"port,omitempty"`
+
+ // Access unix socket.
+ // Address (and port) or socket is required.
+ Socket string `json:"socket,omitempty"`
+
+ // Environment name.
+ Environment string `json:"environment,omitempty"`
+
+ // Cluster name.
+ Cluster string `json:"cluster,omitempty"`
+
+ // Replication set name.
+ ReplicationSet string `json:"replication_set,omitempty"`
+
+ // Custom user-assigned labels.
+ CustomLabels map[string]string `json:"custom_labels,omitempty"`
+
+ // MySQL version.
+ Version string `json:"version,omitempty"`
+
+ // Extra parameters to be added to the DSN.
+ ExtraDsnParams map[string]string `json:"extra_dsn_params,omitempty"`
+}
+
+// Validate validates this list services OK body mysql items0
+func (o *ListServicesOKBodyMysqlItems0) Validate(formats strfmt.Registry) error {
+ return nil
+}
+
+// ContextValidate validates this list services OK body mysql items0 based on context it is used
+func (o *ListServicesOKBodyMysqlItems0) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+ return nil
+}
+
+// MarshalBinary interface implementation
+func (o *ListServicesOKBodyMysqlItems0) MarshalBinary() ([]byte, error) {
+ if o == nil {
+ return nil, nil
+ }
+ return swag.WriteJSON(o)
+}
+
+// UnmarshalBinary interface implementation
+func (o *ListServicesOKBodyMysqlItems0) UnmarshalBinary(b []byte) error {
+ var res ListServicesOKBodyMysqlItems0
+ if err := swag.ReadJSON(b, &res); err != nil {
+ return err
+ }
+ *o = res
+ return nil
+}
diff --git a/api/realtimeanalytics/v1/json/client/realtime_analytics_service/list_sessions_responses.go b/api/realtimeanalytics/v1/json/client/realtime_analytics_service/list_sessions_responses.go
index 6ba9293fb18..a35c78d9c3b 100644
--- a/api/realtimeanalytics/v1/json/client/realtime_analytics_service/list_sessions_responses.go
+++ b/api/realtimeanalytics/v1/json/client/realtime_analytics_service/list_sessions_responses.go
@@ -552,6 +552,10 @@ type ListSessionsOKBodySessionsItems0 struct {
// - SESSION_STATUS_DOWN: Session has been stopped or disabled.
// Enum: ["SESSION_STATUS_UNSPECIFIED","SESSION_STATUS_ERROR","SESSION_STATUS_RUNNING","SESSION_STATUS_DOWN"]
Status *string `json:"status,omitempty"`
+
+ // ServiceType describes supported Service types.
+ // Enum: ["SERVICE_TYPE_UNSPECIFIED","SERVICE_TYPE_MYSQL_SERVICE","SERVICE_TYPE_MONGODB_SERVICE","SERVICE_TYPE_POSTGRESQL_SERVICE","SERVICE_TYPE_VALKEY_SERVICE","SERVICE_TYPE_PROXYSQL_SERVICE","SERVICE_TYPE_HAPROXY_SERVICE","SERVICE_TYPE_EXTERNAL_SERVICE"]
+ ServiceType *string `json:"service_type,omitempty"`
}
// Validate validates this list sessions OK body sessions items0
@@ -566,6 +570,10 @@ func (o *ListSessionsOKBodySessionsItems0) Validate(formats strfmt.Registry) err
res = append(res, err)
}
+ if err := o.validateServiceType(formats); err != nil {
+ res = append(res, err)
+ }
+
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
@@ -632,6 +640,66 @@ func (o *ListSessionsOKBodySessionsItems0) validateStatus(formats strfmt.Registr
return nil
}
+var listSessionsOkBodySessionsItems0TypeServiceTypePropEnum []any
+
+func init() {
+ var res []string
+ if err := json.Unmarshal([]byte(`["SERVICE_TYPE_UNSPECIFIED","SERVICE_TYPE_MYSQL_SERVICE","SERVICE_TYPE_MONGODB_SERVICE","SERVICE_TYPE_POSTGRESQL_SERVICE","SERVICE_TYPE_VALKEY_SERVICE","SERVICE_TYPE_PROXYSQL_SERVICE","SERVICE_TYPE_HAPROXY_SERVICE","SERVICE_TYPE_EXTERNAL_SERVICE"]`), &res); err != nil {
+ panic(err)
+ }
+ for _, v := range res {
+ listSessionsOkBodySessionsItems0TypeServiceTypePropEnum = append(listSessionsOkBodySessionsItems0TypeServiceTypePropEnum, v)
+ }
+}
+
+const (
+
+ // ListSessionsOKBodySessionsItems0ServiceTypeSERVICETYPEUNSPECIFIED captures enum value "SERVICE_TYPE_UNSPECIFIED"
+ ListSessionsOKBodySessionsItems0ServiceTypeSERVICETYPEUNSPECIFIED string = "SERVICE_TYPE_UNSPECIFIED"
+
+ // ListSessionsOKBodySessionsItems0ServiceTypeSERVICETYPEMYSQLSERVICE captures enum value "SERVICE_TYPE_MYSQL_SERVICE"
+ ListSessionsOKBodySessionsItems0ServiceTypeSERVICETYPEMYSQLSERVICE string = "SERVICE_TYPE_MYSQL_SERVICE"
+
+ // ListSessionsOKBodySessionsItems0ServiceTypeSERVICETYPEMONGODBSERVICE captures enum value "SERVICE_TYPE_MONGODB_SERVICE"
+ ListSessionsOKBodySessionsItems0ServiceTypeSERVICETYPEMONGODBSERVICE string = "SERVICE_TYPE_MONGODB_SERVICE"
+
+ // ListSessionsOKBodySessionsItems0ServiceTypeSERVICETYPEPOSTGRESQLSERVICE captures enum value "SERVICE_TYPE_POSTGRESQL_SERVICE"
+ ListSessionsOKBodySessionsItems0ServiceTypeSERVICETYPEPOSTGRESQLSERVICE string = "SERVICE_TYPE_POSTGRESQL_SERVICE"
+
+ // ListSessionsOKBodySessionsItems0ServiceTypeSERVICETYPEVALKEYSERVICE captures enum value "SERVICE_TYPE_VALKEY_SERVICE"
+ ListSessionsOKBodySessionsItems0ServiceTypeSERVICETYPEVALKEYSERVICE string = "SERVICE_TYPE_VALKEY_SERVICE"
+
+ // ListSessionsOKBodySessionsItems0ServiceTypeSERVICETYPEPROXYSQLSERVICE captures enum value "SERVICE_TYPE_PROXYSQL_SERVICE"
+ ListSessionsOKBodySessionsItems0ServiceTypeSERVICETYPEPROXYSQLSERVICE string = "SERVICE_TYPE_PROXYSQL_SERVICE"
+
+ // ListSessionsOKBodySessionsItems0ServiceTypeSERVICETYPEHAPROXYSERVICE captures enum value "SERVICE_TYPE_HAPROXY_SERVICE"
+ ListSessionsOKBodySessionsItems0ServiceTypeSERVICETYPEHAPROXYSERVICE string = "SERVICE_TYPE_HAPROXY_SERVICE"
+
+ // ListSessionsOKBodySessionsItems0ServiceTypeSERVICETYPEEXTERNALSERVICE captures enum value "SERVICE_TYPE_EXTERNAL_SERVICE"
+ ListSessionsOKBodySessionsItems0ServiceTypeSERVICETYPEEXTERNALSERVICE string = "SERVICE_TYPE_EXTERNAL_SERVICE"
+)
+
+// prop value enum
+func (o *ListSessionsOKBodySessionsItems0) validateServiceTypeEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, listSessionsOkBodySessionsItems0TypeServiceTypePropEnum, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *ListSessionsOKBodySessionsItems0) validateServiceType(formats strfmt.Registry) error {
+ if swag.IsZero(o.ServiceType) { // not required
+ return nil
+ }
+
+ // value enum
+ if err := o.validateServiceTypeEnum("service_type", "body", *o.ServiceType); err != nil {
+ return err
+ }
+
+ return nil
+}
+
// ContextValidate validates this list sessions OK body sessions items0 based on context it is used
func (o *ListSessionsOKBodySessionsItems0) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
diff --git a/api/realtimeanalytics/v1/json/client/realtime_analytics_service/search_queries_responses.go b/api/realtimeanalytics/v1/json/client/realtime_analytics_service/search_queries_responses.go
index 49e2f7af6c9..56c16dfa3f4 100644
--- a/api/realtimeanalytics/v1/json/client/realtime_analytics_service/search_queries_responses.go
+++ b/api/realtimeanalytics/v1/json/client/realtime_analytics_service/search_queries_responses.go
@@ -597,6 +597,9 @@ type SearchQueriesOKBodyQueriesItems0 struct {
// mongo db payload
MongoDBPayload *SearchQueriesOKBodyQueriesItems0MongoDBPayload `json:"mongo_db_payload,omitempty"`
+
+ // my sql payload
+ MySQLPayload *SearchQueriesOKBodyQueriesItems0MySQLPayload `json:"my_sql_payload,omitempty"`
}
// Validate validates this search queries OK body queries items0
@@ -611,6 +614,10 @@ func (o *SearchQueriesOKBodyQueriesItems0) Validate(formats strfmt.Registry) err
res = append(res, err)
}
+ if err := o.validateMySQLPayload(formats); err != nil {
+ res = append(res, err)
+ }
+
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
@@ -652,6 +659,29 @@ func (o *SearchQueriesOKBodyQueriesItems0) validateMongoDBPayload(formats strfmt
return nil
}
+func (o *SearchQueriesOKBodyQueriesItems0) validateMySQLPayload(formats strfmt.Registry) error {
+ if swag.IsZero(o.MySQLPayload) { // not required
+ return nil
+ }
+
+ if o.MySQLPayload != nil {
+ if err := o.MySQLPayload.Validate(formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("my_sql_payload")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("my_sql_payload")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
// ContextValidate validate this search queries OK body queries items0 based on the context it is used
func (o *SearchQueriesOKBodyQueriesItems0) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
@@ -660,6 +690,10 @@ func (o *SearchQueriesOKBodyQueriesItems0) ContextValidate(ctx context.Context,
res = append(res, err)
}
+ if err := o.contextValidateMySQLPayload(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
@@ -690,6 +724,30 @@ func (o *SearchQueriesOKBodyQueriesItems0) contextValidateMongoDBPayload(ctx con
return nil
}
+func (o *SearchQueriesOKBodyQueriesItems0) contextValidateMySQLPayload(ctx context.Context, formats strfmt.Registry) error {
+ if o.MySQLPayload != nil {
+
+ if swag.IsZero(o.MySQLPayload) { // not required
+ return nil
+ }
+
+ if err := o.MySQLPayload.ContextValidate(ctx, formats); err != nil {
+ ve := new(errors.Validation)
+ if stderrors.As(err, &ve) {
+ return ve.ValidateName("my_sql_payload")
+ }
+ ce := new(errors.CompositeError)
+ if stderrors.As(err, &ce) {
+ return ce.ValidateName("my_sql_payload")
+ }
+
+ return err
+ }
+ }
+
+ return nil
+}
+
// MarshalBinary interface implementation
func (o *SearchQueriesOKBodyQueriesItems0) MarshalBinary() ([]byte, error) {
if o == nil {
@@ -787,3 +845,65 @@ func (o *SearchQueriesOKBodyQueriesItems0MongoDBPayload) UnmarshalBinary(b []byt
*o = res
return nil
}
+
+/*
+SearchQueriesOKBodyQueriesItems0MySQLPayload QueryMySQLData holds MySQL-specific Real-Time Analytics query information.
+// The data is sourced from the sys.x$processlist view.
+swagger:model SearchQueriesOKBodyQueriesItems0MySQLPayload
+*/
+type SearchQueriesOKBodyQueriesItems0MySQLPayload struct {
+ // MySQL instance address(host:port) that processing the query.
+ DBInstanceAddress string `json:"db_instance_address,omitempty"`
+
+ // Client program name connected to MySQL (program_name from sys.x$processlist).
+ ProgramName string `json:"program_name,omitempty"`
+
+ // Database name (db from sys.x$processlist).
+ DatabaseName string `json:"database_name,omitempty"`
+
+ // Command type the connection is executing ("Query", "Execute", etc).
+ Command string `json:"command,omitempty"`
+
+ // State of the connection/thread (for example "Sending data").
+ State string `json:"state,omitempty"`
+
+ // MySQL user name associated with the query.
+ Username string `json:"username,omitempty"`
+
+ // Number of rows examined by the statement so far.
+ RowsExamined string `json:"rows_examined,omitempty"`
+
+ // Number of rows sent by the statement so far.
+ RowsSent string `json:"rows_sent,omitempty"`
+
+ // Indicates whether the statement performed a full table scan.
+ FullScan bool `json:"full_scan,omitempty"`
+}
+
+// Validate validates this search queries OK body queries items0 my SQL payload
+func (o *SearchQueriesOKBodyQueriesItems0MySQLPayload) Validate(formats strfmt.Registry) error {
+ return nil
+}
+
+// ContextValidate validates this search queries OK body queries items0 my SQL payload based on context it is used
+func (o *SearchQueriesOKBodyQueriesItems0MySQLPayload) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+ return nil
+}
+
+// MarshalBinary interface implementation
+func (o *SearchQueriesOKBodyQueriesItems0MySQLPayload) MarshalBinary() ([]byte, error) {
+ if o == nil {
+ return nil, nil
+ }
+ return swag.WriteJSON(o)
+}
+
+// UnmarshalBinary interface implementation
+func (o *SearchQueriesOKBodyQueriesItems0MySQLPayload) UnmarshalBinary(b []byte) error {
+ var res SearchQueriesOKBodyQueriesItems0MySQLPayload
+ if err := swag.ReadJSON(b, &res); err != nil {
+ return err
+ }
+ *o = res
+ return nil
+}
diff --git a/api/realtimeanalytics/v1/json/client/realtime_analytics_service/start_session_responses.go b/api/realtimeanalytics/v1/json/client/realtime_analytics_service/start_session_responses.go
index 33aed86a239..9cba746fe6a 100644
--- a/api/realtimeanalytics/v1/json/client/realtime_analytics_service/start_session_responses.go
+++ b/api/realtimeanalytics/v1/json/client/realtime_analytics_service/start_session_responses.go
@@ -580,6 +580,10 @@ type StartSessionOKBodySession struct {
// - SESSION_STATUS_DOWN: Session has been stopped or disabled.
// Enum: ["SESSION_STATUS_UNSPECIFIED","SESSION_STATUS_ERROR","SESSION_STATUS_RUNNING","SESSION_STATUS_DOWN"]
Status *string `json:"status,omitempty"`
+
+ // ServiceType describes supported Service types.
+ // Enum: ["SERVICE_TYPE_UNSPECIFIED","SERVICE_TYPE_MYSQL_SERVICE","SERVICE_TYPE_MONGODB_SERVICE","SERVICE_TYPE_POSTGRESQL_SERVICE","SERVICE_TYPE_VALKEY_SERVICE","SERVICE_TYPE_PROXYSQL_SERVICE","SERVICE_TYPE_HAPROXY_SERVICE","SERVICE_TYPE_EXTERNAL_SERVICE"]
+ ServiceType *string `json:"service_type,omitempty"`
}
// Validate validates this start session OK body session
@@ -594,6 +598,10 @@ func (o *StartSessionOKBodySession) Validate(formats strfmt.Registry) error {
res = append(res, err)
}
+ if err := o.validateServiceType(formats); err != nil {
+ res = append(res, err)
+ }
+
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
@@ -660,6 +668,66 @@ func (o *StartSessionOKBodySession) validateStatus(formats strfmt.Registry) erro
return nil
}
+var startSessionOkBodySessionTypeServiceTypePropEnum []any
+
+func init() {
+ var res []string
+ if err := json.Unmarshal([]byte(`["SERVICE_TYPE_UNSPECIFIED","SERVICE_TYPE_MYSQL_SERVICE","SERVICE_TYPE_MONGODB_SERVICE","SERVICE_TYPE_POSTGRESQL_SERVICE","SERVICE_TYPE_VALKEY_SERVICE","SERVICE_TYPE_PROXYSQL_SERVICE","SERVICE_TYPE_HAPROXY_SERVICE","SERVICE_TYPE_EXTERNAL_SERVICE"]`), &res); err != nil {
+ panic(err)
+ }
+ for _, v := range res {
+ startSessionOkBodySessionTypeServiceTypePropEnum = append(startSessionOkBodySessionTypeServiceTypePropEnum, v)
+ }
+}
+
+const (
+
+ // StartSessionOKBodySessionServiceTypeSERVICETYPEUNSPECIFIED captures enum value "SERVICE_TYPE_UNSPECIFIED"
+ StartSessionOKBodySessionServiceTypeSERVICETYPEUNSPECIFIED string = "SERVICE_TYPE_UNSPECIFIED"
+
+ // StartSessionOKBodySessionServiceTypeSERVICETYPEMYSQLSERVICE captures enum value "SERVICE_TYPE_MYSQL_SERVICE"
+ StartSessionOKBodySessionServiceTypeSERVICETYPEMYSQLSERVICE string = "SERVICE_TYPE_MYSQL_SERVICE"
+
+ // StartSessionOKBodySessionServiceTypeSERVICETYPEMONGODBSERVICE captures enum value "SERVICE_TYPE_MONGODB_SERVICE"
+ StartSessionOKBodySessionServiceTypeSERVICETYPEMONGODBSERVICE string = "SERVICE_TYPE_MONGODB_SERVICE"
+
+ // StartSessionOKBodySessionServiceTypeSERVICETYPEPOSTGRESQLSERVICE captures enum value "SERVICE_TYPE_POSTGRESQL_SERVICE"
+ StartSessionOKBodySessionServiceTypeSERVICETYPEPOSTGRESQLSERVICE string = "SERVICE_TYPE_POSTGRESQL_SERVICE"
+
+ // StartSessionOKBodySessionServiceTypeSERVICETYPEVALKEYSERVICE captures enum value "SERVICE_TYPE_VALKEY_SERVICE"
+ StartSessionOKBodySessionServiceTypeSERVICETYPEVALKEYSERVICE string = "SERVICE_TYPE_VALKEY_SERVICE"
+
+ // StartSessionOKBodySessionServiceTypeSERVICETYPEPROXYSQLSERVICE captures enum value "SERVICE_TYPE_PROXYSQL_SERVICE"
+ StartSessionOKBodySessionServiceTypeSERVICETYPEPROXYSQLSERVICE string = "SERVICE_TYPE_PROXYSQL_SERVICE"
+
+ // StartSessionOKBodySessionServiceTypeSERVICETYPEHAPROXYSERVICE captures enum value "SERVICE_TYPE_HAPROXY_SERVICE"
+ StartSessionOKBodySessionServiceTypeSERVICETYPEHAPROXYSERVICE string = "SERVICE_TYPE_HAPROXY_SERVICE"
+
+ // StartSessionOKBodySessionServiceTypeSERVICETYPEEXTERNALSERVICE captures enum value "SERVICE_TYPE_EXTERNAL_SERVICE"
+ StartSessionOKBodySessionServiceTypeSERVICETYPEEXTERNALSERVICE string = "SERVICE_TYPE_EXTERNAL_SERVICE"
+)
+
+// prop value enum
+func (o *StartSessionOKBodySession) validateServiceTypeEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, startSessionOkBodySessionTypeServiceTypePropEnum, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *StartSessionOKBodySession) validateServiceType(formats strfmt.Registry) error {
+ if swag.IsZero(o.ServiceType) { // not required
+ return nil
+ }
+
+ // value enum
+ if err := o.validateServiceTypeEnum("startSessionOk"+"."+"session"+"."+"service_type", "body", *o.ServiceType); err != nil {
+ return err
+ }
+
+ return nil
+}
+
// ContextValidate validates this start session OK body session based on context it is used
func (o *StartSessionOKBodySession) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
diff --git a/api/realtimeanalytics/v1/json/v1.json b/api/realtimeanalytics/v1/json/v1.json
index d79d757cc40..0b1b32c5b09 100644
--- a/api/realtimeanalytics/v1/json/v1.json
+++ b/api/realtimeanalytics/v1/json/v1.json
@@ -153,6 +153,60 @@
}
},
"x-order": 8
+ },
+ "my_sql_payload": {
+ "description": "QueryMySQLData holds MySQL-specific Real-Time Analytics query information.\nThe data is sourced from the sys.x$processlist view.",
+ "type": "object",
+ "properties": {
+ "db_instance_address": {
+ "description": "MySQL instance address(host:port) that processing the query.",
+ "type": "string",
+ "x-order": 0
+ },
+ "program_name": {
+ "description": "Client program name connected to MySQL (program_name from sys.x$processlist).",
+ "type": "string",
+ "x-order": 1
+ },
+ "database_name": {
+ "description": "Database name (db from sys.x$processlist).",
+ "type": "string",
+ "x-order": 2
+ },
+ "command": {
+ "description": "Command type the connection is executing (\"Query\", \"Execute\", etc).",
+ "type": "string",
+ "x-order": 3
+ },
+ "state": {
+ "description": "State of the connection/thread (for example \"Sending data\").",
+ "type": "string",
+ "x-order": 4
+ },
+ "username": {
+ "description": "MySQL user name associated with the query.",
+ "type": "string",
+ "x-order": 5
+ },
+ "rows_examined": {
+ "description": "Number of rows examined by the statement so far.",
+ "type": "string",
+ "format": "int64",
+ "x-order": 6
+ },
+ "rows_sent": {
+ "description": "Number of rows sent by the statement so far.",
+ "type": "string",
+ "format": "int64",
+ "x-order": 7
+ },
+ "full_scan": {
+ "description": "Indicates whether the statement performed a full table scan.",
+ "type": "boolean",
+ "x-order": 8
+ }
+ },
+ "x-order": 9
}
}
},
@@ -296,6 +350,83 @@
}
},
"x-order": 0
+ },
+ "mysql": {
+ "type": "array",
+ "items": {
+ "description": "MySQLService represents a generic MySQL instance.",
+ "type": "object",
+ "properties": {
+ "service_id": {
+ "description": "Unique randomly generated instance identifier.",
+ "type": "string",
+ "x-order": 0
+ },
+ "service_name": {
+ "description": "Unique across all Services user-defined name.",
+ "type": "string",
+ "x-order": 1
+ },
+ "node_id": {
+ "description": "Node identifier where this instance runs.",
+ "type": "string",
+ "x-order": 2
+ },
+ "address": {
+ "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.",
+ "type": "string",
+ "x-order": 3
+ },
+ "port": {
+ "description": "Access port.\nPort is required when the address present.",
+ "type": "integer",
+ "format": "int64",
+ "x-order": 4
+ },
+ "socket": {
+ "description": "Access unix socket.\nAddress (and port) or socket is required.",
+ "type": "string",
+ "x-order": 5
+ },
+ "environment": {
+ "description": "Environment name.",
+ "type": "string",
+ "x-order": 6
+ },
+ "cluster": {
+ "description": "Cluster name.",
+ "type": "string",
+ "x-order": 7
+ },
+ "replication_set": {
+ "description": "Replication set name.",
+ "type": "string",
+ "x-order": 8
+ },
+ "custom_labels": {
+ "description": "Custom user-assigned labels.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 9
+ },
+ "version": {
+ "description": "MySQL version.",
+ "type": "string",
+ "x-order": 10
+ },
+ "extra_dsn_params": {
+ "description": "Extra parameters to be added to the DSN.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 11
+ }
+ }
+ },
+ "x-order": 1
}
}
}
@@ -401,6 +532,22 @@
"SESSION_STATUS_DOWN"
],
"x-order": 5
+ },
+ "service_type": {
+ "description": "ServiceType describes supported Service types.",
+ "type": "string",
+ "default": "SERVICE_TYPE_UNSPECIFIED",
+ "enum": [
+ "SERVICE_TYPE_UNSPECIFIED",
+ "SERVICE_TYPE_MYSQL_SERVICE",
+ "SERVICE_TYPE_MONGODB_SERVICE",
+ "SERVICE_TYPE_POSTGRESQL_SERVICE",
+ "SERVICE_TYPE_VALKEY_SERVICE",
+ "SERVICE_TYPE_PROXYSQL_SERVICE",
+ "SERVICE_TYPE_HAPROXY_SERVICE",
+ "SERVICE_TYPE_EXTERNAL_SERVICE"
+ ],
+ "x-order": 6
}
}
},
@@ -518,6 +665,22 @@
"SESSION_STATUS_DOWN"
],
"x-order": 5
+ },
+ "service_type": {
+ "description": "ServiceType describes supported Service types.",
+ "type": "string",
+ "default": "SERVICE_TYPE_UNSPECIFIED",
+ "enum": [
+ "SERVICE_TYPE_UNSPECIFIED",
+ "SERVICE_TYPE_MYSQL_SERVICE",
+ "SERVICE_TYPE_MONGODB_SERVICE",
+ "SERVICE_TYPE_POSTGRESQL_SERVICE",
+ "SERVICE_TYPE_VALKEY_SERVICE",
+ "SERVICE_TYPE_PROXYSQL_SERVICE",
+ "SERVICE_TYPE_HAPROXY_SERVICE",
+ "SERVICE_TYPE_EXTERNAL_SERVICE"
+ ],
+ "x-order": 6
}
},
"x-order": 0
diff --git a/api/realtimeanalytics/v1/query.pb.go b/api/realtimeanalytics/v1/query.pb.go
index 43c4a1bdd5c..78f7acfa667 100644
--- a/api/realtimeanalytics/v1/query.pb.go
+++ b/api/realtimeanalytics/v1/query.pb.go
@@ -135,6 +135,125 @@ func (x *QueryMongoDBData) GetPlanSummary() string {
return ""
}
+// QueryMySQLData holds MySQL-specific Real-Time Analytics query information.
+// The data is sourced from the sys.x$processlist view.
+type QueryMySQLData struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ // MySQL instance address(host:port) that processing the query.
+ DbInstanceAddress string `protobuf:"bytes,1,opt,name=db_instance_address,json=dbInstanceAddress,proto3" json:"db_instance_address,omitempty"`
+ // Client program name connected to MySQL (program_name from sys.x$processlist).
+ ProgramName string `protobuf:"bytes,2,opt,name=program_name,json=programName,proto3" json:"program_name,omitempty"`
+ // Database name (db from sys.x$processlist).
+ DatabaseName string `protobuf:"bytes,3,opt,name=database_name,json=databaseName,proto3" json:"database_name,omitempty"`
+ // Command type the connection is executing ("Query", "Execute", etc).
+ Command string `protobuf:"bytes,4,opt,name=command,proto3" json:"command,omitempty"`
+ // State of the connection/thread (for example "Sending data").
+ State string `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"`
+ // MySQL user name associated with the query.
+ Username string `protobuf:"bytes,6,opt,name=username,proto3" json:"username,omitempty"`
+ // Number of rows examined by the statement so far.
+ RowsExamined int64 `protobuf:"varint,7,opt,name=rows_examined,json=rowsExamined,proto3" json:"rows_examined,omitempty"`
+ // Number of rows sent by the statement so far.
+ RowsSent int64 `protobuf:"varint,8,opt,name=rows_sent,json=rowsSent,proto3" json:"rows_sent,omitempty"`
+ // Indicates whether the statement performed a full table scan.
+ FullScan bool `protobuf:"varint,9,opt,name=full_scan,json=fullScan,proto3" json:"full_scan,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *QueryMySQLData) Reset() {
+ *x = QueryMySQLData{}
+ mi := &file_realtimeanalytics_v1_query_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *QueryMySQLData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QueryMySQLData) ProtoMessage() {}
+
+func (x *QueryMySQLData) ProtoReflect() protoreflect.Message {
+ mi := &file_realtimeanalytics_v1_query_proto_msgTypes[1]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QueryMySQLData.ProtoReflect.Descriptor instead.
+func (*QueryMySQLData) Descriptor() ([]byte, []int) {
+ return file_realtimeanalytics_v1_query_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *QueryMySQLData) GetDbInstanceAddress() string {
+ if x != nil {
+ return x.DbInstanceAddress
+ }
+ return ""
+}
+
+func (x *QueryMySQLData) GetProgramName() string {
+ if x != nil {
+ return x.ProgramName
+ }
+ return ""
+}
+
+func (x *QueryMySQLData) GetDatabaseName() string {
+ if x != nil {
+ return x.DatabaseName
+ }
+ return ""
+}
+
+func (x *QueryMySQLData) GetCommand() string {
+ if x != nil {
+ return x.Command
+ }
+ return ""
+}
+
+func (x *QueryMySQLData) GetState() string {
+ if x != nil {
+ return x.State
+ }
+ return ""
+}
+
+func (x *QueryMySQLData) GetUsername() string {
+ if x != nil {
+ return x.Username
+ }
+ return ""
+}
+
+func (x *QueryMySQLData) GetRowsExamined() int64 {
+ if x != nil {
+ return x.RowsExamined
+ }
+ return 0
+}
+
+func (x *QueryMySQLData) GetRowsSent() int64 {
+ if x != nil {
+ return x.RowsSent
+ }
+ return 0
+}
+
+func (x *QueryMySQLData) GetFullScan() bool {
+ if x != nil {
+ return x.FullScan
+ }
+ return false
+}
+
// QueryData represents a single Real-Time Analytics query data point.
// It includes general query information and a payload for database-specific details.
type QueryData struct {
@@ -160,6 +279,7 @@ type QueryData struct {
// Types that are valid to be assigned to Payload:
//
// *QueryData_MongoDbPayload
+ // *QueryData_MySqlPayload
Payload isQueryData_Payload `protobuf_oneof:"payload"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
@@ -167,7 +287,7 @@ type QueryData struct {
func (x *QueryData) Reset() {
*x = QueryData{}
- mi := &file_realtimeanalytics_v1_query_proto_msgTypes[1]
+ mi := &file_realtimeanalytics_v1_query_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -179,7 +299,7 @@ func (x *QueryData) String() string {
func (*QueryData) ProtoMessage() {}
func (x *QueryData) ProtoReflect() protoreflect.Message {
- mi := &file_realtimeanalytics_v1_query_proto_msgTypes[1]
+ mi := &file_realtimeanalytics_v1_query_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -192,7 +312,7 @@ func (x *QueryData) ProtoReflect() protoreflect.Message {
// Deprecated: Use QueryData.ProtoReflect.Descriptor instead.
func (*QueryData) Descriptor() ([]byte, []int) {
- return file_realtimeanalytics_v1_query_proto_rawDescGZIP(), []int{1}
+ return file_realtimeanalytics_v1_query_proto_rawDescGZIP(), []int{2}
}
func (x *QueryData) GetServiceId() string {
@@ -267,6 +387,15 @@ func (x *QueryData) GetMongoDbPayload() *QueryMongoDBData {
return nil
}
+func (x *QueryData) GetMySqlPayload() *QueryMySQLData {
+ if x != nil {
+ if x, ok := x.Payload.(*QueryData_MySqlPayload); ok {
+ return x.MySqlPayload
+ }
+ }
+ return nil
+}
+
type isQueryData_Payload interface {
isQueryData_Payload()
}
@@ -276,8 +405,15 @@ type QueryData_MongoDbPayload struct {
MongoDbPayload *QueryMongoDBData `protobuf:"bytes,9,opt,name=mongo_db_payload,json=mongoDbPayload,proto3,oneof"`
}
+type QueryData_MySqlPayload struct {
+ // MySQL-specific query data.
+ MySqlPayload *QueryMySQLData `protobuf:"bytes,10,opt,name=my_sql_payload,json=mySqlPayload,proto3,oneof"`
+}
+
func (*QueryData_MongoDbPayload) isQueryData_Payload() {}
+func (*QueryData_MySqlPayload) isQueryData_Payload() {}
+
var File_realtimeanalytics_v1_query_proto protoreflect.FileDescriptor
const file_realtimeanalytics_v1_query_proto_rawDesc = "" +
@@ -293,7 +429,17 @@ const file_realtimeanalytics_v1_query_proto_rawDesc = "" +
"\toperation\x18\x05 \x01(\tR\toperation\x12L\n" +
"\x14operation_start_time\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\x12operationStartTime\x12 \n" +
"\busername\x18\a \x01(\tB\x04\x88\xb5\x18\x01R\busername\x12!\n" +
- "\fplan_summary\x18\b \x01(\tR\vplanSummary\"\xd2\x03\n" +
+ "\fplan_summary\x18\b \x01(\tR\vplanSummary\"\xb9\x02\n" +
+ "\x0eQueryMySQLData\x12.\n" +
+ "\x13db_instance_address\x18\x01 \x01(\tR\x11dbInstanceAddress\x12!\n" +
+ "\fprogram_name\x18\x02 \x01(\tR\vprogramName\x12#\n" +
+ "\rdatabase_name\x18\x03 \x01(\tR\fdatabaseName\x12\x18\n" +
+ "\acommand\x18\x04 \x01(\tR\acommand\x12\x14\n" +
+ "\x05state\x18\x05 \x01(\tR\x05state\x12 \n" +
+ "\busername\x18\x06 \x01(\tB\x04\x88\xb5\x18\x01R\busername\x12#\n" +
+ "\rrows_examined\x18\a \x01(\x03R\frowsExamined\x12\x1b\n" +
+ "\trows_sent\x18\b \x01(\x03R\browsSent\x12\x1b\n" +
+ "\tfull_scan\x18\t \x01(\bR\bfullScan\"\xa0\x04\n" +
"\tQueryData\x12\x1d\n" +
"\n" +
"service_id\x18\x01 \x01(\tR\tserviceId\x12!\n" +
@@ -305,7 +451,9 @@ const file_realtimeanalytics_v1_query_proto_rawDesc = "" +
"\x18query_execution_duration\x18\x06 \x01(\v2\x19.google.protobuf.DurationR\x16queryExecutionDuration\x12H\n" +
"\x12query_collect_time\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\x10queryCollectTime\x12%\n" +
"\x0eclient_address\x18\b \x01(\tR\rclientAddress\x12R\n" +
- "\x10mongo_db_payload\x18\t \x01(\v2&.realtimeanalytics.v1.QueryMongoDBDataH\x00R\x0emongoDbPayloadB\t\n" +
+ "\x10mongo_db_payload\x18\t \x01(\v2&.realtimeanalytics.v1.QueryMongoDBDataH\x00R\x0emongoDbPayload\x12L\n" +
+ "\x0emy_sql_payload\x18\n" +
+ " \x01(\v2$.realtimeanalytics.v1.QueryMySQLDataH\x00R\fmySqlPayloadB\t\n" +
"\apayloadB\xdc\x01\n" +
"\x18com.realtimeanalytics.v1B\n" +
"QueryProtoP\x01ZCgithub.com/percona/pmm/api/realtimeanalytics/v1;realtimeanalyticsv1\xa2\x02\x03RXX\xaa\x02\x14Realtimeanalytics.V1\xca\x02\x14Realtimeanalytics\\V1\xe2\x02 Realtimeanalytics\\V1\\GPBMetadata\xea\x02\x15Realtimeanalytics::V1b\x06proto3"
@@ -323,25 +471,27 @@ func file_realtimeanalytics_v1_query_proto_rawDescGZIP() []byte {
}
var (
- file_realtimeanalytics_v1_query_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+ file_realtimeanalytics_v1_query_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
file_realtimeanalytics_v1_query_proto_goTypes = []any{
(*QueryMongoDBData)(nil), // 0: realtimeanalytics.v1.QueryMongoDBData
- (*QueryData)(nil), // 1: realtimeanalytics.v1.QueryData
- (*timestamppb.Timestamp)(nil), // 2: google.protobuf.Timestamp
- (*durationpb.Duration)(nil), // 3: google.protobuf.Duration
+ (*QueryMySQLData)(nil), // 1: realtimeanalytics.v1.QueryMySQLData
+ (*QueryData)(nil), // 2: realtimeanalytics.v1.QueryData
+ (*timestamppb.Timestamp)(nil), // 3: google.protobuf.Timestamp
+ (*durationpb.Duration)(nil), // 4: google.protobuf.Duration
}
)
var file_realtimeanalytics_v1_query_proto_depIdxs = []int32{
- 2, // 0: realtimeanalytics.v1.QueryMongoDBData.operation_start_time:type_name -> google.protobuf.Timestamp
- 3, // 1: realtimeanalytics.v1.QueryData.query_execution_duration:type_name -> google.protobuf.Duration
- 2, // 2: realtimeanalytics.v1.QueryData.query_collect_time:type_name -> google.protobuf.Timestamp
+ 3, // 0: realtimeanalytics.v1.QueryMongoDBData.operation_start_time:type_name -> google.protobuf.Timestamp
+ 4, // 1: realtimeanalytics.v1.QueryData.query_execution_duration:type_name -> google.protobuf.Duration
+ 3, // 2: realtimeanalytics.v1.QueryData.query_collect_time:type_name -> google.protobuf.Timestamp
0, // 3: realtimeanalytics.v1.QueryData.mongo_db_payload:type_name -> realtimeanalytics.v1.QueryMongoDBData
- 4, // [4:4] is the sub-list for method output_type
- 4, // [4:4] is the sub-list for method input_type
- 4, // [4:4] is the sub-list for extension type_name
- 4, // [4:4] is the sub-list for extension extendee
- 0, // [0:4] is the sub-list for field type_name
+ 1, // 4: realtimeanalytics.v1.QueryData.my_sql_payload:type_name -> realtimeanalytics.v1.QueryMySQLData
+ 5, // [5:5] is the sub-list for method output_type
+ 5, // [5:5] is the sub-list for method input_type
+ 5, // [5:5] is the sub-list for extension type_name
+ 5, // [5:5] is the sub-list for extension extendee
+ 0, // [0:5] is the sub-list for field type_name
}
func init() { file_realtimeanalytics_v1_query_proto_init() }
@@ -349,8 +499,9 @@ func file_realtimeanalytics_v1_query_proto_init() {
if File_realtimeanalytics_v1_query_proto != nil {
return
}
- file_realtimeanalytics_v1_query_proto_msgTypes[1].OneofWrappers = []any{
+ file_realtimeanalytics_v1_query_proto_msgTypes[2].OneofWrappers = []any{
(*QueryData_MongoDbPayload)(nil),
+ (*QueryData_MySqlPayload)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
@@ -358,7 +509,7 @@ func file_realtimeanalytics_v1_query_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_realtimeanalytics_v1_query_proto_rawDesc), len(file_realtimeanalytics_v1_query_proto_rawDesc)),
NumEnums: 0,
- NumMessages: 2,
+ NumMessages: 3,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/api/realtimeanalytics/v1/query.pb.validate.go b/api/realtimeanalytics/v1/query.pb.validate.go
index af551461acf..7182be95a9d 100644
--- a/api/realtimeanalytics/v1/query.pb.validate.go
+++ b/api/realtimeanalytics/v1/query.pb.validate.go
@@ -179,6 +179,125 @@ var _ interface {
ErrorName() string
} = QueryMongoDBDataValidationError{}
+// Validate checks the field values on QueryMySQLData with the rules defined in
+// the proto definition for this message. If any rules are violated, the first
+// error encountered is returned, or nil if there are no violations.
+func (m *QueryMySQLData) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on QueryMySQLData with the rules defined
+// in the proto definition for this message. If any rules are violated, the
+// result is a list of violation errors wrapped in QueryMySQLDataMultiError,
+// or nil if none found.
+func (m *QueryMySQLData) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *QueryMySQLData) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for DbInstanceAddress
+
+ // no validation rules for ProgramName
+
+ // no validation rules for DatabaseName
+
+ // no validation rules for Command
+
+ // no validation rules for State
+
+ // no validation rules for Username
+
+ // no validation rules for RowsExamined
+
+ // no validation rules for RowsSent
+
+ // no validation rules for FullScan
+
+ if len(errors) > 0 {
+ return QueryMySQLDataMultiError(errors)
+ }
+
+ return nil
+}
+
+// QueryMySQLDataMultiError is an error wrapping multiple validation errors
+// returned by QueryMySQLData.ValidateAll() if the designated constraints
+// aren't met.
+type QueryMySQLDataMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m QueryMySQLDataMultiError) Error() string {
+ msgs := make([]string, 0, len(m))
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m QueryMySQLDataMultiError) AllErrors() []error { return m }
+
+// QueryMySQLDataValidationError is the validation error returned by
+// QueryMySQLData.Validate if the designated constraints aren't met.
+type QueryMySQLDataValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e QueryMySQLDataValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e QueryMySQLDataValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e QueryMySQLDataValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e QueryMySQLDataValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e QueryMySQLDataValidationError) ErrorName() string { return "QueryMySQLDataValidationError" }
+
+// Error satisfies the builtin error interface
+func (e QueryMySQLDataValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sQueryMySQLData.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause,
+ )
+}
+
+var _ error = QueryMySQLDataValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = QueryMySQLDataValidationError{}
+
// Validate checks the field values on QueryData with the rules defined in the
// proto definition for this message. If any rules are violated, the first
// error encountered is returned, or nil if there are no violations.
@@ -313,6 +432,47 @@ func (m *QueryData) validate(all bool) error {
}
}
+ case *QueryData_MySqlPayload:
+ if v == nil {
+ err := QueryDataValidationError{
+ field: "Payload",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ if all {
+ switch v := interface{}(m.GetMySqlPayload()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, QueryDataValidationError{
+ field: "MySqlPayload",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, QueryDataValidationError{
+ field: "MySqlPayload",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetMySqlPayload()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return QueryDataValidationError{
+ field: "MySqlPayload",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
default:
_ = v // ensures v is used
}
diff --git a/api/realtimeanalytics/v1/query.proto b/api/realtimeanalytics/v1/query.proto
index 7732e321f79..04e018d56ed 100644
--- a/api/realtimeanalytics/v1/query.proto
+++ b/api/realtimeanalytics/v1/query.proto
@@ -26,6 +26,29 @@ message QueryMongoDBData {
string plan_summary = 8;
}
+// QueryMySQLData holds MySQL-specific Real-Time Analytics query information.
+// The data is sourced from the sys.x$processlist view.
+message QueryMySQLData {
+ // MySQL instance address(host:port) that processing the query.
+ string db_instance_address = 1;
+ // Client program name connected to MySQL (program_name from sys.x$processlist).
+ string program_name = 2;
+ // Database name (db from sys.x$processlist).
+ string database_name = 3;
+ // Command type the connection is executing ("Query", "Execute", etc).
+ string command = 4;
+ // State of the connection/thread (for example "Sending data").
+ string state = 5;
+ // MySQL user name associated with the query.
+ string username = 6 [(extensions.v1.sensitive) = REDACT_TYPE_FULL];
+ // Number of rows examined by the statement so far.
+ int64 rows_examined = 7;
+ // Number of rows sent by the statement so far.
+ int64 rows_sent = 8;
+ // Indicates whether the statement performed a full table scan.
+ bool full_scan = 9;
+}
+
// QueryData represents a single Real-Time Analytics query data point.
// It includes general query information and a payload for database-specific details.
message QueryData {
@@ -49,5 +72,7 @@ message QueryData {
oneof payload {
// MongoDB-specific query data.
QueryMongoDBData mongo_db_payload = 9;
+ // MySQL-specific query data.
+ QueryMySQLData my_sql_payload = 10;
}
}
diff --git a/api/realtimeanalytics/v1/realtimeanalytics.pb.go b/api/realtimeanalytics/v1/realtimeanalytics.pb.go
index 8dbdbf8ccff..f29867e5e75 100644
--- a/api/realtimeanalytics/v1/realtimeanalytics.pb.go
+++ b/api/realtimeanalytics/v1/realtimeanalytics.pb.go
@@ -133,6 +133,7 @@ func (x *ListServicesRequest) GetServiceType() v1.ServiceType {
type ListServicesResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Mongodb []*v1.MongoDBService `protobuf:"bytes,1,rep,name=mongodb,proto3" json:"mongodb,omitempty"`
+ Mysql []*v1.MySQLService `protobuf:"bytes,2,rep,name=mysql,proto3" json:"mysql,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
@@ -174,6 +175,13 @@ func (x *ListServicesResponse) GetMongodb() []*v1.MongoDBService {
return nil
}
+func (x *ListServicesResponse) GetMysql() []*v1.MySQLService {
+ if x != nil {
+ return x.Mysql
+ }
+ return nil
+}
+
// Session represents an active Real-Time Analytics session.
type Session struct {
state protoimpl.MessageState `protogen:"open.v1"`
@@ -188,7 +196,10 @@ type Session struct {
// Query collect interval.
CollectInterval *durationpb.Duration `protobuf:"bytes,5,opt,name=collect_interval,json=collectInterval,proto3" json:"collect_interval,omitempty"`
// Current status of the Real-Time Analytics session.
- Status SessionStatus `protobuf:"varint,6,opt,name=status,proto3,enum=realtimeanalytics.v1.SessionStatus" json:"status,omitempty"`
+ Status SessionStatus `protobuf:"varint,6,opt,name=status,proto3,enum=realtimeanalytics.v1.SessionStatus" json:"status,omitempty"`
+ // Type of the service the session is running for. Lets clients tell MySQL and
+ // MongoDB sessions apart without a second lookup in the inventory.
+ ServiceType v1.ServiceType `protobuf:"varint,7,opt,name=service_type,json=serviceType,proto3,enum=inventory.v1.ServiceType" json:"service_type,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
@@ -265,6 +276,13 @@ func (x *Session) GetStatus() SessionStatus {
return SessionStatus_SESSION_STATUS_UNSPECIFIED
}
+func (x *Session) GetServiceType() v1.ServiceType {
+ if x != nil {
+ return x.ServiceType
+ }
+ return v1.ServiceType(0)
+}
+
// ListSessionsRequest contains optional filters for listing active Real-Time Analytics Sessions for a particular cluster.
type ListSessionsRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
@@ -638,9 +656,10 @@ const file_realtimeanalytics_v1_realtimeanalytics_proto_rawDesc = "" +
"\n" +
",realtimeanalytics/v1/realtimeanalytics.proto\x12\x14realtimeanalytics.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1binventory/v1/services.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a realtimeanalytics/v1/query.proto\x1a\x17validate/validate.proto\"S\n" +
"\x13ListServicesRequest\x12<\n" +
- "\fservice_type\x18\x01 \x01(\x0e2\x19.inventory.v1.ServiceTypeR\vserviceType\"N\n" +
+ "\fservice_type\x18\x01 \x01(\x0e2\x19.inventory.v1.ServiceTypeR\vserviceType\"\x80\x01\n" +
"\x14ListServicesResponse\x126\n" +
- "\amongodb\x18\x01 \x03(\v2\x1c.inventory.v1.MongoDBServiceR\amongodb\"\xac\x02\n" +
+ "\amongodb\x18\x01 \x03(\v2\x1c.inventory.v1.MongoDBServiceR\amongodb\x120\n" +
+ "\x05mysql\x18\x02 \x03(\v2\x1a.inventory.v1.MySQLServiceR\x05mysql\"\xea\x02\n" +
"\aSession\x12\x1d\n" +
"\n" +
"service_id\x18\x01 \x01(\tR\tserviceId\x12!\n" +
@@ -649,7 +668,8 @@ const file_realtimeanalytics_v1_realtimeanalytics_proto_rawDesc = "" +
"\n" +
"start_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tstartTime\x12D\n" +
"\x10collect_interval\x18\x05 \x01(\v2\x19.google.protobuf.DurationR\x0fcollectInterval\x12;\n" +
- "\x06status\x18\x06 \x01(\x0e2#.realtimeanalytics.v1.SessionStatusR\x06status\"8\n" +
+ "\x06status\x18\x06 \x01(\x0e2#.realtimeanalytics.v1.SessionStatusR\x06status\x12<\n" +
+ "\fservice_type\x18\a \x01(\x0e2\x19.inventory.v1.ServiceTypeR\vserviceType\"8\n" +
"\x13ListSessionsRequest\x12!\n" +
"\fcluster_name\x18\x01 \x01(\tR\vclusterName\"Q\n" +
"\x14ListSessionsResponse\x129\n" +
@@ -713,36 +733,39 @@ var (
(*SearchQueriesResponse)(nil), // 11: realtimeanalytics.v1.SearchQueriesResponse
v1.ServiceType(0), // 12: inventory.v1.ServiceType
(*v1.MongoDBService)(nil), // 13: inventory.v1.MongoDBService
- (*timestamppb.Timestamp)(nil), // 14: google.protobuf.Timestamp
- (*durationpb.Duration)(nil), // 15: google.protobuf.Duration
- (*QueryData)(nil), // 16: realtimeanalytics.v1.QueryData
+ (*v1.MySQLService)(nil), // 14: inventory.v1.MySQLService
+ (*timestamppb.Timestamp)(nil), // 15: google.protobuf.Timestamp
+ (*durationpb.Duration)(nil), // 16: google.protobuf.Duration
+ (*QueryData)(nil), // 17: realtimeanalytics.v1.QueryData
}
)
var file_realtimeanalytics_v1_realtimeanalytics_proto_depIdxs = []int32{
12, // 0: realtimeanalytics.v1.ListServicesRequest.service_type:type_name -> inventory.v1.ServiceType
13, // 1: realtimeanalytics.v1.ListServicesResponse.mongodb:type_name -> inventory.v1.MongoDBService
- 14, // 2: realtimeanalytics.v1.Session.start_time:type_name -> google.protobuf.Timestamp
- 15, // 3: realtimeanalytics.v1.Session.collect_interval:type_name -> google.protobuf.Duration
- 0, // 4: realtimeanalytics.v1.Session.status:type_name -> realtimeanalytics.v1.SessionStatus
- 3, // 5: realtimeanalytics.v1.ListSessionsResponse.sessions:type_name -> realtimeanalytics.v1.Session
- 3, // 6: realtimeanalytics.v1.StartSessionResponse.session:type_name -> realtimeanalytics.v1.Session
- 16, // 7: realtimeanalytics.v1.SearchQueriesResponse.queries:type_name -> realtimeanalytics.v1.QueryData
- 1, // 8: realtimeanalytics.v1.RealtimeAnalyticsService.ListServices:input_type -> realtimeanalytics.v1.ListServicesRequest
- 4, // 9: realtimeanalytics.v1.RealtimeAnalyticsService.ListSessions:input_type -> realtimeanalytics.v1.ListSessionsRequest
- 6, // 10: realtimeanalytics.v1.RealtimeAnalyticsService.StartSession:input_type -> realtimeanalytics.v1.StartSessionRequest
- 8, // 11: realtimeanalytics.v1.RealtimeAnalyticsService.StopSession:input_type -> realtimeanalytics.v1.StopSessionRequest
- 10, // 12: realtimeanalytics.v1.RealtimeAnalyticsService.SearchQueries:input_type -> realtimeanalytics.v1.SearchQueriesRequest
- 2, // 13: realtimeanalytics.v1.RealtimeAnalyticsService.ListServices:output_type -> realtimeanalytics.v1.ListServicesResponse
- 5, // 14: realtimeanalytics.v1.RealtimeAnalyticsService.ListSessions:output_type -> realtimeanalytics.v1.ListSessionsResponse
- 7, // 15: realtimeanalytics.v1.RealtimeAnalyticsService.StartSession:output_type -> realtimeanalytics.v1.StartSessionResponse
- 9, // 16: realtimeanalytics.v1.RealtimeAnalyticsService.StopSession:output_type -> realtimeanalytics.v1.StopSessionResponse
- 11, // 17: realtimeanalytics.v1.RealtimeAnalyticsService.SearchQueries:output_type -> realtimeanalytics.v1.SearchQueriesResponse
- 13, // [13:18] is the sub-list for method output_type
- 8, // [8:13] is the sub-list for method input_type
- 8, // [8:8] is the sub-list for extension type_name
- 8, // [8:8] is the sub-list for extension extendee
- 0, // [0:8] is the sub-list for field type_name
+ 14, // 2: realtimeanalytics.v1.ListServicesResponse.mysql:type_name -> inventory.v1.MySQLService
+ 15, // 3: realtimeanalytics.v1.Session.start_time:type_name -> google.protobuf.Timestamp
+ 16, // 4: realtimeanalytics.v1.Session.collect_interval:type_name -> google.protobuf.Duration
+ 0, // 5: realtimeanalytics.v1.Session.status:type_name -> realtimeanalytics.v1.SessionStatus
+ 12, // 6: realtimeanalytics.v1.Session.service_type:type_name -> inventory.v1.ServiceType
+ 3, // 7: realtimeanalytics.v1.ListSessionsResponse.sessions:type_name -> realtimeanalytics.v1.Session
+ 3, // 8: realtimeanalytics.v1.StartSessionResponse.session:type_name -> realtimeanalytics.v1.Session
+ 17, // 9: realtimeanalytics.v1.SearchQueriesResponse.queries:type_name -> realtimeanalytics.v1.QueryData
+ 1, // 10: realtimeanalytics.v1.RealtimeAnalyticsService.ListServices:input_type -> realtimeanalytics.v1.ListServicesRequest
+ 4, // 11: realtimeanalytics.v1.RealtimeAnalyticsService.ListSessions:input_type -> realtimeanalytics.v1.ListSessionsRequest
+ 6, // 12: realtimeanalytics.v1.RealtimeAnalyticsService.StartSession:input_type -> realtimeanalytics.v1.StartSessionRequest
+ 8, // 13: realtimeanalytics.v1.RealtimeAnalyticsService.StopSession:input_type -> realtimeanalytics.v1.StopSessionRequest
+ 10, // 14: realtimeanalytics.v1.RealtimeAnalyticsService.SearchQueries:input_type -> realtimeanalytics.v1.SearchQueriesRequest
+ 2, // 15: realtimeanalytics.v1.RealtimeAnalyticsService.ListServices:output_type -> realtimeanalytics.v1.ListServicesResponse
+ 5, // 16: realtimeanalytics.v1.RealtimeAnalyticsService.ListSessions:output_type -> realtimeanalytics.v1.ListSessionsResponse
+ 7, // 17: realtimeanalytics.v1.RealtimeAnalyticsService.StartSession:output_type -> realtimeanalytics.v1.StartSessionResponse
+ 9, // 18: realtimeanalytics.v1.RealtimeAnalyticsService.StopSession:output_type -> realtimeanalytics.v1.StopSessionResponse
+ 11, // 19: realtimeanalytics.v1.RealtimeAnalyticsService.SearchQueries:output_type -> realtimeanalytics.v1.SearchQueriesResponse
+ 15, // [15:20] is the sub-list for method output_type
+ 10, // [10:15] is the sub-list for method input_type
+ 10, // [10:10] is the sub-list for extension type_name
+ 10, // [10:10] is the sub-list for extension extendee
+ 0, // [0:10] is the sub-list for field type_name
}
func init() { file_realtimeanalytics_v1_realtimeanalytics_proto_init() }
diff --git a/api/realtimeanalytics/v1/realtimeanalytics.pb.validate.go b/api/realtimeanalytics/v1/realtimeanalytics.pb.validate.go
index f392e0a0102..071912ab7b6 100644
--- a/api/realtimeanalytics/v1/realtimeanalytics.pb.validate.go
+++ b/api/realtimeanalytics/v1/realtimeanalytics.pb.validate.go
@@ -200,6 +200,40 @@ func (m *ListServicesResponse) validate(all bool) error {
}
+ for idx, item := range m.GetMysql() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ListServicesResponseValidationError{
+ field: fmt.Sprintf("Mysql[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ListServicesResponseValidationError{
+ field: fmt.Sprintf("Mysql[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ListServicesResponseValidationError{
+ field: fmt.Sprintf("Mysql[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
if len(errors) > 0 {
return ListServicesResponseMultiError(errors)
}
@@ -368,6 +402,8 @@ func (m *Session) validate(all bool) error {
// no validation rules for Status
+ // no validation rules for ServiceType
+
if len(errors) > 0 {
return SessionMultiError(errors)
}
diff --git a/api/realtimeanalytics/v1/realtimeanalytics.proto b/api/realtimeanalytics/v1/realtimeanalytics.proto
index 3926de3f866..eca473c58df 100644
--- a/api/realtimeanalytics/v1/realtimeanalytics.proto
+++ b/api/realtimeanalytics/v1/realtimeanalytics.proto
@@ -19,6 +19,7 @@ message ListServicesRequest {
message ListServicesResponse {
repeated inventory.v1.MongoDBService mongodb = 1;
+ repeated inventory.v1.MySQLService mysql = 2;
}
// Session related messages
@@ -48,6 +49,9 @@ message Session {
google.protobuf.Duration collect_interval = 5;
// Current status of the Real-Time Analytics session.
SessionStatus status = 6;
+ // Type of the service the session is running for. Lets clients tell MySQL and
+ // MongoDB sessions apart without a second lookup in the inventory.
+ inventory.v1.ServiceType service_type = 7;
}
// ListSessionsRequest contains optional filters for listing active Real-Time Analytics Sessions for a particular cluster.
diff --git a/api/swagger/swagger-dev.json b/api/swagger/swagger-dev.json
index ac4a6f1a126..7b370824c0c 100644
--- a/api/swagger/swagger-dev.json
+++ b/api/swagger/swagger-dev.json
@@ -5409,7 +5409,8 @@
"AGENT_TYPE_RDS_EXPORTER",
"AGENT_TYPE_AZURE_DATABASE_EXPORTER",
"AGENT_TYPE_NOMAD_AGENT",
- "AGENT_TYPE_RTA_MONGODB_AGENT"
+ "AGENT_TYPE_RTA_MONGODB_AGENT",
+ "AGENT_TYPE_RTA_MYSQL_AGENT"
],
"type": "string",
"default": "AGENT_TYPE_UNSPECIFIED",
@@ -7553,6 +7554,102 @@
}
},
"x-order": 18
+ },
+ "rta_mysql_agent": {
+ "type": "array",
+ "items": {
+ "description": "RTAMySQLAgent runs within pmm-agent and sends MySQL Real-Time Query Analytics data to the PMM Server.",
+ "type": "object",
+ "properties": {
+ "agent_id": {
+ "description": "Unique agent identifier.",
+ "type": "string",
+ "x-order": 0
+ },
+ "pmm_agent_id": {
+ "description": "The pmm-agent identifier which runs this instance.",
+ "type": "string",
+ "x-order": 1
+ },
+ "disabled": {
+ "description": "Desired Agent status: enabled (false) or disabled (true).",
+ "type": "boolean",
+ "x-order": 2
+ },
+ "service_id": {
+ "description": "Service identifier.",
+ "type": "string",
+ "x-order": 3
+ },
+ "username": {
+ "description": "MySQL username for getting the currently running queries.",
+ "type": "string",
+ "x-order": 4
+ },
+ "tls": {
+ "description": "Use TLS for database connections.",
+ "type": "boolean",
+ "x-order": 5
+ },
+ "tls_skip_verify": {
+ "description": "Skip TLS certificate and hostname validation.",
+ "type": "boolean",
+ "x-order": 6
+ },
+ "custom_labels": {
+ "description": "Custom user-assigned labels.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 7
+ },
+ "rta_options": {
+ "description": "RTAOptions holds Real-Time Query Analytics agent options.",
+ "type": "object",
+ "properties": {
+ "collect_interval": {
+ "description": "Query collect interval (default 2s is set by server).",
+ "type": "string",
+ "x-order": 0
+ }
+ },
+ "x-order": 8
+ },
+ "status": {
+ "description": "AgentStatus represents actual Agent status.\n\n - AGENT_STATUS_STARTING: Agent is starting.\n - AGENT_STATUS_INITIALIZATION_ERROR: Agent encountered error when starting.\n - AGENT_STATUS_RUNNING: Agent is running.\n - AGENT_STATUS_WAITING: Agent encountered error and will be restarted automatically soon.\n - AGENT_STATUS_STOPPING: Agent is stopping.\n - AGENT_STATUS_DONE: Agent has been stopped or disabled.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.",
+ "type": "string",
+ "default": "AGENT_STATUS_UNSPECIFIED",
+ "enum": [
+ "AGENT_STATUS_UNSPECIFIED",
+ "AGENT_STATUS_STARTING",
+ "AGENT_STATUS_INITIALIZATION_ERROR",
+ "AGENT_STATUS_RUNNING",
+ "AGENT_STATUS_WAITING",
+ "AGENT_STATUS_STOPPING",
+ "AGENT_STATUS_DONE",
+ "AGENT_STATUS_UNKNOWN"
+ ],
+ "x-order": 9
+ },
+ "log_level": {
+ "description": "- LOG_LEVEL_UNSPECIFIED: Auto",
+ "type": "string",
+ "title": "Log level for exporters",
+ "default": "LOG_LEVEL_UNSPECIFIED",
+ "enum": [
+ "LOG_LEVEL_UNSPECIFIED",
+ "LOG_LEVEL_FATAL",
+ "LOG_LEVEL_ERROR",
+ "LOG_LEVEL_WARN",
+ "LOG_LEVEL_INFO",
+ "LOG_LEVEL_DEBUG"
+ ],
+ "x-order": 10
+ }
+ }
+ },
+ "x-order": 19
}
}
}
@@ -9154,6 +9251,97 @@
}
},
"x-order": 16
+ },
+ "rta_mysql_agent": {
+ "type": "object",
+ "properties": {
+ "pmm_agent_id": {
+ "description": "The pmm-agent identifier which runs this instance.",
+ "type": "string",
+ "x-order": 0
+ },
+ "service_id": {
+ "description": "Service identifier.",
+ "type": "string",
+ "x-order": 1
+ },
+ "username": {
+ "description": "MySQL username for getting queries data.",
+ "type": "string",
+ "x-order": 2
+ },
+ "password": {
+ "description": "MySQL password for getting queries data.",
+ "type": "string",
+ "x-order": 3
+ },
+ "custom_labels": {
+ "description": "Custom user-assigned labels.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 4
+ },
+ "log_level": {
+ "description": "- LOG_LEVEL_UNSPECIFIED: Auto",
+ "type": "string",
+ "title": "Log level for exporters",
+ "default": "LOG_LEVEL_UNSPECIFIED",
+ "enum": [
+ "LOG_LEVEL_UNSPECIFIED",
+ "LOG_LEVEL_FATAL",
+ "LOG_LEVEL_ERROR",
+ "LOG_LEVEL_WARN",
+ "LOG_LEVEL_INFO",
+ "LOG_LEVEL_DEBUG"
+ ],
+ "x-order": 5
+ },
+ "tls": {
+ "description": "MySQL specific options.\nUse TLS for database connections.",
+ "type": "boolean",
+ "x-order": 6
+ },
+ "tls_skip_verify": {
+ "description": "Skip TLS certificate and hostname validation.",
+ "type": "boolean",
+ "x-order": 7
+ },
+ "tls_ca": {
+ "description": "Certificate Authority certificate chain.",
+ "type": "string",
+ "x-order": 8
+ },
+ "tls_cert": {
+ "description": "Client certificate.",
+ "type": "string",
+ "x-order": 9
+ },
+ "tls_key": {
+ "description": "Client key.",
+ "type": "string",
+ "x-order": 10
+ },
+ "skip_connection_check": {
+ "description": "Skip connection check.",
+ "type": "boolean",
+ "x-order": 11
+ },
+ "rta_options": {
+ "description": "RTAOptions holds Real-Time Query Analytics agent options.",
+ "type": "object",
+ "properties": {
+ "collect_interval": {
+ "description": "Query collect interval (default 2s is set by server).",
+ "type": "string",
+ "x-order": 0
+ }
+ },
+ "x-order": 12
+ }
+ },
+ "x-order": 17
}
}
}
@@ -11145,6 +11333,99 @@
}
},
"x-order": 16
+ },
+ "rta_mysql_agent": {
+ "description": "RTAMySQLAgent runs within pmm-agent and sends MySQL Real-Time Query Analytics data to the PMM Server.",
+ "type": "object",
+ "properties": {
+ "agent_id": {
+ "description": "Unique agent identifier.",
+ "type": "string",
+ "x-order": 0
+ },
+ "pmm_agent_id": {
+ "description": "The pmm-agent identifier which runs this instance.",
+ "type": "string",
+ "x-order": 1
+ },
+ "disabled": {
+ "description": "Desired Agent status: enabled (false) or disabled (true).",
+ "type": "boolean",
+ "x-order": 2
+ },
+ "service_id": {
+ "description": "Service identifier.",
+ "type": "string",
+ "x-order": 3
+ },
+ "username": {
+ "description": "MySQL username for getting the currently running queries.",
+ "type": "string",
+ "x-order": 4
+ },
+ "tls": {
+ "description": "Use TLS for database connections.",
+ "type": "boolean",
+ "x-order": 5
+ },
+ "tls_skip_verify": {
+ "description": "Skip TLS certificate and hostname validation.",
+ "type": "boolean",
+ "x-order": 6
+ },
+ "custom_labels": {
+ "description": "Custom user-assigned labels.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 7
+ },
+ "rta_options": {
+ "description": "RTAOptions holds Real-Time Query Analytics agent options.",
+ "type": "object",
+ "properties": {
+ "collect_interval": {
+ "description": "Query collect interval (default 2s is set by server).",
+ "type": "string",
+ "x-order": 0
+ }
+ },
+ "x-order": 8
+ },
+ "status": {
+ "description": "AgentStatus represents actual Agent status.\n\n - AGENT_STATUS_STARTING: Agent is starting.\n - AGENT_STATUS_INITIALIZATION_ERROR: Agent encountered error when starting.\n - AGENT_STATUS_RUNNING: Agent is running.\n - AGENT_STATUS_WAITING: Agent encountered error and will be restarted automatically soon.\n - AGENT_STATUS_STOPPING: Agent is stopping.\n - AGENT_STATUS_DONE: Agent has been stopped or disabled.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.",
+ "type": "string",
+ "default": "AGENT_STATUS_UNSPECIFIED",
+ "enum": [
+ "AGENT_STATUS_UNSPECIFIED",
+ "AGENT_STATUS_STARTING",
+ "AGENT_STATUS_INITIALIZATION_ERROR",
+ "AGENT_STATUS_RUNNING",
+ "AGENT_STATUS_WAITING",
+ "AGENT_STATUS_STOPPING",
+ "AGENT_STATUS_DONE",
+ "AGENT_STATUS_UNKNOWN"
+ ],
+ "x-order": 9
+ },
+ "log_level": {
+ "description": "- LOG_LEVEL_UNSPECIFIED: Auto",
+ "type": "string",
+ "title": "Log level for exporters",
+ "default": "LOG_LEVEL_UNSPECIFIED",
+ "enum": [
+ "LOG_LEVEL_UNSPECIFIED",
+ "LOG_LEVEL_FATAL",
+ "LOG_LEVEL_ERROR",
+ "LOG_LEVEL_WARN",
+ "LOG_LEVEL_INFO",
+ "LOG_LEVEL_DEBUG"
+ ],
+ "x-order": 10
+ }
+ },
+ "x-order": 17
}
}
}
@@ -13278,6 +13559,99 @@
}
},
"x-order": 18
+ },
+ "rta_mysql_agent": {
+ "description": "RTAMySQLAgent runs within pmm-agent and sends MySQL Real-Time Query Analytics data to the PMM Server.",
+ "type": "object",
+ "properties": {
+ "agent_id": {
+ "description": "Unique agent identifier.",
+ "type": "string",
+ "x-order": 0
+ },
+ "pmm_agent_id": {
+ "description": "The pmm-agent identifier which runs this instance.",
+ "type": "string",
+ "x-order": 1
+ },
+ "disabled": {
+ "description": "Desired Agent status: enabled (false) or disabled (true).",
+ "type": "boolean",
+ "x-order": 2
+ },
+ "service_id": {
+ "description": "Service identifier.",
+ "type": "string",
+ "x-order": 3
+ },
+ "username": {
+ "description": "MySQL username for getting the currently running queries.",
+ "type": "string",
+ "x-order": 4
+ },
+ "tls": {
+ "description": "Use TLS for database connections.",
+ "type": "boolean",
+ "x-order": 5
+ },
+ "tls_skip_verify": {
+ "description": "Skip TLS certificate and hostname validation.",
+ "type": "boolean",
+ "x-order": 6
+ },
+ "custom_labels": {
+ "description": "Custom user-assigned labels.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 7
+ },
+ "rta_options": {
+ "description": "RTAOptions holds Real-Time Query Analytics agent options.",
+ "type": "object",
+ "properties": {
+ "collect_interval": {
+ "description": "Query collect interval (default 2s is set by server).",
+ "type": "string",
+ "x-order": 0
+ }
+ },
+ "x-order": 8
+ },
+ "status": {
+ "description": "AgentStatus represents actual Agent status.\n\n - AGENT_STATUS_STARTING: Agent is starting.\n - AGENT_STATUS_INITIALIZATION_ERROR: Agent encountered error when starting.\n - AGENT_STATUS_RUNNING: Agent is running.\n - AGENT_STATUS_WAITING: Agent encountered error and will be restarted automatically soon.\n - AGENT_STATUS_STOPPING: Agent is stopping.\n - AGENT_STATUS_DONE: Agent has been stopped or disabled.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.",
+ "type": "string",
+ "default": "AGENT_STATUS_UNSPECIFIED",
+ "enum": [
+ "AGENT_STATUS_UNSPECIFIED",
+ "AGENT_STATUS_STARTING",
+ "AGENT_STATUS_INITIALIZATION_ERROR",
+ "AGENT_STATUS_RUNNING",
+ "AGENT_STATUS_WAITING",
+ "AGENT_STATUS_STOPPING",
+ "AGENT_STATUS_DONE",
+ "AGENT_STATUS_UNKNOWN"
+ ],
+ "x-order": 9
+ },
+ "log_level": {
+ "description": "- LOG_LEVEL_UNSPECIFIED: Auto",
+ "type": "string",
+ "title": "Log level for exporters",
+ "default": "LOG_LEVEL_UNSPECIFIED",
+ "enum": [
+ "LOG_LEVEL_UNSPECIFIED",
+ "LOG_LEVEL_FATAL",
+ "LOG_LEVEL_ERROR",
+ "LOG_LEVEL_WARN",
+ "LOG_LEVEL_INFO",
+ "LOG_LEVEL_DEBUG"
+ ],
+ "x-order": 10
+ }
+ },
+ "x-order": 19
}
}
}
@@ -15290,23 +15664,133 @@
"LOG_LEVEL_DEBUG"
],
"x-nullable": true,
- "x-order": 14
- },
- "connection_timeout": {
- "description": "Connection timeout for exporter (if set).",
- "type": "string",
- "x-order": 15
+ "x-order": 14
+ },
+ "connection_timeout": {
+ "description": "Connection timeout for exporter (if set).",
+ "type": "string",
+ "x-order": 15
+ },
+ "skip_connection_check": {
+ "description": "Skip connection check.",
+ "type": "boolean",
+ "x-nullable": true,
+ "x-order": 16
+ }
+ },
+ "x-order": 15
+ },
+ "rta_mongodb_agent": {
+ "type": "object",
+ "properties": {
+ "enable": {
+ "description": "Enable this Agent. Agents are enabled by default when they get added.",
+ "type": "boolean",
+ "x-nullable": true,
+ "x-order": 0
+ },
+ "custom_labels": {
+ "description": "A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.",
+ "type": "object",
+ "properties": {
+ "values": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 0
+ }
+ },
+ "x-nullable": true,
+ "x-order": 1
+ },
+ "log_level": {
+ "description": "- LOG_LEVEL_UNSPECIFIED: Auto",
+ "type": "string",
+ "title": "Log level for exporters",
+ "default": "LOG_LEVEL_UNSPECIFIED",
+ "enum": [
+ "LOG_LEVEL_UNSPECIFIED",
+ "LOG_LEVEL_FATAL",
+ "LOG_LEVEL_ERROR",
+ "LOG_LEVEL_WARN",
+ "LOG_LEVEL_INFO",
+ "LOG_LEVEL_DEBUG"
+ ],
+ "x-nullable": true,
+ "x-order": 2
+ },
+ "username": {
+ "description": "MongoDB username for getting profile data.",
+ "type": "string",
+ "x-nullable": true,
+ "x-order": 3
+ },
+ "password": {
+ "description": "MongoDB password for getting profile data.",
+ "type": "string",
+ "x-nullable": true,
+ "x-order": 4
+ },
+ "tls": {
+ "description": "Use TLS for database connections.",
+ "type": "boolean",
+ "x-nullable": true,
+ "x-order": 5
+ },
+ "tls_skip_verify": {
+ "description": "Skip TLS certificate and hostname validation.",
+ "type": "boolean",
+ "x-nullable": true,
+ "x-order": 6
+ },
+ "tls_certificate_key": {
+ "description": "Client certificate and key.",
+ "type": "string",
+ "x-nullable": true,
+ "x-order": 7
+ },
+ "tls_certificate_key_file_password": {
+ "description": "Password for decrypting tls_certificate_key.",
+ "type": "string",
+ "x-nullable": true,
+ "x-order": 8
+ },
+ "tls_ca": {
+ "description": "Certificate Authority certificate chain.",
+ "type": "string",
+ "x-nullable": true,
+ "x-order": 9
+ },
+ "authentication_mechanism": {
+ "description": "Authentication mechanism.",
+ "type": "string",
+ "x-nullable": true,
+ "x-order": 10
+ },
+ "rta_options": {
+ "description": "RTAOptions holds Real-Time Query Analytics agent options.",
+ "type": "object",
+ "properties": {
+ "collect_interval": {
+ "description": "Query collect interval (default 2s is set by server).",
+ "type": "string",
+ "x-order": 0
+ }
+ },
+ "x-nullable": true,
+ "x-order": 11
},
"skip_connection_check": {
"description": "Skip connection check.",
"type": "boolean",
"x-nullable": true,
- "x-order": 16
+ "x-order": 12
}
},
- "x-order": 15
+ "x-order": 16
},
- "rta_mongodb_agent": {
+ "rta_mysql_agent": {
"type": "object",
"properties": {
"enable": {
@@ -15347,13 +15831,13 @@
"x-order": 2
},
"username": {
- "description": "MongoDB username for getting profile data.",
+ "description": "MySQL username for getting queries data.",
"type": "string",
"x-nullable": true,
"x-order": 3
},
"password": {
- "description": "MongoDB password for getting profile data.",
+ "description": "MySQL password for getting queries data.",
"type": "string",
"x-nullable": true,
"x-order": 4
@@ -15370,30 +15854,24 @@
"x-nullable": true,
"x-order": 6
},
- "tls_certificate_key": {
- "description": "Client certificate and key.",
+ "tls_ca": {
+ "description": "Certificate Authority certificate chain.",
"type": "string",
"x-nullable": true,
"x-order": 7
},
- "tls_certificate_key_file_password": {
- "description": "Password for decrypting tls_certificate_key.",
+ "tls_cert": {
+ "description": "Client certificate.",
"type": "string",
"x-nullable": true,
"x-order": 8
},
- "tls_ca": {
- "description": "Certificate Authority certificate chain.",
+ "tls_key": {
+ "description": "Client key.",
"type": "string",
"x-nullable": true,
"x-order": 9
},
- "authentication_mechanism": {
- "description": "Authentication mechanism.",
- "type": "string",
- "x-nullable": true,
- "x-order": 10
- },
"rta_options": {
"description": "RTAOptions holds Real-Time Query Analytics agent options.",
"type": "object",
@@ -15405,16 +15883,16 @@
}
},
"x-nullable": true,
- "x-order": 11
+ "x-order": 10
},
"skip_connection_check": {
"description": "Skip connection check.",
"type": "boolean",
"x-nullable": true,
- "x-order": 12
+ "x-order": 11
}
},
- "x-order": 16
+ "x-order": 17
}
}
}
@@ -17419,6 +17897,99 @@
}
},
"x-order": 16
+ },
+ "rta_mysql_agent": {
+ "description": "RTAMySQLAgent runs within pmm-agent and sends MySQL Real-Time Query Analytics data to the PMM Server.",
+ "type": "object",
+ "properties": {
+ "agent_id": {
+ "description": "Unique agent identifier.",
+ "type": "string",
+ "x-order": 0
+ },
+ "pmm_agent_id": {
+ "description": "The pmm-agent identifier which runs this instance.",
+ "type": "string",
+ "x-order": 1
+ },
+ "disabled": {
+ "description": "Desired Agent status: enabled (false) or disabled (true).",
+ "type": "boolean",
+ "x-order": 2
+ },
+ "service_id": {
+ "description": "Service identifier.",
+ "type": "string",
+ "x-order": 3
+ },
+ "username": {
+ "description": "MySQL username for getting the currently running queries.",
+ "type": "string",
+ "x-order": 4
+ },
+ "tls": {
+ "description": "Use TLS for database connections.",
+ "type": "boolean",
+ "x-order": 5
+ },
+ "tls_skip_verify": {
+ "description": "Skip TLS certificate and hostname validation.",
+ "type": "boolean",
+ "x-order": 6
+ },
+ "custom_labels": {
+ "description": "Custom user-assigned labels.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 7
+ },
+ "rta_options": {
+ "description": "RTAOptions holds Real-Time Query Analytics agent options.",
+ "type": "object",
+ "properties": {
+ "collect_interval": {
+ "description": "Query collect interval (default 2s is set by server).",
+ "type": "string",
+ "x-order": 0
+ }
+ },
+ "x-order": 8
+ },
+ "status": {
+ "description": "AgentStatus represents actual Agent status.\n\n - AGENT_STATUS_STARTING: Agent is starting.\n - AGENT_STATUS_INITIALIZATION_ERROR: Agent encountered error when starting.\n - AGENT_STATUS_RUNNING: Agent is running.\n - AGENT_STATUS_WAITING: Agent encountered error and will be restarted automatically soon.\n - AGENT_STATUS_STOPPING: Agent is stopping.\n - AGENT_STATUS_DONE: Agent has been stopped or disabled.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.",
+ "type": "string",
+ "default": "AGENT_STATUS_UNSPECIFIED",
+ "enum": [
+ "AGENT_STATUS_UNSPECIFIED",
+ "AGENT_STATUS_STARTING",
+ "AGENT_STATUS_INITIALIZATION_ERROR",
+ "AGENT_STATUS_RUNNING",
+ "AGENT_STATUS_WAITING",
+ "AGENT_STATUS_STOPPING",
+ "AGENT_STATUS_DONE",
+ "AGENT_STATUS_UNKNOWN"
+ ],
+ "x-order": 9
+ },
+ "log_level": {
+ "description": "- LOG_LEVEL_UNSPECIFIED: Auto",
+ "type": "string",
+ "title": "Log level for exporters",
+ "default": "LOG_LEVEL_UNSPECIFIED",
+ "enum": [
+ "LOG_LEVEL_UNSPECIFIED",
+ "LOG_LEVEL_FATAL",
+ "LOG_LEVEL_ERROR",
+ "LOG_LEVEL_WARN",
+ "LOG_LEVEL_INFO",
+ "LOG_LEVEL_DEBUG"
+ ],
+ "x-order": 10
+ }
+ },
+ "x-order": 17
}
}
}
@@ -31656,6 +32227,60 @@
}
},
"x-order": 8
+ },
+ "my_sql_payload": {
+ "description": "QueryMySQLData holds MySQL-specific Real-Time Analytics query information.\nThe data is sourced from the sys.x$processlist view.",
+ "type": "object",
+ "properties": {
+ "db_instance_address": {
+ "description": "MySQL instance address(host:port) that processing the query.",
+ "type": "string",
+ "x-order": 0
+ },
+ "program_name": {
+ "description": "Client program name connected to MySQL (program_name from sys.x$processlist).",
+ "type": "string",
+ "x-order": 1
+ },
+ "database_name": {
+ "description": "Database name (db from sys.x$processlist).",
+ "type": "string",
+ "x-order": 2
+ },
+ "command": {
+ "description": "Command type the connection is executing (\"Query\", \"Execute\", etc).",
+ "type": "string",
+ "x-order": 3
+ },
+ "state": {
+ "description": "State of the connection/thread (for example \"Sending data\").",
+ "type": "string",
+ "x-order": 4
+ },
+ "username": {
+ "description": "MySQL user name associated with the query.",
+ "type": "string",
+ "x-order": 5
+ },
+ "rows_examined": {
+ "description": "Number of rows examined by the statement so far.",
+ "type": "string",
+ "format": "int64",
+ "x-order": 6
+ },
+ "rows_sent": {
+ "description": "Number of rows sent by the statement so far.",
+ "type": "string",
+ "format": "int64",
+ "x-order": 7
+ },
+ "full_scan": {
+ "description": "Indicates whether the statement performed a full table scan.",
+ "type": "boolean",
+ "x-order": 8
+ }
+ },
+ "x-order": 9
}
}
},
@@ -31799,6 +32424,83 @@
}
},
"x-order": 0
+ },
+ "mysql": {
+ "type": "array",
+ "items": {
+ "description": "MySQLService represents a generic MySQL instance.",
+ "type": "object",
+ "properties": {
+ "service_id": {
+ "description": "Unique randomly generated instance identifier.",
+ "type": "string",
+ "x-order": 0
+ },
+ "service_name": {
+ "description": "Unique across all Services user-defined name.",
+ "type": "string",
+ "x-order": 1
+ },
+ "node_id": {
+ "description": "Node identifier where this instance runs.",
+ "type": "string",
+ "x-order": 2
+ },
+ "address": {
+ "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.",
+ "type": "string",
+ "x-order": 3
+ },
+ "port": {
+ "description": "Access port.\nPort is required when the address present.",
+ "type": "integer",
+ "format": "int64",
+ "x-order": 4
+ },
+ "socket": {
+ "description": "Access unix socket.\nAddress (and port) or socket is required.",
+ "type": "string",
+ "x-order": 5
+ },
+ "environment": {
+ "description": "Environment name.",
+ "type": "string",
+ "x-order": 6
+ },
+ "cluster": {
+ "description": "Cluster name.",
+ "type": "string",
+ "x-order": 7
+ },
+ "replication_set": {
+ "description": "Replication set name.",
+ "type": "string",
+ "x-order": 8
+ },
+ "custom_labels": {
+ "description": "Custom user-assigned labels.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 9
+ },
+ "version": {
+ "description": "MySQL version.",
+ "type": "string",
+ "x-order": 10
+ },
+ "extra_dsn_params": {
+ "description": "Extra parameters to be added to the DSN.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 11
+ }
+ }
+ },
+ "x-order": 1
}
}
}
@@ -31904,6 +32606,22 @@
"SESSION_STATUS_DOWN"
],
"x-order": 5
+ },
+ "service_type": {
+ "description": "ServiceType describes supported Service types.",
+ "type": "string",
+ "default": "SERVICE_TYPE_UNSPECIFIED",
+ "enum": [
+ "SERVICE_TYPE_UNSPECIFIED",
+ "SERVICE_TYPE_MYSQL_SERVICE",
+ "SERVICE_TYPE_MONGODB_SERVICE",
+ "SERVICE_TYPE_POSTGRESQL_SERVICE",
+ "SERVICE_TYPE_VALKEY_SERVICE",
+ "SERVICE_TYPE_PROXYSQL_SERVICE",
+ "SERVICE_TYPE_HAPROXY_SERVICE",
+ "SERVICE_TYPE_EXTERNAL_SERVICE"
+ ],
+ "x-order": 6
}
}
},
@@ -32021,6 +32739,22 @@
"SESSION_STATUS_DOWN"
],
"x-order": 5
+ },
+ "service_type": {
+ "description": "ServiceType describes supported Service types.",
+ "type": "string",
+ "default": "SERVICE_TYPE_UNSPECIFIED",
+ "enum": [
+ "SERVICE_TYPE_UNSPECIFIED",
+ "SERVICE_TYPE_MYSQL_SERVICE",
+ "SERVICE_TYPE_MONGODB_SERVICE",
+ "SERVICE_TYPE_POSTGRESQL_SERVICE",
+ "SERVICE_TYPE_VALKEY_SERVICE",
+ "SERVICE_TYPE_PROXYSQL_SERVICE",
+ "SERVICE_TYPE_HAPROXY_SERVICE",
+ "SERVICE_TYPE_EXTERNAL_SERVICE"
+ ],
+ "x-order": 6
}
},
"x-order": 0
diff --git a/api/swagger/swagger.json b/api/swagger/swagger.json
index c40c51e6c46..6e7282d5e16 100644
--- a/api/swagger/swagger.json
+++ b/api/swagger/swagger.json
@@ -4436,7 +4436,8 @@
"AGENT_TYPE_RDS_EXPORTER",
"AGENT_TYPE_AZURE_DATABASE_EXPORTER",
"AGENT_TYPE_NOMAD_AGENT",
- "AGENT_TYPE_RTA_MONGODB_AGENT"
+ "AGENT_TYPE_RTA_MONGODB_AGENT",
+ "AGENT_TYPE_RTA_MYSQL_AGENT"
],
"type": "string",
"default": "AGENT_TYPE_UNSPECIFIED",
@@ -6580,6 +6581,102 @@
}
},
"x-order": 18
+ },
+ "rta_mysql_agent": {
+ "type": "array",
+ "items": {
+ "description": "RTAMySQLAgent runs within pmm-agent and sends MySQL Real-Time Query Analytics data to the PMM Server.",
+ "type": "object",
+ "properties": {
+ "agent_id": {
+ "description": "Unique agent identifier.",
+ "type": "string",
+ "x-order": 0
+ },
+ "pmm_agent_id": {
+ "description": "The pmm-agent identifier which runs this instance.",
+ "type": "string",
+ "x-order": 1
+ },
+ "disabled": {
+ "description": "Desired Agent status: enabled (false) or disabled (true).",
+ "type": "boolean",
+ "x-order": 2
+ },
+ "service_id": {
+ "description": "Service identifier.",
+ "type": "string",
+ "x-order": 3
+ },
+ "username": {
+ "description": "MySQL username for getting the currently running queries.",
+ "type": "string",
+ "x-order": 4
+ },
+ "tls": {
+ "description": "Use TLS for database connections.",
+ "type": "boolean",
+ "x-order": 5
+ },
+ "tls_skip_verify": {
+ "description": "Skip TLS certificate and hostname validation.",
+ "type": "boolean",
+ "x-order": 6
+ },
+ "custom_labels": {
+ "description": "Custom user-assigned labels.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 7
+ },
+ "rta_options": {
+ "description": "RTAOptions holds Real-Time Query Analytics agent options.",
+ "type": "object",
+ "properties": {
+ "collect_interval": {
+ "description": "Query collect interval (default 2s is set by server).",
+ "type": "string",
+ "x-order": 0
+ }
+ },
+ "x-order": 8
+ },
+ "status": {
+ "description": "AgentStatus represents actual Agent status.\n\n - AGENT_STATUS_STARTING: Agent is starting.\n - AGENT_STATUS_INITIALIZATION_ERROR: Agent encountered error when starting.\n - AGENT_STATUS_RUNNING: Agent is running.\n - AGENT_STATUS_WAITING: Agent encountered error and will be restarted automatically soon.\n - AGENT_STATUS_STOPPING: Agent is stopping.\n - AGENT_STATUS_DONE: Agent has been stopped or disabled.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.",
+ "type": "string",
+ "default": "AGENT_STATUS_UNSPECIFIED",
+ "enum": [
+ "AGENT_STATUS_UNSPECIFIED",
+ "AGENT_STATUS_STARTING",
+ "AGENT_STATUS_INITIALIZATION_ERROR",
+ "AGENT_STATUS_RUNNING",
+ "AGENT_STATUS_WAITING",
+ "AGENT_STATUS_STOPPING",
+ "AGENT_STATUS_DONE",
+ "AGENT_STATUS_UNKNOWN"
+ ],
+ "x-order": 9
+ },
+ "log_level": {
+ "description": "- LOG_LEVEL_UNSPECIFIED: Auto",
+ "type": "string",
+ "title": "Log level for exporters",
+ "default": "LOG_LEVEL_UNSPECIFIED",
+ "enum": [
+ "LOG_LEVEL_UNSPECIFIED",
+ "LOG_LEVEL_FATAL",
+ "LOG_LEVEL_ERROR",
+ "LOG_LEVEL_WARN",
+ "LOG_LEVEL_INFO",
+ "LOG_LEVEL_DEBUG"
+ ],
+ "x-order": 10
+ }
+ }
+ },
+ "x-order": 19
}
}
}
@@ -8181,6 +8278,97 @@
}
},
"x-order": 16
+ },
+ "rta_mysql_agent": {
+ "type": "object",
+ "properties": {
+ "pmm_agent_id": {
+ "description": "The pmm-agent identifier which runs this instance.",
+ "type": "string",
+ "x-order": 0
+ },
+ "service_id": {
+ "description": "Service identifier.",
+ "type": "string",
+ "x-order": 1
+ },
+ "username": {
+ "description": "MySQL username for getting queries data.",
+ "type": "string",
+ "x-order": 2
+ },
+ "password": {
+ "description": "MySQL password for getting queries data.",
+ "type": "string",
+ "x-order": 3
+ },
+ "custom_labels": {
+ "description": "Custom user-assigned labels.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 4
+ },
+ "log_level": {
+ "description": "- LOG_LEVEL_UNSPECIFIED: Auto",
+ "type": "string",
+ "title": "Log level for exporters",
+ "default": "LOG_LEVEL_UNSPECIFIED",
+ "enum": [
+ "LOG_LEVEL_UNSPECIFIED",
+ "LOG_LEVEL_FATAL",
+ "LOG_LEVEL_ERROR",
+ "LOG_LEVEL_WARN",
+ "LOG_LEVEL_INFO",
+ "LOG_LEVEL_DEBUG"
+ ],
+ "x-order": 5
+ },
+ "tls": {
+ "description": "MySQL specific options.\nUse TLS for database connections.",
+ "type": "boolean",
+ "x-order": 6
+ },
+ "tls_skip_verify": {
+ "description": "Skip TLS certificate and hostname validation.",
+ "type": "boolean",
+ "x-order": 7
+ },
+ "tls_ca": {
+ "description": "Certificate Authority certificate chain.",
+ "type": "string",
+ "x-order": 8
+ },
+ "tls_cert": {
+ "description": "Client certificate.",
+ "type": "string",
+ "x-order": 9
+ },
+ "tls_key": {
+ "description": "Client key.",
+ "type": "string",
+ "x-order": 10
+ },
+ "skip_connection_check": {
+ "description": "Skip connection check.",
+ "type": "boolean",
+ "x-order": 11
+ },
+ "rta_options": {
+ "description": "RTAOptions holds Real-Time Query Analytics agent options.",
+ "type": "object",
+ "properties": {
+ "collect_interval": {
+ "description": "Query collect interval (default 2s is set by server).",
+ "type": "string",
+ "x-order": 0
+ }
+ },
+ "x-order": 12
+ }
+ },
+ "x-order": 17
}
}
}
@@ -10172,6 +10360,99 @@
}
},
"x-order": 16
+ },
+ "rta_mysql_agent": {
+ "description": "RTAMySQLAgent runs within pmm-agent and sends MySQL Real-Time Query Analytics data to the PMM Server.",
+ "type": "object",
+ "properties": {
+ "agent_id": {
+ "description": "Unique agent identifier.",
+ "type": "string",
+ "x-order": 0
+ },
+ "pmm_agent_id": {
+ "description": "The pmm-agent identifier which runs this instance.",
+ "type": "string",
+ "x-order": 1
+ },
+ "disabled": {
+ "description": "Desired Agent status: enabled (false) or disabled (true).",
+ "type": "boolean",
+ "x-order": 2
+ },
+ "service_id": {
+ "description": "Service identifier.",
+ "type": "string",
+ "x-order": 3
+ },
+ "username": {
+ "description": "MySQL username for getting the currently running queries.",
+ "type": "string",
+ "x-order": 4
+ },
+ "tls": {
+ "description": "Use TLS for database connections.",
+ "type": "boolean",
+ "x-order": 5
+ },
+ "tls_skip_verify": {
+ "description": "Skip TLS certificate and hostname validation.",
+ "type": "boolean",
+ "x-order": 6
+ },
+ "custom_labels": {
+ "description": "Custom user-assigned labels.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 7
+ },
+ "rta_options": {
+ "description": "RTAOptions holds Real-Time Query Analytics agent options.",
+ "type": "object",
+ "properties": {
+ "collect_interval": {
+ "description": "Query collect interval (default 2s is set by server).",
+ "type": "string",
+ "x-order": 0
+ }
+ },
+ "x-order": 8
+ },
+ "status": {
+ "description": "AgentStatus represents actual Agent status.\n\n - AGENT_STATUS_STARTING: Agent is starting.\n - AGENT_STATUS_INITIALIZATION_ERROR: Agent encountered error when starting.\n - AGENT_STATUS_RUNNING: Agent is running.\n - AGENT_STATUS_WAITING: Agent encountered error and will be restarted automatically soon.\n - AGENT_STATUS_STOPPING: Agent is stopping.\n - AGENT_STATUS_DONE: Agent has been stopped or disabled.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.",
+ "type": "string",
+ "default": "AGENT_STATUS_UNSPECIFIED",
+ "enum": [
+ "AGENT_STATUS_UNSPECIFIED",
+ "AGENT_STATUS_STARTING",
+ "AGENT_STATUS_INITIALIZATION_ERROR",
+ "AGENT_STATUS_RUNNING",
+ "AGENT_STATUS_WAITING",
+ "AGENT_STATUS_STOPPING",
+ "AGENT_STATUS_DONE",
+ "AGENT_STATUS_UNKNOWN"
+ ],
+ "x-order": 9
+ },
+ "log_level": {
+ "description": "- LOG_LEVEL_UNSPECIFIED: Auto",
+ "type": "string",
+ "title": "Log level for exporters",
+ "default": "LOG_LEVEL_UNSPECIFIED",
+ "enum": [
+ "LOG_LEVEL_UNSPECIFIED",
+ "LOG_LEVEL_FATAL",
+ "LOG_LEVEL_ERROR",
+ "LOG_LEVEL_WARN",
+ "LOG_LEVEL_INFO",
+ "LOG_LEVEL_DEBUG"
+ ],
+ "x-order": 10
+ }
+ },
+ "x-order": 17
}
}
}
@@ -12305,6 +12586,99 @@
}
},
"x-order": 18
+ },
+ "rta_mysql_agent": {
+ "description": "RTAMySQLAgent runs within pmm-agent and sends MySQL Real-Time Query Analytics data to the PMM Server.",
+ "type": "object",
+ "properties": {
+ "agent_id": {
+ "description": "Unique agent identifier.",
+ "type": "string",
+ "x-order": 0
+ },
+ "pmm_agent_id": {
+ "description": "The pmm-agent identifier which runs this instance.",
+ "type": "string",
+ "x-order": 1
+ },
+ "disabled": {
+ "description": "Desired Agent status: enabled (false) or disabled (true).",
+ "type": "boolean",
+ "x-order": 2
+ },
+ "service_id": {
+ "description": "Service identifier.",
+ "type": "string",
+ "x-order": 3
+ },
+ "username": {
+ "description": "MySQL username for getting the currently running queries.",
+ "type": "string",
+ "x-order": 4
+ },
+ "tls": {
+ "description": "Use TLS for database connections.",
+ "type": "boolean",
+ "x-order": 5
+ },
+ "tls_skip_verify": {
+ "description": "Skip TLS certificate and hostname validation.",
+ "type": "boolean",
+ "x-order": 6
+ },
+ "custom_labels": {
+ "description": "Custom user-assigned labels.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 7
+ },
+ "rta_options": {
+ "description": "RTAOptions holds Real-Time Query Analytics agent options.",
+ "type": "object",
+ "properties": {
+ "collect_interval": {
+ "description": "Query collect interval (default 2s is set by server).",
+ "type": "string",
+ "x-order": 0
+ }
+ },
+ "x-order": 8
+ },
+ "status": {
+ "description": "AgentStatus represents actual Agent status.\n\n - AGENT_STATUS_STARTING: Agent is starting.\n - AGENT_STATUS_INITIALIZATION_ERROR: Agent encountered error when starting.\n - AGENT_STATUS_RUNNING: Agent is running.\n - AGENT_STATUS_WAITING: Agent encountered error and will be restarted automatically soon.\n - AGENT_STATUS_STOPPING: Agent is stopping.\n - AGENT_STATUS_DONE: Agent has been stopped or disabled.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.",
+ "type": "string",
+ "default": "AGENT_STATUS_UNSPECIFIED",
+ "enum": [
+ "AGENT_STATUS_UNSPECIFIED",
+ "AGENT_STATUS_STARTING",
+ "AGENT_STATUS_INITIALIZATION_ERROR",
+ "AGENT_STATUS_RUNNING",
+ "AGENT_STATUS_WAITING",
+ "AGENT_STATUS_STOPPING",
+ "AGENT_STATUS_DONE",
+ "AGENT_STATUS_UNKNOWN"
+ ],
+ "x-order": 9
+ },
+ "log_level": {
+ "description": "- LOG_LEVEL_UNSPECIFIED: Auto",
+ "type": "string",
+ "title": "Log level for exporters",
+ "default": "LOG_LEVEL_UNSPECIFIED",
+ "enum": [
+ "LOG_LEVEL_UNSPECIFIED",
+ "LOG_LEVEL_FATAL",
+ "LOG_LEVEL_ERROR",
+ "LOG_LEVEL_WARN",
+ "LOG_LEVEL_INFO",
+ "LOG_LEVEL_DEBUG"
+ ],
+ "x-order": 10
+ }
+ },
+ "x-order": 19
}
}
}
@@ -14317,23 +14691,133 @@
"LOG_LEVEL_DEBUG"
],
"x-nullable": true,
- "x-order": 14
- },
- "connection_timeout": {
- "description": "Connection timeout for exporter (if set).",
- "type": "string",
- "x-order": 15
+ "x-order": 14
+ },
+ "connection_timeout": {
+ "description": "Connection timeout for exporter (if set).",
+ "type": "string",
+ "x-order": 15
+ },
+ "skip_connection_check": {
+ "description": "Skip connection check.",
+ "type": "boolean",
+ "x-nullable": true,
+ "x-order": 16
+ }
+ },
+ "x-order": 15
+ },
+ "rta_mongodb_agent": {
+ "type": "object",
+ "properties": {
+ "enable": {
+ "description": "Enable this Agent. Agents are enabled by default when they get added.",
+ "type": "boolean",
+ "x-nullable": true,
+ "x-order": 0
+ },
+ "custom_labels": {
+ "description": "A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.",
+ "type": "object",
+ "properties": {
+ "values": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 0
+ }
+ },
+ "x-nullable": true,
+ "x-order": 1
+ },
+ "log_level": {
+ "description": "- LOG_LEVEL_UNSPECIFIED: Auto",
+ "type": "string",
+ "title": "Log level for exporters",
+ "default": "LOG_LEVEL_UNSPECIFIED",
+ "enum": [
+ "LOG_LEVEL_UNSPECIFIED",
+ "LOG_LEVEL_FATAL",
+ "LOG_LEVEL_ERROR",
+ "LOG_LEVEL_WARN",
+ "LOG_LEVEL_INFO",
+ "LOG_LEVEL_DEBUG"
+ ],
+ "x-nullable": true,
+ "x-order": 2
+ },
+ "username": {
+ "description": "MongoDB username for getting profile data.",
+ "type": "string",
+ "x-nullable": true,
+ "x-order": 3
+ },
+ "password": {
+ "description": "MongoDB password for getting profile data.",
+ "type": "string",
+ "x-nullable": true,
+ "x-order": 4
+ },
+ "tls": {
+ "description": "Use TLS for database connections.",
+ "type": "boolean",
+ "x-nullable": true,
+ "x-order": 5
+ },
+ "tls_skip_verify": {
+ "description": "Skip TLS certificate and hostname validation.",
+ "type": "boolean",
+ "x-nullable": true,
+ "x-order": 6
+ },
+ "tls_certificate_key": {
+ "description": "Client certificate and key.",
+ "type": "string",
+ "x-nullable": true,
+ "x-order": 7
+ },
+ "tls_certificate_key_file_password": {
+ "description": "Password for decrypting tls_certificate_key.",
+ "type": "string",
+ "x-nullable": true,
+ "x-order": 8
+ },
+ "tls_ca": {
+ "description": "Certificate Authority certificate chain.",
+ "type": "string",
+ "x-nullable": true,
+ "x-order": 9
+ },
+ "authentication_mechanism": {
+ "description": "Authentication mechanism.",
+ "type": "string",
+ "x-nullable": true,
+ "x-order": 10
+ },
+ "rta_options": {
+ "description": "RTAOptions holds Real-Time Query Analytics agent options.",
+ "type": "object",
+ "properties": {
+ "collect_interval": {
+ "description": "Query collect interval (default 2s is set by server).",
+ "type": "string",
+ "x-order": 0
+ }
+ },
+ "x-nullable": true,
+ "x-order": 11
},
"skip_connection_check": {
"description": "Skip connection check.",
"type": "boolean",
"x-nullable": true,
- "x-order": 16
+ "x-order": 12
}
},
- "x-order": 15
+ "x-order": 16
},
- "rta_mongodb_agent": {
+ "rta_mysql_agent": {
"type": "object",
"properties": {
"enable": {
@@ -14374,13 +14858,13 @@
"x-order": 2
},
"username": {
- "description": "MongoDB username for getting profile data.",
+ "description": "MySQL username for getting queries data.",
"type": "string",
"x-nullable": true,
"x-order": 3
},
"password": {
- "description": "MongoDB password for getting profile data.",
+ "description": "MySQL password for getting queries data.",
"type": "string",
"x-nullable": true,
"x-order": 4
@@ -14397,30 +14881,24 @@
"x-nullable": true,
"x-order": 6
},
- "tls_certificate_key": {
- "description": "Client certificate and key.",
+ "tls_ca": {
+ "description": "Certificate Authority certificate chain.",
"type": "string",
"x-nullable": true,
"x-order": 7
},
- "tls_certificate_key_file_password": {
- "description": "Password for decrypting tls_certificate_key.",
+ "tls_cert": {
+ "description": "Client certificate.",
"type": "string",
"x-nullable": true,
"x-order": 8
},
- "tls_ca": {
- "description": "Certificate Authority certificate chain.",
+ "tls_key": {
+ "description": "Client key.",
"type": "string",
"x-nullable": true,
"x-order": 9
},
- "authentication_mechanism": {
- "description": "Authentication mechanism.",
- "type": "string",
- "x-nullable": true,
- "x-order": 10
- },
"rta_options": {
"description": "RTAOptions holds Real-Time Query Analytics agent options.",
"type": "object",
@@ -14432,16 +14910,16 @@
}
},
"x-nullable": true,
- "x-order": 11
+ "x-order": 10
},
"skip_connection_check": {
"description": "Skip connection check.",
"type": "boolean",
"x-nullable": true,
- "x-order": 12
+ "x-order": 11
}
},
- "x-order": 16
+ "x-order": 17
}
}
}
@@ -16446,6 +16924,99 @@
}
},
"x-order": 16
+ },
+ "rta_mysql_agent": {
+ "description": "RTAMySQLAgent runs within pmm-agent and sends MySQL Real-Time Query Analytics data to the PMM Server.",
+ "type": "object",
+ "properties": {
+ "agent_id": {
+ "description": "Unique agent identifier.",
+ "type": "string",
+ "x-order": 0
+ },
+ "pmm_agent_id": {
+ "description": "The pmm-agent identifier which runs this instance.",
+ "type": "string",
+ "x-order": 1
+ },
+ "disabled": {
+ "description": "Desired Agent status: enabled (false) or disabled (true).",
+ "type": "boolean",
+ "x-order": 2
+ },
+ "service_id": {
+ "description": "Service identifier.",
+ "type": "string",
+ "x-order": 3
+ },
+ "username": {
+ "description": "MySQL username for getting the currently running queries.",
+ "type": "string",
+ "x-order": 4
+ },
+ "tls": {
+ "description": "Use TLS for database connections.",
+ "type": "boolean",
+ "x-order": 5
+ },
+ "tls_skip_verify": {
+ "description": "Skip TLS certificate and hostname validation.",
+ "type": "boolean",
+ "x-order": 6
+ },
+ "custom_labels": {
+ "description": "Custom user-assigned labels.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 7
+ },
+ "rta_options": {
+ "description": "RTAOptions holds Real-Time Query Analytics agent options.",
+ "type": "object",
+ "properties": {
+ "collect_interval": {
+ "description": "Query collect interval (default 2s is set by server).",
+ "type": "string",
+ "x-order": 0
+ }
+ },
+ "x-order": 8
+ },
+ "status": {
+ "description": "AgentStatus represents actual Agent status.\n\n - AGENT_STATUS_STARTING: Agent is starting.\n - AGENT_STATUS_INITIALIZATION_ERROR: Agent encountered error when starting.\n - AGENT_STATUS_RUNNING: Agent is running.\n - AGENT_STATUS_WAITING: Agent encountered error and will be restarted automatically soon.\n - AGENT_STATUS_STOPPING: Agent is stopping.\n - AGENT_STATUS_DONE: Agent has been stopped or disabled.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.",
+ "type": "string",
+ "default": "AGENT_STATUS_UNSPECIFIED",
+ "enum": [
+ "AGENT_STATUS_UNSPECIFIED",
+ "AGENT_STATUS_STARTING",
+ "AGENT_STATUS_INITIALIZATION_ERROR",
+ "AGENT_STATUS_RUNNING",
+ "AGENT_STATUS_WAITING",
+ "AGENT_STATUS_STOPPING",
+ "AGENT_STATUS_DONE",
+ "AGENT_STATUS_UNKNOWN"
+ ],
+ "x-order": 9
+ },
+ "log_level": {
+ "description": "- LOG_LEVEL_UNSPECIFIED: Auto",
+ "type": "string",
+ "title": "Log level for exporters",
+ "default": "LOG_LEVEL_UNSPECIFIED",
+ "enum": [
+ "LOG_LEVEL_UNSPECIFIED",
+ "LOG_LEVEL_FATAL",
+ "LOG_LEVEL_ERROR",
+ "LOG_LEVEL_WARN",
+ "LOG_LEVEL_INFO",
+ "LOG_LEVEL_DEBUG"
+ ],
+ "x-order": 10
+ }
+ },
+ "x-order": 17
}
}
}
@@ -30683,6 +31254,60 @@
}
},
"x-order": 8
+ },
+ "my_sql_payload": {
+ "description": "QueryMySQLData holds MySQL-specific Real-Time Analytics query information.\nThe data is sourced from the sys.x$processlist view.",
+ "type": "object",
+ "properties": {
+ "db_instance_address": {
+ "description": "MySQL instance address(host:port) that processing the query.",
+ "type": "string",
+ "x-order": 0
+ },
+ "program_name": {
+ "description": "Client program name connected to MySQL (program_name from sys.x$processlist).",
+ "type": "string",
+ "x-order": 1
+ },
+ "database_name": {
+ "description": "Database name (db from sys.x$processlist).",
+ "type": "string",
+ "x-order": 2
+ },
+ "command": {
+ "description": "Command type the connection is executing (\"Query\", \"Execute\", etc).",
+ "type": "string",
+ "x-order": 3
+ },
+ "state": {
+ "description": "State of the connection/thread (for example \"Sending data\").",
+ "type": "string",
+ "x-order": 4
+ },
+ "username": {
+ "description": "MySQL user name associated with the query.",
+ "type": "string",
+ "x-order": 5
+ },
+ "rows_examined": {
+ "description": "Number of rows examined by the statement so far.",
+ "type": "string",
+ "format": "int64",
+ "x-order": 6
+ },
+ "rows_sent": {
+ "description": "Number of rows sent by the statement so far.",
+ "type": "string",
+ "format": "int64",
+ "x-order": 7
+ },
+ "full_scan": {
+ "description": "Indicates whether the statement performed a full table scan.",
+ "type": "boolean",
+ "x-order": 8
+ }
+ },
+ "x-order": 9
}
}
},
@@ -30826,6 +31451,83 @@
}
},
"x-order": 0
+ },
+ "mysql": {
+ "type": "array",
+ "items": {
+ "description": "MySQLService represents a generic MySQL instance.",
+ "type": "object",
+ "properties": {
+ "service_id": {
+ "description": "Unique randomly generated instance identifier.",
+ "type": "string",
+ "x-order": 0
+ },
+ "service_name": {
+ "description": "Unique across all Services user-defined name.",
+ "type": "string",
+ "x-order": 1
+ },
+ "node_id": {
+ "description": "Node identifier where this instance runs.",
+ "type": "string",
+ "x-order": 2
+ },
+ "address": {
+ "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.",
+ "type": "string",
+ "x-order": 3
+ },
+ "port": {
+ "description": "Access port.\nPort is required when the address present.",
+ "type": "integer",
+ "format": "int64",
+ "x-order": 4
+ },
+ "socket": {
+ "description": "Access unix socket.\nAddress (and port) or socket is required.",
+ "type": "string",
+ "x-order": 5
+ },
+ "environment": {
+ "description": "Environment name.",
+ "type": "string",
+ "x-order": 6
+ },
+ "cluster": {
+ "description": "Cluster name.",
+ "type": "string",
+ "x-order": 7
+ },
+ "replication_set": {
+ "description": "Replication set name.",
+ "type": "string",
+ "x-order": 8
+ },
+ "custom_labels": {
+ "description": "Custom user-assigned labels.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 9
+ },
+ "version": {
+ "description": "MySQL version.",
+ "type": "string",
+ "x-order": 10
+ },
+ "extra_dsn_params": {
+ "description": "Extra parameters to be added to the DSN.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-order": 11
+ }
+ }
+ },
+ "x-order": 1
}
}
}
@@ -30931,6 +31633,22 @@
"SESSION_STATUS_DOWN"
],
"x-order": 5
+ },
+ "service_type": {
+ "description": "ServiceType describes supported Service types.",
+ "type": "string",
+ "default": "SERVICE_TYPE_UNSPECIFIED",
+ "enum": [
+ "SERVICE_TYPE_UNSPECIFIED",
+ "SERVICE_TYPE_MYSQL_SERVICE",
+ "SERVICE_TYPE_MONGODB_SERVICE",
+ "SERVICE_TYPE_POSTGRESQL_SERVICE",
+ "SERVICE_TYPE_VALKEY_SERVICE",
+ "SERVICE_TYPE_PROXYSQL_SERVICE",
+ "SERVICE_TYPE_HAPROXY_SERVICE",
+ "SERVICE_TYPE_EXTERNAL_SERVICE"
+ ],
+ "x-order": 6
}
}
},
@@ -31048,6 +31766,22 @@
"SESSION_STATUS_DOWN"
],
"x-order": 5
+ },
+ "service_type": {
+ "description": "ServiceType describes supported Service types.",
+ "type": "string",
+ "default": "SERVICE_TYPE_UNSPECIFIED",
+ "enum": [
+ "SERVICE_TYPE_UNSPECIFIED",
+ "SERVICE_TYPE_MYSQL_SERVICE",
+ "SERVICE_TYPE_MONGODB_SERVICE",
+ "SERVICE_TYPE_POSTGRESQL_SERVICE",
+ "SERVICE_TYPE_VALKEY_SERVICE",
+ "SERVICE_TYPE_PROXYSQL_SERVICE",
+ "SERVICE_TYPE_HAPROXY_SERVICE",
+ "SERVICE_TYPE_EXTERNAL_SERVICE"
+ ],
+ "x-order": 6
}
},
"x-order": 0
diff --git a/managed/models/agent_helpers.go b/managed/models/agent_helpers.go
index 20da2a24104..15282879747 100644
--- a/managed/models/agent_helpers.go
+++ b/managed/models/agent_helpers.go
@@ -358,6 +358,7 @@ func FindDBConfigForService(q *reform.Querier, serviceID string) (*DBConfig, err
MySQLdExporterType,
QANMySQLSlowlogAgentType,
QANMySQLPerfSchemaAgentType,
+ RTAMySQLAgentType,
}
case PostgreSQLServiceType:
agentTypes = []AgentType{
@@ -880,6 +881,9 @@ func compatibleServiceAndAgent(serviceType ServiceType, agentType AgentType) boo
RTAMongoDBAgentType: {
MongoDBServiceType,
},
+ RTAMySQLAgentType: {
+ MySQLServiceType,
+ },
PostgresExporterType: {
PostgreSQLServiceType,
},
@@ -986,8 +990,8 @@ func CreateAgent(q *reform.Querier, agentType AgentType, params *CreateAgentPara
}
switch agentType {
- // For the time being only RTA MangoDB Agent has RTA options.
- case RTAMongoDBAgentType:
+ // RTA agents collect currently running queries on a fixed interval.
+ case RTAMongoDBAgentType, RTAMySQLAgentType:
row.RTAOptions = RTAOptions{
// default value
CollectInterval: new(2 * time.Second), //nolint:mnd
diff --git a/managed/models/agent_model.go b/managed/models/agent_model.go
index 13e574b6bd9..86749d3b8fd 100644
--- a/managed/models/agent_model.go
+++ b/managed/models/agent_model.go
@@ -82,12 +82,14 @@ const (
NomadAgentType AgentType = "nomad-agent"
ValkeyExporterType AgentType = "valkey_exporter"
RTAMongoDBAgentType AgentType = "rta-mongodb-agent"
+ RTAMySQLAgentType AgentType = "rta-mysql-agent"
)
// GetRTAAgentTypes returns all Real-Time Analytics Agent types.
func GetRTAAgentTypes() []AgentType {
return []AgentType{
RTAMongoDBAgentType,
+ RTAMySQLAgentType,
// Add more types here once they are implemented.
}
}
@@ -588,7 +590,7 @@ func (a *Agent) DSN(service *Service, dsnParams DSNParams, tdp *DelimiterPair, p
return cfg.FormatDSN()
- case QANMySQLPerfSchemaAgentType, QANMySQLSlowlogAgentType:
+ case QANMySQLPerfSchemaAgentType, QANMySQLSlowlogAgentType, RTAMySQLAgentType:
cfg := mysql.NewConfig()
cfg.User = username
cfg.Passwd = password
@@ -900,7 +902,7 @@ func (a *Agent) IsMySQLTablestatsGroupEnabled() bool {
// Files returns files map required to connect to DB.
func (a Agent) Files() map[string]string { //nolint:gocognit
switch a.AgentType {
- case MySQLdExporterType, QANMySQLPerfSchemaAgentType, QANMySQLSlowlogAgentType:
+ case MySQLdExporterType, QANMySQLPerfSchemaAgentType, QANMySQLSlowlogAgentType, RTAMySQLAgentType:
files := make(map[string]string)
if a.MySQLOptions.TLSCa != "" {
files["tlsCa"] = a.MySQLOptions.TLSCa
diff --git a/managed/models/dsn_helpers.go b/managed/models/dsn_helpers.go
index 3c5e6c8b2e2..a86c5d27e08 100644
--- a/managed/models/dsn_helpers.go
+++ b/managed/models/dsn_helpers.go
@@ -56,6 +56,7 @@ func FindDSNByServiceIDandPMMAgentID(q *reform.Querier, serviceID, pmmAgentID, d
QANMySQLSlowlogAgentType,
QANMySQLPerfSchemaAgentType,
MySQLdExporterType,
+ RTAMySQLAgentType,
)
case PostgreSQLServiceType:
agentTypes = append(
diff --git a/managed/services/agents/mysql.go b/managed/services/agents/mysql.go
index f6d74009392..34fd104a465 100644
--- a/managed/services/agents/mysql.go
+++ b/managed/services/agents/mysql.go
@@ -24,6 +24,7 @@ import (
"time"
"github.com/AlekSi/pointer"
+ "google.golang.org/protobuf/types/known/durationpb"
agentv1 "github.com/percona/pmm/api/agent/v1"
inventoryv1 "github.com/percona/pmm/api/inventory/v1"
@@ -231,6 +232,30 @@ func qanMySQLSlowlogAgentConfig(service *models.Service, agent *models.Agent, pm
}
}
+// rtaMySQLAgentConfig returns desired configuration of rta-mysql-agent RTA agent.
+func rtaMySQLAgentConfig(service *models.Service, agent *models.Agent, pmmAgentVersion *version.Parsed) *agentv1.SetStateRequest_BuiltinAgent {
+ tdp := agent.TemplateDelimiters(service)
+
+ apiRTAOptions := &inventoryv1.RTAOptions{}
+ if agent.RTAOptions.CollectInterval != nil {
+ apiRTAOptions.CollectInterval = durationpb.New(*agent.RTAOptions.CollectInterval)
+ }
+
+ return &agentv1.SetStateRequest_BuiltinAgent{
+ Type: inventoryv1.AgentType_AGENT_TYPE_RTA_MYSQL_AGENT,
+ Dsn: agent.DSN(service, models.DSNParams{DialTimeout: time.Second, Database: ""}, nil, pmmAgentVersion),
+ RtaOptions: apiRTAOptions,
+ ServiceId: service.ServiceID,
+ ServiceName: service.ServiceName,
+ TextFiles: &agentv1.TextFiles{
+ Files: agent.Files(),
+ TemplateLeftDelim: tdp.Left,
+ TemplateRightDelim: tdp.Right,
+ },
+ TlsSkipVerify: agent.TLSSkipVerify,
+ }
+}
+
// https://dev.mysql.com/doc/refman/8.4/en/mysql-command-options.html
// https://dev.mysql.com/doc/refman/8.4/en/connection-options.html#encrypted-connection-options
const myCnfTemplate = `[client]
diff --git a/managed/services/agents/state.go b/managed/services/agents/state.go
index 8dad8d4dc8b..34e9c908af1 100644
--- a/managed/services/agents/state.go
+++ b/managed/services/agents/state.go
@@ -243,7 +243,7 @@ func (u *StateUpdater) sendSetStateRequest(ctx context.Context, agent *pmmAgentI
models.ValkeyExporterType, models.QANMySQLPerfSchemaAgentType, models.QANMySQLSlowlogAgentType,
models.QANMongoDBProfilerAgentType, models.QANMongoDBMongologAgentType,
models.QANPostgreSQLPgStatementsAgentType, models.QANPostgreSQLPgStatMonitorAgentType,
- models.RTAMongoDBAgentType:
+ models.RTAMongoDBAgentType, models.RTAMySQLAgentType:
service, err := models.FindServiceByID(u.db.Querier, pointer.GetString(row.ServiceID))
if err != nil {
return err
@@ -286,6 +286,8 @@ func (u *StateUpdater) sendSetStateRequest(ctx context.Context, agent *pmmAgentI
builtinAgents[row.AgentID] = qanPostgreSQLPgStatMonitorAgentConfig(service, row, pmmAgentVersion)
case models.RTAMongoDBAgentType:
builtinAgents[row.AgentID] = rtaMongoDBAgentConfig(service, row, pmmAgentVersion)
+ case models.RTAMySQLAgentType:
+ builtinAgents[row.AgentID] = rtaMySQLAgentConfig(service, row, pmmAgentVersion)
}
default:
diff --git a/managed/services/converters.go b/managed/services/converters.go
index 32d85b0e1e1..8f516ebf7b3 100644
--- a/managed/services/converters.go
+++ b/managed/services/converters.go
@@ -607,6 +607,21 @@ func ToAPIAgent(q *reform.Querier, agent *models.Agent) (inventoryv1.Agent, erro
RtaOptions: ToAPIRTAOptions(&agent.RTAOptions),
}, nil
+ case models.RTAMySQLAgentType:
+ return &inventoryv1.RTAMySQLAgent{
+ AgentId: agent.AgentID,
+ PmmAgentId: pointer.GetString(agent.PMMAgentID),
+ ServiceId: serviceID,
+ Username: pointer.GetString(agent.Username),
+ Disabled: agent.Disabled,
+ Status: inventoryv1.AgentStatus(inventoryv1.AgentStatus_value[agent.Status]),
+ CustomLabels: labels,
+ Tls: agent.TLS,
+ TlsSkipVerify: agent.TLSSkipVerify,
+ LogLevel: inventoryv1.LogLevelAPIValue(agent.LogLevel),
+ RtaOptions: ToAPIRTAOptions(&agent.RTAOptions),
+ }, nil
+
default:
panic(fmt.Errorf("cannot convert unknown agent type %s", agent.AgentType))
}
diff --git a/managed/services/inventory/agents.go b/managed/services/inventory/agents.go
index 69c8b9acefe..2ea4205c54c 100644
--- a/managed/services/inventory/agents.go
+++ b/managed/services/inventory/agents.go
@@ -1732,6 +1732,96 @@ func (as *AgentsService) ChangeRTAMongoDBAgent(
return res, nil
}
+// AddRTAMySQLAgent adds MySQL Real-Time Analytics Agent.
+func (as *AgentsService) AddRTAMySQLAgent(ctx context.Context, p *inventoryv1.AddRTAMySQLAgentParams) (*inventoryv1.AddAgentResponse, error) {
+ params := &models.CreateAgentParams{
+ PMMAgentID: p.PmmAgentId,
+ ServiceID: p.ServiceId,
+ Username: p.Username,
+ Password: p.Password,
+ CustomLabels: p.CustomLabels,
+ TLS: p.Tls,
+ TLSSkipVerify: p.TlsSkipVerify,
+ MySQLOptions: models.MySQLOptions{
+ TLSCa: p.GetTlsCa(),
+ TLSCert: p.GetTlsCert(),
+ TLSKey: p.GetTlsKey(),
+ },
+ LogLevel: services.SpecifyLogLevel(p.LogLevel, inventoryv1.LogLevel_LOG_LEVEL_FATAL),
+ SkipConnectionCheck: p.SkipConnectionCheck,
+ }
+
+ // Set RTA options if provided
+ if p.RtaOptions != nil {
+ params.RTAOptions = *models.RTAOptionsFromRequest(p.RtaOptions)
+ }
+
+ agent, err := as.executeAgentAdd(ctx, models.RTAMySQLAgentType, params, true)
+ if err != nil {
+ return nil, err
+ }
+
+ rtaMySQLAgent, ok := agent.(*inventoryv1.RTAMySQLAgent)
+ if !ok {
+ return nil, unexpectedAgentTypeError(agent)
+ }
+ as.state.RequestStateUpdate(ctx, p.PmmAgentId)
+
+ res := &inventoryv1.AddAgentResponse{
+ Agent: &inventoryv1.AddAgentResponse_RtaMysqlAgent{
+ RtaMysqlAgent: rtaMySQLAgent,
+ },
+ }
+
+ return res, nil
+}
+
+// ChangeRTAMySQLAgent updates MySQL Real-Time Analytics Agent with given parameters.
+func (as *AgentsService) ChangeRTAMySQLAgent(
+ ctx context.Context, agentID string,
+ p *inventoryv1.ChangeRTAMySQLAgentParams,
+) (*inventoryv1.ChangeAgentResponse, error) {
+ changeParams := &models.ChangeAgentParams{
+ Enabled: p.Enable,
+ Username: p.Username,
+ Password: p.Password,
+ TLS: p.Tls,
+ TLSSkipVerify: p.TlsSkipVerify,
+ LogLevel: convertLogLevel(p.LogLevel),
+ CustomLabels: convertCustomLabels(p.CustomLabels),
+ MySQLOptions: &models.ChangeMySQLOptions{
+ TLSCa: p.TlsCa,
+ TLSCert: p.TlsCert,
+ TLSKey: p.TlsKey,
+ },
+ SkipConnectionCheck: p.GetSkipConnectionCheck(),
+ }
+
+ // Set RTA options if provided
+ if p.RtaOptions != nil {
+ changeParams.RTAOptions = models.RTAOptionsFromRequest(p.RtaOptions)
+ }
+
+ ag, err := as.executeAgentChange(ctx, agentID, changeParams)
+ if err != nil {
+ return nil, err
+ }
+
+ agent, ok := ag.(*inventoryv1.RTAMySQLAgent)
+ if !ok {
+ return nil, unexpectedAgentTypeError(ag)
+ }
+ as.state.RequestStateUpdate(ctx, agent.PmmAgentId)
+
+ res := &inventoryv1.ChangeAgentResponse{
+ Agent: &inventoryv1.ChangeAgentResponse_RtaMysqlAgent{
+ RtaMysqlAgent: agent,
+ },
+ }
+
+ return res, nil
+}
+
// Remove removes Agent, and sends state update to pmm-agent, or kicks it.
func (as *AgentsService) Remove(ctx context.Context, id string, force bool) error {
var removedAgent *models.Agent
diff --git a/managed/services/inventory/grpc/agents_server.go b/managed/services/inventory/grpc/agents_server.go
index f248a653be9..93e524b4a5f 100644
--- a/managed/services/inventory/grpc/agents_server.go
+++ b/managed/services/inventory/grpc/agents_server.go
@@ -58,6 +58,7 @@ var agentTypes = map[inventoryv1.AgentType]models.AgentType{
inventoryv1.AgentType_AGENT_TYPE_VM_AGENT: models.VMAgentType,
inventoryv1.AgentType_AGENT_TYPE_NOMAD_AGENT: models.NomadAgentType,
inventoryv1.AgentType_AGENT_TYPE_RTA_MONGODB_AGENT: models.RTAMongoDBAgentType,
+ inventoryv1.AgentType_AGENT_TYPE_RTA_MYSQL_AGENT: models.RTAMySQLAgentType,
}
func agentType(req *inventoryv1.ListAgentsRequest) *models.AgentType {
@@ -121,6 +122,8 @@ func (s *agentsServer) ListAgents(ctx context.Context, req *inventoryv1.ListAgen
res.NomadAgent = append(res.NomadAgent, agent)
case *inventoryv1.RTAMongoDBAgent:
res.RtaMongodbAgent = append(res.RtaMongodbAgent, agent)
+ case *inventoryv1.RTAMySQLAgent:
+ res.RtaMysqlAgent = append(res.RtaMysqlAgent, agent)
default:
panic(fmt.Errorf("unhandled inventory Agent type %T", agent))
}
@@ -175,6 +178,8 @@ func (s *agentsServer) GetAgent(ctx context.Context, req *inventoryv1.GetAgentRe
res.Agent = &inventoryv1.GetAgentResponse_NomadAgent{NomadAgent: agent}
case *inventoryv1.RTAMongoDBAgent:
res.Agent = &inventoryv1.GetAgentResponse_RtaMongodbAgent{RtaMongodbAgent: agent}
+ case *inventoryv1.RTAMySQLAgent:
+ res.Agent = &inventoryv1.GetAgentResponse_RtaMysqlAgent{RtaMysqlAgent: agent}
default:
panic(fmt.Errorf("unhandled inventory Agent type %T", agent))
}
@@ -231,6 +236,8 @@ func (s *agentsServer) AddAgent(ctx context.Context, req *inventoryv1.AddAgentRe
return s.s.AddQANPostgreSQLPgStatMonitorAgent(ctx, req.GetQanPostgresqlPgstatmonitorAgent())
case *inventoryv1.AddAgentRequest_RtaMongodbAgent:
return s.s.AddRTAMongoDBAgent(ctx, req.GetRtaMongodbAgent())
+ case *inventoryv1.AddAgentRequest_RtaMysqlAgent:
+ return s.s.AddRTAMySQLAgent(ctx, req.GetRtaMysqlAgent())
default:
return nil, status.Error(codes.InvalidArgument, fmt.Sprintf("invalid agent type %T", req.Agent))
}
@@ -275,6 +282,8 @@ func (s *agentsServer) ChangeAgent(ctx context.Context, req *inventoryv1.ChangeA
return s.s.ChangeNomadAgent(ctx, agentID, req.GetNomadAgent())
case *inventoryv1.ChangeAgentRequest_RtaMongodbAgent:
return s.s.ChangeRTAMongoDBAgent(ctx, agentID, req.GetRtaMongodbAgent())
+ case *inventoryv1.ChangeAgentRequest_RtaMysqlAgent:
+ return s.s.ChangeRTAMySQLAgent(ctx, agentID, req.GetRtaMysqlAgent())
default:
return nil, status.Error(codes.InvalidArgument, fmt.Sprintf("invalid agent type %T", req.Agent))
}
diff --git a/managed/services/management/agent.go b/managed/services/management/agent.go
index e2052409273..6444d8637f0 100644
--- a/managed/services/management/agent.go
+++ b/managed/services/management/agent.go
@@ -211,7 +211,7 @@ func (s *ManagementService) agentToAPI(agent *models.Agent) (*managementv1.Unive
IsTlsCertificateKeySet: agent.MongoDBOptions.TLSCertificateKey != "",
IsTlsCertificateKeyFilePasswordSet: agent.MongoDBOptions.TLSCertificateKeyFilePassword != "",
}
- case models.MySQLdExporterType, models.QANMySQLSlowlogAgentType, models.QANMySQLPerfSchemaAgentType:
+ case models.MySQLdExporterType, models.QANMySQLSlowlogAgentType, models.QANMySQLPerfSchemaAgentType, models.RTAMySQLAgentType:
ua.MysqlOptions = &managementv1.UniversalAgent_MySQLOptions{
IsTlsKeySet: agent.MySQLOptions.TLSKey != "",
}
diff --git a/managed/services/realtimeanalytics/gate_test.go b/managed/services/realtimeanalytics/gate_test.go
new file mode 100644
index 00000000000..2bd43ca6142
--- /dev/null
+++ b/managed/services/realtimeanalytics/gate_test.go
@@ -0,0 +1,49 @@
+// Copyright (C) 2023 Percona LLC
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+package realtimeanalytics
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+
+ "github.com/percona/pmm/managed/models"
+)
+
+func TestIsRtaFeatureSupported(t *testing.T) {
+ t.Parallel()
+
+ // MongoDB RTA shipped in 3.7.0.
+ assert.True(t, isRtaFeatureSupported("3.7.0", models.MongoDBServiceType))
+ assert.True(t, isRtaFeatureSupported("3.8.0", models.MongoDBServiceType))
+ assert.False(t, isRtaFeatureSupported("3.6.0", models.MongoDBServiceType))
+
+ // MySQL RTA shipped in 3.9.0 — an agent in [3.7.0, 3.9.0) supports MongoDB RTA but
+ // would not understand the MySQL builtin, so it must be reported as unsupported.
+ assert.False(t, isRtaFeatureSupported("3.7.0", models.MySQLServiceType))
+ assert.False(t, isRtaFeatureSupported("3.8.0", models.MySQLServiceType))
+ assert.False(t, isRtaFeatureSupported("3.8.99", models.MySQLServiceType))
+ assert.True(t, isRtaFeatureSupported("3.9.0", models.MySQLServiceType))
+ assert.True(t, isRtaFeatureSupported("3.10.0", models.MySQLServiceType))
+
+ // Service types that do not support RTA are never reported as supported,
+ // regardless of agent version.
+ assert.False(t, isRtaFeatureSupported("3.9.0", models.ValkeyServiceType))
+ assert.False(t, isRtaFeatureSupported("3.9.0", models.PostgreSQLServiceType))
+
+ // Unparsable version is never supported.
+ assert.False(t, isRtaFeatureSupported("not-a-version", models.MySQLServiceType))
+}
diff --git a/managed/services/realtimeanalytics/service.go b/managed/services/realtimeanalytics/service.go
index 0414f9b6558..cbd2766a68c 100644
--- a/managed/services/realtimeanalytics/service.go
+++ b/managed/services/realtimeanalytics/service.go
@@ -91,8 +91,8 @@ func (s *Service) ListServices(ctx context.Context, req *rtav1.ListServicesReque
return nil, err
}
} else {
- // No service type filter specified - return all services that support RTA.
- // For the time being we only support MongoDB, so we can just filter by service type here.
+ // No service type filter specified - return all services that support RTA
+ // (currently MongoDB and MySQL), filtered by service type.
for _, modelServiceType := range services.ServiceTypes {
_, err := getRTAAgentTypeForServiceType(modelServiceType)
if err != nil {
@@ -137,7 +137,7 @@ func (s *Service) ListServices(ctx context.Context, req *rtav1.ListServicesReque
// PMM Agent that is linked to the requested service may be outdated and doesn't support RTA.
// In this case we cannot start RTA session for this service and should return an error.
- if !isRtaFeatureSupported(*pmmAgents[0].Version) {
+ if !isRtaFeatureSupported(pointer.GetString(pmmAgents[0].Version), svc.ServiceType) {
continue // skip services with unsupported pmm-agent version
}
@@ -150,6 +150,8 @@ func (s *Service) ListServices(ctx context.Context, req *rtav1.ListServicesReque
switch apiSvc := apiSvc.(type) {
case *inventoryv1.MongoDBService:
res.Mongodb = append(res.Mongodb, apiSvc)
+ case *inventoryv1.MySQLService:
+ res.Mysql = append(res.Mysql, apiSvc)
// Add other service types once RTA is supported for them
default:
return nil, fmt.Errorf("unhandled inventory Service type %T", apiSvc)
@@ -160,6 +162,10 @@ func (s *Service) ListServices(ctx context.Context, req *rtav1.ListServicesReque
return strings.Compare(a.ServiceName, b.ServiceName)
})
+ slices.SortStableFunc(res.Mysql, func(a, b *inventoryv1.MySQLService) int {
+ return strings.Compare(a.ServiceName, b.ServiceName)
+ })
+
return res, nil
}
@@ -261,6 +267,19 @@ func (s *Service) StartSession(ctx context.Context, req *rtav1.StartSessionReque
// RTA Agent exists - update its state if required
rtaAgent = existingRTAAgents[0]
+
+ // The agent may have been created through the inventory API against a
+ // pmm-agent that predates RTA support for this service type; don't
+ // enable or report a session that pmm-agent cannot run.
+ pmmAgent, err := models.FindAgentByID(tx.Querier, pointer.GetString(rtaAgent.PMMAgentID))
+ if err != nil {
+ return err
+ }
+ if !isRtaFeatureSupported(pointer.GetString(pmmAgent.Version), service.ServiceType) {
+ return status.Errorf(codes.FailedPrecondition,
+ "Service %s has pmm-agent with version not supporting Real-Time Analytics.", service.ServiceID)
+ }
+
if !rtaAgent.Disabled {
return nil // Already enabled, nothing to do
}
@@ -310,6 +329,12 @@ func (s *Service) StartSession(ctx context.Context, req *rtav1.StartSessionReque
models.QANMongoDBProfilerAgentType,
models.QANMongoDBMongologAgentType,
}
+ case models.MySQLServiceType:
+ agentTypes = []models.AgentType{
+ models.MySQLdExporterType,
+ models.QANMySQLPerfSchemaAgentType,
+ models.QANMySQLSlowlogAgentType,
+ }
// Add other service types once RTA is supported for them
default:
return nil, status.Errorf(codes.InvalidArgument,
@@ -352,7 +377,7 @@ func (s *Service) StartSession(ctx context.Context, req *rtav1.StartSessionReque
// PMM Agent that is linked to the requested service may be outdated and doesn't support RTA.
// In this case we cannot start RTA session for this service and should return an error.
- if !isRtaFeatureSupported(*pmmAgent.Version) {
+ if !isRtaFeatureSupported(pointer.GetString(pmmAgent.Version), service.ServiceType) {
return nil, status.Errorf(codes.FailedPrecondition,
"Service %s has pmm-agent with version not supporting Real-Time Analytics.", service.ServiceID)
}
@@ -604,6 +629,7 @@ func (s *Service) convertAgentToSession(agent *models.Agent, service *models.Ser
return &rtav1.Session{
ServiceId: service.ServiceID,
ServiceName: service.ServiceName,
+ ServiceType: getProtoServiceType(service.ServiceType),
ClusterName: service.Cluster,
StartTime: timestamppb.New(agent.CreatedAt),
CollectInterval: durationpb.New(*agent.RTAOptions.CollectInterval),
@@ -611,23 +637,58 @@ func (s *Service) convertAgentToSession(agent *models.Agent, service *models.Ser
}
}
+func getProtoServiceType(serviceType models.ServiceType) inventoryv1.ServiceType {
+ switch serviceType {
+ case models.MongoDBServiceType:
+ return inventoryv1.ServiceType_SERVICE_TYPE_MONGODB_SERVICE
+ case models.MySQLServiceType:
+ return inventoryv1.ServiceType_SERVICE_TYPE_MYSQL_SERVICE
+ default:
+ return inventoryv1.ServiceType_SERVICE_TYPE_UNSPECIFIED
+ }
+}
+
func getRTAAgentTypeForServiceType(serviceType models.ServiceType) (models.AgentType, error) {
switch serviceType {
case models.MongoDBServiceType:
return models.RTAMongoDBAgentType, nil
+ case models.MySQLServiceType:
+ return models.RTAMySQLAgentType, nil
default:
return "", fmt.Errorf("service of type %s does not support Real-Time Analytics", serviceType)
}
}
-// isRtaFeatureSupported checks if the passed pmm-agent's version supporting RTA.
-func isRtaFeatureSupported(pmmAgentVersion string) bool {
+// rtaMinAgentVersion returns the minimum pmm-agent version that ships the RTA
+// collector for the given service type, and whether RTA is supported for that
+// type at all. Different database collectors landed in different releases, so
+// the gate must be per-service-type; unsupported types return ok=false.
+func rtaMinAgentVersion(serviceType models.ServiceType) (version.FeatureVersion, bool) {
+ switch serviceType {
+ case models.MongoDBServiceType:
+ return version.MongoDBRtaAgentSupportVersion, true
+ case models.MySQLServiceType:
+ return version.MySQLRtaAgentSupportVersion, true
+ default:
+ return nil, false
+ }
+}
+
+// isRtaFeatureSupported checks if the passed pmm-agent's version supports RTA for
+// the given service type. It returns false for service types that do not support
+// RTA at all, rather than assuming a default version.
+func isRtaFeatureSupported(pmmAgentVersion string, serviceType models.ServiceType) bool {
+ minVersion, ok := rtaMinAgentVersion(serviceType)
+ if !ok {
+ return false
+ }
+
versionParsed, versionParseErr := version.Parse(pmmAgentVersion)
if versionParseErr != nil {
return false
}
- return versionParsed.IsFeatureSupported(version.MongoDBRtaAgentSupportVersion)
+ return versionParsed.IsFeatureSupported(minVersion)
}
// check interfaces.
diff --git a/managed/services/realtimeanalytics/service_test.go b/managed/services/realtimeanalytics/service_test.go
index be12458c710..c0988c52348 100644
--- a/managed/services/realtimeanalytics/service_test.go
+++ b/managed/services/realtimeanalytics/service_test.go
@@ -246,6 +246,7 @@ func TestListSessions(t *testing.T) {
assert.Equal(t, service.ServiceID, resp.Sessions[0].ServiceId)
assert.Equal(t, service.ServiceName, resp.Sessions[0].ServiceName)
+ assert.Equal(t, inventoryv1.ServiceType_SERVICE_TYPE_MONGODB_SERVICE, resp.Sessions[0].ServiceType)
assert.Equal(t, "test-cluster", resp.Sessions[0].ClusterName)
assert.Equal(t, rtav1.SessionStatus_SESSION_STATUS_RUNNING, resp.Sessions[0].Status)
assert.NotNil(t, resp.Sessions[0].StartTime)
@@ -488,6 +489,60 @@ func TestStartSession(t *testing.T) {
assert.Equal(t, status.Convert(err).Message(), fmt.Sprintf("Service %s has pmm-agent with version not supporting Real-Time Analytics.",
serviceOld.ServiceID))
})
+
+ t.Run("existing RTA agent on pmm-agent that doesn't support RTA", func(t *testing.T) {
+ // An RTA agent created through the inventory API may be linked to a
+ // pmm-agent that predates RTA support for its service type. Starting a
+ // session for it must fail instead of enabling an agent that cannot run.
+ nodeOld, err := models.CreateNode(db.Querier, models.GenericNodeType, &models.CreateNodeParams{
+ NodeName: "test-node-3",
+ })
+ require.NoError(t, err)
+
+ pmmAgentOld, err := models.CreatePMMAgent(db.Querier, nodeOld.NodeID, nil)
+ require.NoError(t, err)
+
+ // 3.8.0 ships the MongoDB RTA collector but not the MySQL one.
+ pmmAgentOld.Version = new("3.8.0")
+ err = db.Update(pmmAgentOld)
+ require.NoError(t, err)
+
+ serviceMySQL, err := models.AddNewService(db.Querier, models.MySQLServiceType, &models.AddDBMSServiceParams{
+ ServiceName: "mysql-old",
+ NodeID: nodeOld.NodeID,
+ Address: new("127.0.0.1"),
+ Port: new(uint16(3306)),
+ Cluster: "cluster-3",
+ })
+ require.NoError(t, err)
+
+ _, err = models.CreateAgent(db.Querier, models.RTAMySQLAgentType, &models.CreateAgentParams{
+ PMMAgentID: pmmAgentOld.AgentID,
+ ServiceID: serviceMySQL.ServiceID,
+ Username: "test-user",
+ Password: "test-pass",
+ Disabled: true,
+ RTAOptions: models.RTAOptions{CollectInterval: new(2 * time.Second)},
+ })
+ require.NoError(t, err)
+
+ _, err = svc.StartSession(t.Context(), &rtav1.StartSessionRequest{
+ ServiceId: serviceMySQL.ServiceID,
+ })
+ require.Error(t, err)
+ assert.Equal(t, codes.FailedPrecondition, status.Convert(err).Code())
+ assert.Equal(t, status.Convert(err).Message(), fmt.Sprintf("Service %s has pmm-agent with version not supporting Real-Time Analytics.",
+ serviceMySQL.ServiceID))
+
+ // The agent must remain disabled.
+ agents, err := models.FindAgents(db.Querier, models.AgentFilters{
+ ServiceID: serviceMySQL.ServiceID,
+ AgentType: new(models.RTAMySQLAgentType),
+ })
+ require.NoError(t, err)
+ require.Len(t, agents, 1)
+ assert.True(t, agents[0].Disabled)
+ })
}
func TestStopSession(t *testing.T) {
@@ -906,3 +961,14 @@ func TestService_Collect(t *testing.T) {
assert.Equal(t, "mongodb-1", storeqQs[i].ServiceName)
}
}
+
+func TestGetProtoServiceType(t *testing.T) {
+ t.Parallel()
+
+ assert.Equal(t, inventoryv1.ServiceType_SERVICE_TYPE_MYSQL_SERVICE, getProtoServiceType(models.MySQLServiceType))
+ assert.Equal(t, inventoryv1.ServiceType_SERVICE_TYPE_MONGODB_SERVICE, getProtoServiceType(models.MongoDBServiceType))
+
+ // Service types that cannot run RTA carry no technology rather than a wrong one.
+ assert.Equal(t, inventoryv1.ServiceType_SERVICE_TYPE_UNSPECIFIED, getProtoServiceType(models.PostgreSQLServiceType))
+ assert.Equal(t, inventoryv1.ServiceType_SERVICE_TYPE_UNSPECIFIED, getProtoServiceType(models.ExternalServiceType))
+}
diff --git a/managed/services/victoriametrics/prometheus.go b/managed/services/victoriametrics/prometheus.go
index df635de059e..ddc4e6a93bf 100644
--- a/managed/services/victoriametrics/prometheus.go
+++ b/managed/services/victoriametrics/prometheus.go
@@ -196,7 +196,7 @@ func AddScrapeConfigs(l *logrus.Entry, cfg *config.Config, q *reform.Querier, //
continue
case models.QANPostgreSQLPgStatementsAgentType, models.QANPostgreSQLPgStatMonitorAgentType:
continue
- case models.RTAMongoDBAgentType:
+ case models.RTAMongoDBAgentType, models.RTAMySQLAgentType:
continue
case models.RDSExporterType:
if skipExternalAgents && pointer.GetString(agent.RunsOnNodeID) == models.PMMServerNodeID {
diff --git a/ui/apps/pmm/src/hooks/api/useRealtime.ts b/ui/apps/pmm/src/hooks/api/useRealtime.ts
index 6e87afe2597..d87d82d4872 100644
--- a/ui/apps/pmm/src/hooks/api/useRealtime.ts
+++ b/ui/apps/pmm/src/hooks/api/useRealtime.ts
@@ -13,6 +13,8 @@ import {
stopSession,
} from 'api/rta';
import {
+ AvailableService,
+ AvailableServicesResponse,
RealtimeSession,
StartSessionResponse,
StartSessionPayload,
@@ -21,12 +23,22 @@ import {
QueryData,
RawQueryData,
} from 'types/rta.types';
-import { ServiceType, VersionedService } from 'types/services.types';
+import { ServiceType } from 'types/services.types';
import { useMemo } from 'react';
import { EmptyResponse } from 'types/util.types';
import { parseDuration } from 'utils/duration.utils';
import { useUser } from 'contexts/user';
+// Maps the technology-keyed groups of the ListServices response to the service
+// type each group holds. Add a key here when RTA gains another engine.
+const AVAILABLE_SERVICE_TYPES: Record<
+ keyof AvailableServicesResponse,
+ ServiceType
+> = {
+ mongodb: ServiceType.mongodb,
+ mysql: ServiceType.mysql,
+};
+
const KEYS = {
LIST_SESSIONS: 'rta:list-sessions',
START_SESSION: 'rta:start-session',
@@ -117,27 +129,40 @@ export const useStopSessions = (
};
/**
- * Hook to get MongoDB services that don't have running RTA agents
+ * Hook to get services (MongoDB, MySQL, ...) that don't have running RTA agents
*/
export const useAvailableServices = (serviceTypes?: ServiceType[]) => {
const { user } = useUser();
const { data: sessions, isLoading: isLoadingSessions } =
useRealtimeSessions();
- const { data: services = { mongodb: [] }, isLoading: isLoadingServices } =
- useQuery({
- queryKey: [KEYS.AVAILABLE_SERVICES],
- queryFn: () => getAvailableServices(serviceTypes),
- enabled: !!user,
- });
-
- const availableServices = useMemo(() => {
+ const {
+ data: services = { mongodb: [], mysql: [] },
+ isLoading: isLoadingServices,
+ } = useQuery({
+ queryKey: [KEYS.AVAILABLE_SERVICES],
+ queryFn: () => getAvailableServices(serviceTypes),
+ enabled: !!user,
+ });
+
+ const availableServices = useMemo(() => {
const runningServiceIds = (sessions || []).map(
(session) => session.serviceId
);
- // Filter out services that already have running RTA agents
- return Object.values(services)
- .flat()
+ // Filter out services that already have running RTA agents. The response
+ // groups services by technology, so the key is what tells us the type -
+ // it is carried over onto each service rather than flattened away.
+ return (
+ Object.keys(
+ AVAILABLE_SERVICE_TYPES
+ ) as (keyof AvailableServicesResponse)[]
+ )
+ .flatMap((serviceKey) =>
+ (services[serviceKey] ?? []).map((service) => ({
+ ...service,
+ serviceType: AVAILABLE_SERVICE_TYPES[serviceKey],
+ }))
+ )
.filter((service) => !runningServiceIds.includes(service.serviceId));
}, [services, sessions]);
diff --git a/ui/apps/pmm/src/pages/rta/components/services-autocomplete-input/ServicesAutocompleteInput.tsx b/ui/apps/pmm/src/pages/rta/components/services-autocomplete-input/ServicesAutocompleteInput.tsx
index ff2046946ee..8477a7f208f 100644
--- a/ui/apps/pmm/src/pages/rta/components/services-autocomplete-input/ServicesAutocompleteInput.tsx
+++ b/ui/apps/pmm/src/pages/rta/components/services-autocomplete-input/ServicesAutocompleteInput.tsx
@@ -15,6 +15,10 @@ import {
ServicesAutocompleteInputProps,
} from './ServicesAutocompleteInput.types';
import ServiceTags from './components/ServiceTags';
+import {
+ sharedTechnology,
+ technologyLabel,
+} from 'pages/rta/components/technology';
const ServicesAutocompleteInput: FC = ({
disabled = false,
@@ -22,6 +26,7 @@ const ServicesAutocompleteInput: FC = ({
onServiceIdsChange,
inputProps,
tagPresentation = 'label',
+ singleTechnology = false,
'data-testid': testId,
...props
}) => {
@@ -32,6 +37,23 @@ const ServicesAutocompleteInput: FC = ({
() => serviceOptions.filter((option) => serviceIds?.includes(option.id)),
[serviceOptions, serviceIds]
);
+ // With singleTechnology the picker feeds one view of live queries, which
+ // cannot mix engines, so the first pick fixes the technology and the others
+ // are disabled until the selection is cleared.
+ const selectedTechnology = useMemo(
+ () =>
+ singleTechnology
+ ? sharedTechnology(
+ selectedServices
+ .filter((option) => option.type === 'service')
+ .map((option) => option.serviceType)
+ )
+ : undefined,
+ [singleTechnology, selectedServices]
+ );
+ const isOptionDisabled = (option: ServiceOption) =>
+ selectedTechnology !== undefined &&
+ option.serviceType !== selectedTechnology;
const handleServiceChange = (
_event: React.SyntheticEvent,
@@ -61,6 +83,8 @@ const ServicesAutocompleteInput: FC = ({
value={selectedServices}
onChange={handleServiceChange}
getOptionLabel={(option) => option.label}
+ groupBy={(option) => technologyLabel(option.serviceType)}
+ getOptionDisabled={isOptionDisabled}
isOptionEqualToValue={(option, value) => option.id === value.id}
disableCloseOnSelect
limitTags={2}
@@ -85,6 +109,7 @@ const ServicesAutocompleteInput: FC = ({
key={option.id}
option={option}
selected={selected}
+ disabled={isOptionDisabled(option)}
clusterSelectionState={
option.type === 'cluster'
? getClusterSelectionState(
diff --git a/ui/apps/pmm/src/pages/rta/components/services-autocomplete-input/ServicesAutocompleteInput.types.ts b/ui/apps/pmm/src/pages/rta/components/services-autocomplete-input/ServicesAutocompleteInput.types.ts
index 454ff7fd6ac..606a1bc8e3c 100644
--- a/ui/apps/pmm/src/pages/rta/components/services-autocomplete-input/ServicesAutocompleteInput.types.ts
+++ b/ui/apps/pmm/src/pages/rta/components/services-autocomplete-input/ServicesAutocompleteInput.types.ts
@@ -1,6 +1,6 @@
import { AutocompleteRenderInputParams } from '@mui/material/Autocomplete';
-import { RealtimeSession } from 'types/rta.types';
-import { VersionedService } from 'types/services.types';
+import { AvailableService, RealtimeSession } from 'types/rta.types';
+import { ServiceType } from 'types/services.types';
export type TagPresentation = 'label' | 'tags';
@@ -10,6 +10,9 @@ interface BaseProps {
serviceIds: string[];
onServiceIdsChange: (serviceIds: string[]) => void;
inputProps?: Partial;
+ // Restrict the selection to one database technology. Set where the picker
+ // drives a single view of live queries; starting sessions has no such limit.
+ singleTechnology?: boolean;
'data-testid'?: string;
}
@@ -18,7 +21,7 @@ type PropsWithSessions = BaseProps & {
};
type PropsWithServices = BaseProps & {
- services: VersionedService[];
+ services: AvailableService[];
};
export type ServicesAutocompleteInputProps =
@@ -31,6 +34,9 @@ export interface ServiceOption {
label: string;
serviceId?: string;
cluster?: string;
+ // For a cluster option this is the technology shared by its services, and is
+ // left unset if they somehow disagree.
+ serviceType?: ServiceType;
}
export type ClusterSelectionState = 'all' | 'partial' | 'none';
diff --git a/ui/apps/pmm/src/pages/rta/components/services-autocomplete-input/ServicesAutocompleteInput.utils.ts b/ui/apps/pmm/src/pages/rta/components/services-autocomplete-input/ServicesAutocompleteInput.utils.ts
index 92c1a2a6a48..47b9919bd10 100644
--- a/ui/apps/pmm/src/pages/rta/components/services-autocomplete-input/ServicesAutocompleteInput.utils.ts
+++ b/ui/apps/pmm/src/pages/rta/components/services-autocomplete-input/ServicesAutocompleteInput.utils.ts
@@ -1,9 +1,12 @@
-import { VersionedService } from 'types/services.types';
import {
ClusterSelectionState,
ServiceOption,
} from './ServicesAutocompleteInput.types';
-import { RealtimeSession } from 'types/rta.types';
+import { AvailableService, RealtimeSession } from 'types/rta.types';
+import {
+ sharedTechnology,
+ technologyLabel,
+} from 'pages/rta/components/technology';
/**
* Get the selection state of a cluster
@@ -40,15 +43,51 @@ export const getClusterSelectionState = (
* Build service options from available services
*/
export const getServiceOptions = (
- services: VersionedService[] | RealtimeSession[]
+ services: AvailableService[] | RealtimeSession[]
): ServiceOption[] => {
if (services.length === 0) {
return [];
}
+ // The picker groups options by technology and MUI expects the list to arrive
+ // already sorted by group, otherwise a header repeats for every run of
+ // options. Services we cannot name sort last, so they end up in one trailing
+ // group rather than scattered.
+ const byTechnology = new Map<
+ string,
+ (AvailableService | RealtimeSession)[]
+ >();
+
+ services.forEach((service) => {
+ const label = technologyLabel(service.serviceType);
+ const group = byTechnology.get(label);
+
+ if (group) {
+ group.push(service);
+ } else {
+ byTechnology.set(label, [service]);
+ }
+ });
+
+ return Array.from(byTechnology.keys())
+ .sort((a, b) => {
+ if (!a || !b) {
+ return a ? -1 : 1;
+ }
+
+ return a.localeCompare(b);
+ })
+ .flatMap((label) => getClusterOptions(byTechnology.get(label) ?? []));
+};
+
+// getClusterOptions lays out one technology's services: standalone ones first,
+// then each cluster header followed by its services.
+const getClusterOptions = (
+ services: (AvailableService | RealtimeSession)[]
+): ServiceOption[] => {
// Group services by cluster
- const clusterMap = new Map();
- const standaloneServices: (VersionedService | RealtimeSession)[] = [];
+ const clusterMap = new Map();
+ const standaloneServices: (AvailableService | RealtimeSession)[] = [];
services.forEach((service) => {
let clusterName = '';
@@ -82,6 +121,7 @@ export const getServiceOptions = (
id: service.serviceId,
label: service.serviceName,
serviceId: service.serviceId,
+ serviceType: service.serviceType,
});
});
@@ -95,6 +135,9 @@ export const getServiceOptions = (
id: `cluster-${clusterName}`,
label: clusterName,
cluster: clusterName,
+ serviceType: sharedTechnology(
+ clusterServices.map((service) => service.serviceType)
+ ),
});
// Add cluster services sorted by name
@@ -107,6 +150,7 @@ export const getServiceOptions = (
label: service.serviceName,
serviceId: service.serviceId,
cluster: clusterName,
+ serviceType: service.serviceType,
});
});
});
diff --git a/ui/apps/pmm/src/pages/rta/components/services-autocomplete-input/components/ServiceOption.tsx b/ui/apps/pmm/src/pages/rta/components/services-autocomplete-input/components/ServiceOption.tsx
index ebc9b030467..67f12f4c3ad 100644
--- a/ui/apps/pmm/src/pages/rta/components/services-autocomplete-input/components/ServiceOption.tsx
+++ b/ui/apps/pmm/src/pages/rta/components/services-autocomplete-input/components/ServiceOption.tsx
@@ -5,12 +5,12 @@ import {
ClusterSelectionState,
ServiceOption as ServiceOptionType,
} from '../ServicesAutocompleteInput.types';
-
interface Props extends HTMLAttributes {
option: ServiceOptionType;
selected: boolean;
clusterSelectionState?: ClusterSelectionState;
onClusterToggle?: (clusterName: string) => void;
+ disabled?: boolean;
}
const ServiceOption: FC = ({
@@ -18,6 +18,7 @@ const ServiceOption: FC = ({
selected,
clusterSelectionState,
onClusterToggle,
+ disabled = false,
...props
}) => {
const { key, ...otherProps } = props as HTMLAttributes & {
@@ -30,10 +31,14 @@ const ServiceOption: FC = ({
const isFullySelected = isCluster && clusterSelectionState === 'all';
const isPartiallySelected = isCluster && clusterSelectionState === 'partial';
+ // Cluster rows drive their own toggle rather than MUI's option click, so a
+ // disabled row has to opt out of both handlers itself.
const handleClick = isCluster
? (e: React.MouseEvent) => {
e.stopPropagation();
- onClusterToggle?.(option.label);
+ if (!disabled) {
+ onClusterToggle?.(option.label);
+ }
}
: otherProps.onClick;
@@ -51,12 +56,14 @@ const ServiceOption: FC = ({
padding: '0 8px',
paddingLeft: isServiceInCluster ? '40px' : '8px',
position: 'relative',
+ ...(disabled && { opacity: 0.5, pointerEvents: 'none' }),
},
}}
>
= ({
flex: 1,
py: '9px',
px: 1,
+ display: 'flex',
+ alignItems: 'center',
+ gap: 1,
}}
>
{option.label}
diff --git a/ui/apps/pmm/src/pages/rta/components/technology/Technology.messages.ts b/ui/apps/pmm/src/pages/rta/components/technology/Technology.messages.ts
new file mode 100644
index 00000000000..009a5384beb
--- /dev/null
+++ b/ui/apps/pmm/src/pages/rta/components/technology/Technology.messages.ts
@@ -0,0 +1,4 @@
+export const Messages = {
+ mongodb: 'MongoDB',
+ mysql: 'MySQL',
+};
diff --git a/ui/apps/pmm/src/pages/rta/components/technology/Technology.tsx b/ui/apps/pmm/src/pages/rta/components/technology/Technology.tsx
new file mode 100644
index 00000000000..e6fb09888c3
--- /dev/null
+++ b/ui/apps/pmm/src/pages/rta/components/technology/Technology.tsx
@@ -0,0 +1,22 @@
+import type { FC } from 'react';
+import { ServiceType } from 'types/services.types';
+import { technologyLabel } from './Technology.utils';
+
+interface Props {
+ serviceType?: ServiceType;
+}
+
+// Technology names the database technology of a service in words. The pickers
+// carry it in their group headers instead, so this is only used where a row
+// needs to state it on its own.
+const Technology: FC = ({ serviceType }) => {
+ const label = technologyLabel(serviceType);
+
+ if (!label) {
+ return null;
+ }
+
+ return {label};
+};
+
+export default Technology;
diff --git a/ui/apps/pmm/src/pages/rta/components/technology/Technology.utils.test.ts b/ui/apps/pmm/src/pages/rta/components/technology/Technology.utils.test.ts
new file mode 100644
index 00000000000..c91bb2a4805
--- /dev/null
+++ b/ui/apps/pmm/src/pages/rta/components/technology/Technology.utils.test.ts
@@ -0,0 +1,29 @@
+import { describe, it, expect } from 'vitest';
+import { ServiceType } from 'types/services.types';
+import { sharedTechnology, technologyLabel } from './Technology.utils';
+
+describe('technologyLabel', () => {
+ it('names the technologies RTA supports', () => {
+ expect(technologyLabel(ServiceType.mysql)).toBe('MySQL');
+ expect(technologyLabel(ServiceType.mongodb)).toBe('MongoDB');
+ });
+
+ it('returns an empty label for anything else', () => {
+ expect(technologyLabel(undefined)).toBe('');
+ expect(technologyLabel(ServiceType.posgresql)).toBe('');
+ });
+});
+
+describe('sharedTechnology', () => {
+ it('returns the common technology', () => {
+ expect(sharedTechnology([ServiceType.mysql, ServiceType.mysql])).toBe(
+ ServiceType.mysql
+ );
+ });
+
+ it('returns nothing when the services disagree', () => {
+ expect(
+ sharedTechnology([ServiceType.mysql, ServiceType.mongodb])
+ ).toBeUndefined();
+ });
+});
diff --git a/ui/apps/pmm/src/pages/rta/components/technology/Technology.utils.ts b/ui/apps/pmm/src/pages/rta/components/technology/Technology.utils.ts
new file mode 100644
index 00000000000..a55eae2a633
--- /dev/null
+++ b/ui/apps/pmm/src/pages/rta/components/technology/Technology.utils.ts
@@ -0,0 +1,23 @@
+import { ServiceType } from 'types/services.types';
+import { Messages } from './Technology.messages';
+
+// Only the technologies Real-Time Analytics supports are named here; anything
+// else renders without a label rather than as an empty or raw enum value.
+const TECHNOLOGY_LABELS: Partial> = {
+ [ServiceType.mongodb]: Messages.mongodb,
+ [ServiceType.mysql]: Messages.mysql,
+};
+
+export const technologyLabel = (serviceType?: ServiceType): string =>
+ (serviceType && TECHNOLOGY_LABELS[serviceType]) || '';
+
+// sharedTechnology returns the technology common to every service, or undefined
+// when they disagree - used for rows that stand for a whole cluster, and to
+// decide which technology a selection of services belongs to.
+export const sharedTechnology = (
+ serviceTypes: (ServiceType | undefined)[]
+): ServiceType | undefined => {
+ const distinct = new Set(serviceTypes);
+
+ return distinct.size === 1 ? serviceTypes[0] : undefined;
+};
diff --git a/ui/apps/pmm/src/pages/rta/components/technology/index.ts b/ui/apps/pmm/src/pages/rta/components/technology/index.ts
new file mode 100644
index 00000000000..a9d266cdf8c
--- /dev/null
+++ b/ui/apps/pmm/src/pages/rta/components/technology/index.ts
@@ -0,0 +1,2 @@
+export { default as Technology } from './Technology';
+export { sharedTechnology, technologyLabel } from './Technology.utils';
diff --git a/ui/apps/pmm/src/pages/rta/messages.ts b/ui/apps/pmm/src/pages/rta/messages.ts
index 35cb3ef77db..7fd380a70c2 100644
--- a/ui/apps/pmm/src/pages/rta/messages.ts
+++ b/ui/apps/pmm/src/pages/rta/messages.ts
@@ -1,4 +1,4 @@
export const Messages = {
disclaimer:
- 'Currently available for MongoDB only connected through PMM Client 3.7.0 or newer. More databases coming soon.',
+ 'Currently available for MongoDB (PMM Client 3.7.0+) and MySQL (PMM Client 3.9.0+). More databases coming soon.',
};
diff --git a/ui/apps/pmm/src/pages/rta/overview/RealtimeOverview.messages.ts b/ui/apps/pmm/src/pages/rta/overview/RealtimeOverview.messages.ts
index 47a5ea59f8e..709c37c662d 100644
--- a/ui/apps/pmm/src/pages/rta/overview/RealtimeOverview.messages.ts
+++ b/ui/apps/pmm/src/pages/rta/overview/RealtimeOverview.messages.ts
@@ -3,5 +3,8 @@ export const Messages = {
pause: 'Pause',
resume: 'Resume',
refresh: 'Refresh',
+ hideCommit: 'Hide transaction control',
+ hideCommitTooltip:
+ 'Hide transaction-control statements (COMMIT, ROLLBACK, BEGIN, START TRANSACTION) from the list.',
export: 'Export',
};
diff --git a/ui/apps/pmm/src/pages/rta/overview/RealtimeOverview.test.tsx b/ui/apps/pmm/src/pages/rta/overview/RealtimeOverview.test.tsx
index bada615bfac..d405edb7c83 100644
--- a/ui/apps/pmm/src/pages/rta/overview/RealtimeOverview.test.tsx
+++ b/ui/apps/pmm/src/pages/rta/overview/RealtimeOverview.test.tsx
@@ -5,6 +5,7 @@ import {
TEST_MONGO_DB_QUERY_DATA,
TEST_REAL_TIME_SESSION,
TEST_REAL_TIME_SESSION_2,
+ TEST_REAL_TIME_SESSION_MYSQL,
} from 'utils/testStubs';
import { MemoryRouter, Route, Routes } from 'react-router-dom';
import { Messages } from './RealtimeOverview.messages';
@@ -29,6 +30,17 @@ vi.mock('api/rta', () => ({
getRunningSessions,
}));
+// The overview derives the technology of the selection by matching the URL's
+// serviceIds against the running sessions, so a test that cares about the
+// technology has to line those up.
+const renderMySqlSelection = () => {
+ getRunningSessions.mockResolvedValue([TEST_REAL_TIME_SESSION_MYSQL]);
+
+ return renderComponent({
+ initialEntry: `/rta/overview?serviceIds=${TEST_REAL_TIME_SESSION_MYSQL.serviceId}`,
+ });
+};
+
const renderComponent = ({
initialEntry = '/rta/overview?serviceIds=123',
}: {
@@ -84,6 +96,167 @@ describe('RealtimeOverview', () => {
);
});
+ it('should hide the database and user columns by default', async () => {
+ renderMySqlSelection();
+
+ await waitFor(() =>
+ screen.getByTestId(`query-${TEST_MONGO_DB_QUERY_DATA.queryId}-host-cell`)
+ );
+
+ expect(
+ screen.queryByTestId(
+ `query-${TEST_MONGO_DB_QUERY_DATA.queryId}-database-cell`
+ )
+ ).not.toBeInTheDocument();
+ expect(
+ screen.queryByTestId(
+ `query-${TEST_MONGO_DB_QUERY_DATA.queryId}-user-cell`
+ )
+ ).not.toBeInTheDocument();
+ });
+
+ it('should render database and user columns from the payload once revealed', async () => {
+ renderMySqlSelection();
+
+ await waitFor(() =>
+ screen.getByTestId(`query-${TEST_MONGO_DB_QUERY_DATA.queryId}-host-cell`)
+ );
+
+ fireEvent.click(screen.getByLabelText('Show/Hide columns'));
+ fireEvent.click(await screen.findByLabelText('Database'));
+ fireEvent.click(screen.getByLabelText('User'));
+
+ await waitFor(() =>
+ expect(
+ screen.getByTestId(
+ `query-${TEST_MONGO_DB_QUERY_DATA.queryId}-database-cell`
+ )
+ ).toHaveTextContent('database-name')
+ );
+ expect(
+ screen.getByTestId(`query-${TEST_MONGO_DB_QUERY_DATA.queryId}-user-cell`)
+ ).toHaveTextContent('username');
+ });
+
+ it('should render elapsed time with millisecond precision, and 0 as a duration', async () => {
+ searchQueries.mockResolvedValue({
+ queries: [
+ {
+ ...TEST_MONGO_DB_QUERY_DATA,
+ queryExecutionDuration: '3ms',
+ queryId: 'query-ms',
+ },
+ {
+ ...TEST_MONGO_DB_QUERY_DATA,
+ queryExecutionDuration: '0s',
+ queryId: 'query-zero',
+ },
+ {
+ ...TEST_MONGO_DB_QUERY_DATA,
+ queryExecutionDuration: null,
+ queryId: 'query-missing',
+ },
+ ],
+ });
+
+ renderComponent();
+
+ await waitFor(() =>
+ expect(
+ screen.getByTestId('query-query-ms-elapsed-time-cell')
+ ).toHaveTextContent('0.003s')
+ );
+ expect(
+ screen.getByTestId('query-query-zero-elapsed-time-cell')
+ ).toHaveTextContent('0.000s');
+ expect(
+ screen.getByTestId('query-query-missing-elapsed-time-cell')
+ ).toHaveTextContent('Unavailable');
+ });
+
+ it('should hide the transaction control toggle for a MongoDB selection', async () => {
+ renderComponent();
+
+ await waitFor(() => screen.getByTestId('realtime-overview-table'));
+
+ expect(
+ screen.queryByTestId('overview-table-hide-commit-toggle')
+ ).not.toBeInTheDocument();
+ });
+
+ it('should show the transaction control toggle for a MySQL selection', async () => {
+ renderMySqlSelection();
+
+ await waitFor(() =>
+ expect(
+ screen.getByTestId('overview-table-hide-commit-toggle')
+ ).toHaveTextContent('Hide transaction control')
+ );
+ });
+
+ it('should not offer services of another technology while one is selected', async () => {
+ getRunningSessions.mockResolvedValue([
+ TEST_REAL_TIME_SESSION,
+ TEST_REAL_TIME_SESSION_MYSQL,
+ ]);
+
+ renderComponent({
+ initialEntry: `/rta/overview?serviceIds=${TEST_REAL_TIME_SESSION_MYSQL.serviceId}`,
+ });
+
+ fireEvent.click(await screen.findByTitle('Open'));
+
+ expect(
+ await screen.findByTestId(
+ `service-option-${TEST_REAL_TIME_SESSION_MYSQL.serviceId}`
+ )
+ ).not.toHaveAttribute('aria-disabled', 'true');
+ expect(
+ screen.getByTestId(`service-option-${TEST_REAL_TIME_SESSION.serviceId}`)
+ ).toHaveAttribute('aria-disabled', 'true');
+ });
+
+ it('should watch only the first technology when the URL names both', async () => {
+ getRunningSessions.mockResolvedValue([
+ TEST_REAL_TIME_SESSION,
+ TEST_REAL_TIME_SESSION_MYSQL,
+ ]);
+
+ renderComponent({
+ initialEntry: `/rta/overview?serviceIds=${TEST_REAL_TIME_SESSION_MYSQL.serviceId}&serviceIds=${TEST_REAL_TIME_SESSION.serviceId}`,
+ });
+
+ await waitFor(() =>
+ expect(searchQueries).toHaveBeenLastCalledWith({
+ serviceIds: [TEST_REAL_TIME_SESSION_MYSQL.serviceId],
+ })
+ );
+ });
+
+ it('should keep elapsed time pinned without offering pin controls', async () => {
+ renderComponent();
+
+ await waitFor(() =>
+ screen.getByTestId(`query-${TEST_MONGO_DB_QUERY_DATA.queryId}-host-cell`)
+ );
+
+ expect(
+ screen.getByTestId(
+ `query-${TEST_MONGO_DB_QUERY_DATA.queryId}-elapsed-time-cell`
+ )
+ ).toHaveAttribute('data-pinned', 'true');
+
+ fireEvent.click(screen.getByLabelText('Show/Hide columns'));
+
+ await waitFor(() => expect(screen.getByRole('menu')).toBeInTheDocument());
+ // The icon assertion does not depend on MRT's tooltip labelling, so it still
+ // holds if those labels change.
+ expect(screen.queryByTestId('PushPinIcon')).not.toBeInTheDocument();
+ expect(screen.queryByLabelText('Pin to left')).not.toBeInTheDocument();
+ expect(screen.queryByLabelText('Pin to right')).not.toBeInTheDocument();
+ expect(screen.queryByLabelText('Unpin')).not.toBeInTheDocument();
+ });
+
it("shouldn't call api if no serviceIds are provided", async () => {
renderComponent({ initialEntry: '/rta/overview' });
diff --git a/ui/apps/pmm/src/pages/rta/overview/RealtimeOverview.tsx b/ui/apps/pmm/src/pages/rta/overview/RealtimeOverview.tsx
index 5637ad7056e..adcce8a011f 100644
--- a/ui/apps/pmm/src/pages/rta/overview/RealtimeOverview.tsx
+++ b/ui/apps/pmm/src/pages/rta/overview/RealtimeOverview.tsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react';
+import { useMemo, useRef, useState } from 'react';
import type { FC } from 'react';
import {
Navigate,
@@ -9,6 +9,7 @@ import { useDetailsPaneNavigation } from '@percona/percona-ui';
import { RealtimePage } from '../components/rta-page';
import { useRealtimeQueries, useRealtimeSessions } from 'hooks/api/useRealtime';
import OverviewTable from './table/OverviewTable';
+import { isTransactionControl } from './table/OverviewTable.utils';
import { DetailsPane } from './details-pane';
import type { QueryData } from 'types/rta.types';
import { Icon } from 'components/icon';
@@ -17,15 +18,32 @@ import { createRealtimeSessionsUrl } from 'utils/link.utils';
import Stack from '@mui/material/Stack';
import Box from '@mui/material/Box';
import Button from '@mui/material/Button';
+import Divider from '@mui/material/Divider';
+import FormControlLabel from '@mui/material/FormControlLabel';
+import Switch from '@mui/material/Switch';
+import Tooltip from '@mui/material/Tooltip';
import { ServicesAutocompleteInput } from '../components/services-autocomplete-input';
import { AutoRefreshSelect } from './auto-refresh-select';
import { exportRtaQueriesToCsv } from './export/exportRtaQueriesToCsv';
+import { ServiceType } from 'types/services.types';
+import { resolveSelection } from './RealtimeOverview.utils';
const EMPTY_QUERIES: QueryData[] = [];
const RealtimeOverviewPage: FC = () => {
const [searchParams, setSearchParams] = useSearchParams();
- const serviceIds = searchParams.getAll('serviceIds');
+ const requestedServiceIds = useMemo(
+ () => searchParams.getAll('serviceIds'),
+ [searchParams]
+ );
+ const { data: sessions = [], isLoading } = useRealtimeSessions();
+ // One view of live queries shows one technology. The picker enforces that, but
+ // a URL can still name services of both (starting sessions is not restricted),
+ // so the first service's technology wins and the rest are ignored.
+ const { serviceIds, serviceType } = useMemo(
+ () => resolveSelection(requestedServiceIds, sessions),
+ [requestedServiceIds, sessions]
+ );
const [fetching, setFetching] = useState(serviceIds.length > 0);
const [refreshInterval, setRefreshInterval] = useState(2000);
const { data: queries, refetch } = useRealtimeQueries(
@@ -35,13 +53,25 @@ const RealtimeOverviewPage: FC = () => {
refetchInterval: refreshInterval,
}
);
- const tableQueries = queries ?? EMPTY_QUERIES;
+ const [hideCommit, setHideCommit] = useState(false);
+ // Transaction-control statements are a MySQL concern, so the toggle is only
+ // offered while MySQL services are being watched.
+ const isMySqlSelection = serviceType === ServiceType.mysql;
// Synced from the table after filters; details-pane arrows use this list, not the full API result.
const [navigableQueries, setNavigableQueries] = useState([]);
const [selectedQuery, setSelectedQuery] = useState();
// We need to store the previous fetching state to restore it when the details pane is closed
const previousFetchingState = useRef(fetching);
- const { data: sessions = [], isLoading } = useRealtimeSessions();
+ // Gated on the toggle being on screen: when the selection stops being MySQL
+ // the control unmounts, and a filter nobody can see must not keep hiding rows
+ // (nor silently shrink the CSV export, which exports the filtered rows).
+ const hideTransactionControl = hideCommit && isMySqlSelection;
+ const tableQueries = useMemo(() => {
+ const allQueries = queries ?? EMPTY_QUERIES;
+ return hideTransactionControl
+ ? allQueries.filter((query) => !isTransactionControl(query))
+ : allQueries;
+ }, [queries, hideTransactionControl]);
const handleQuerySelected = (query: QueryData) => {
setSelectedQuery(query);
@@ -92,6 +122,7 @@ const RealtimeOverviewPage: FC = () => {
(
@@ -120,6 +151,7 @@ const RealtimeOverviewPage: FC = () => {
data-testid="overview-table-services-autocomplete-input"
sessions={sessions}
serviceIds={serviceIds}
+ singleTechnology
onServiceIdsChange={handleServiceIdsChange}
inputProps={{
size: 'small',
@@ -200,6 +232,34 @@ const RealtimeOverviewPage: FC = () => {
{Messages.export}
)}
+ {/* This filters the rows, it does not drive live updates: keep it
+ out of the auto-refresh / playback group so that group reads as
+ one control. */}
+ {isMySqlSelection && (
+ <>
+
+
+
+ setHideCommit(event.target.checked)
+ }
+ />
+ }
+ label={Messages.hideCommit}
+ sx={{ whiteSpace: 'nowrap', mr: 0 }}
+ />
+
+ >
+ )}