From ab83e33ab472f34bb2b1ffe88f001bce16b748f1 Mon Sep 17 00:00:00 2001 From: Nurlan Moldomurov Date: Wed, 16 Oct 2024 17:19:50 +0300 Subject: [PATCH] PMM-13014 Update dependencies. (#3238) * PMM-13014 Update dependencies. * PMM-13014 update dependencies and regenerate. * PMM-11180 update kingpin. --- agent/cmd/pmm-agent-entrypoint/main.go | 2 +- agent/config/config.go | 2 +- agent/main.go | 2 +- .../access_control_service_client.go | 28 +- .../assign_roles_responses.go | 151 +- .../create_role_responses.go | 151 +- .../delete_role_responses.go | 151 +- .../get_role_responses.go | 151 +- .../list_roles_responses.go | 156 +- .../set_default_role_responses.go | 151 +- .../update_role_responses.go | 151 +- api/accesscontrol/v1beta1/json/v1beta1.json | 118 +- .../actions_service/actions_service_client.go | 28 +- .../cancel_action_responses.go | 151 +- .../actions_service/get_action_responses.go | 151 +- .../start_pt_summary_action_responses.go | 151 +- .../start_service_action_responses.go | 271 +- api/actions/v1/json/v1.json | 276 +- .../advisor_service/advisor_service_client.go | 28 +- .../change_advisor_checks_responses.go | 157 +- .../get_failed_checks_responses.go | 157 +- .../list_advisor_checks_responses.go | 159 +- .../list_advisors_responses.go | 164 +- .../list_failed_services_responses.go | 156 +- .../start_advisor_checks_responses.go | 151 +- api/advisors/v1/json/v1.json | 318 +- .../agent_local_service_client.go | 28 +- .../agent_local_service/reload_responses.go | 151 +- .../agent_local_service/status2_responses.go | 164 +- .../agent_local_service/status_responses.go | 164 +- api/agentlocal/v1/json/v1.json | 266 +- .../alerting_service_client.go | 28 +- .../alerting_service/create_rule_responses.go | 166 +- .../create_template_responses.go | 151 +- .../delete_template_responses.go | 151 +- .../list_templates_responses.go | 183 +- .../update_template_responses.go | 151 +- api/alerting/v1/json/v1.json | 358 +- .../backup_service/backup_service_client.go | 28 +- .../change_scheduled_backup_responses.go | 151 +- .../delete_artifact_responses.go | 151 +- .../backup_service/get_logs_responses.go | 156 +- ..._artifact_compatible_services_responses.go | 161 +- .../list_artifacts_responses.go | 176 +- .../list_pitr_timeranges_responses.go | 156 +- .../list_scheduled_backups_responses.go | 159 +- .../remove_scheduled_backup_responses.go | 151 +- .../schedule_backup_responses.go | 154 +- .../backup_service/start_backup_responses.go | 152 +- .../add_location_responses.go | 161 +- .../change_location_responses.go | 161 +- .../list_locations_responses.go | 166 +- .../locations_service_client.go | 28 +- .../remove_location_responses.go | 151 +- .../test_location_config_responses.go | 161 +- .../get_logs_mixin5_responses.go | 156 +- .../list_restores_responses.go | 159 +- .../restore_backup_responses.go | 151 +- .../restore_service/restore_service_client.go | 28 +- api/backup/v1/json/v1.json | 994 +- .../dump_service/delete_dump_responses.go | 151 +- .../dump_service/dump_service_client.go | 28 +- .../dump_service/get_dump_logs_responses.go | 156 +- .../dump_service/list_dumps_responses.go | 157 +- .../dump_service/start_dump_responses.go | 151 +- .../dump_service/upload_dump_responses.go | 156 +- api/dump/v1beta1/json/v1beta1.json | 124 +- .../agents_service/add_agent_responses.go | 402 +- .../agents_service/agents_service_client.go | 28 +- .../agents_service/change_agent_responses.go | 498 +- .../get_agent_logs_responses.go | 151 +- .../agents_service/get_agent_responses.go | 315 +- .../agents_service/list_agents_responses.go | 315 +- .../agents_service/remove_agent_responses.go | 151 +- .../nodes_service/add_node_responses.go | 201 +- .../nodes_service/get_node_responses.go | 176 +- .../nodes_service/list_nodes_responses.go | 176 +- .../nodes_service/nodes_service_client.go | 28 +- .../nodes_service/remove_node_responses.go | 151 +- .../services_service/add_service_responses.go | 211 +- .../change_service_responses.go | 186 +- .../services_service/get_service_responses.go | 181 +- .../list_active_service_types_responses.go | 150 +- .../list_services_responses.go | 181 +- .../remove_service_responses.go | 151 +- .../services_service_client.go | 28 +- api/inventory/v1/json/v1.json | 11606 +++---- .../add_annotation_responses.go | 151 +- .../add_azure_database_responses.go | 152 +- .../add_service_responses.go | 512 +- .../discover_azure_database_responses.go | 157 +- .../discover_rds_responses.go | 157 +- .../management_service/get_node_responses.go | 167 +- .../list_agent_versions_responses.go | 157 +- .../list_agents_responses.go | 176 +- .../list_nodes_responses.go | 167 +- .../list_services_responses.go | 182 +- .../management_service_client.go | 28 +- .../register_node_responses.go | 169 +- .../remove_service_responses.go | 151 +- .../unregister_node_responses.go | 151 +- api/management/v1/json/v1.json | 6576 ++-- .../platform_service/connect_responses.go | 151 +- .../platform_service/disconnect_responses.go | 151 +- .../get_contact_information_responses.go | 156 +- .../platform_service_client.go | 28 +- ...rch_organization_entitlements_responses.go | 161 +- .../search_organization_tickets_responses.go | 156 +- .../platform_service/server_info_responses.go | 151 +- .../platform_service/user_status_responses.go | 151 +- api/platform/v1/json/v1.json | 238 +- ...plain_fingerprint_by_query_id_responses.go | 151 +- .../get_filtered_metrics_names_responses.go | 161 +- .../qan_service/get_histogram_responses.go | 161 +- .../qan_service/get_labels_responses.go | 151 +- .../get_metrics_names_responses.go | 151 +- .../qan_service/get_metrics_responses.go | 166 +- .../get_query_example_responses.go | 162 +- .../qan_service/get_query_plan_responses.go | 151 +- .../qan_service/get_report_responses.go | 171 +- .../client/qan_service/qan_service_client.go | 28 +- .../qan_service/query_exists_responses.go | 151 +- .../schema_by_query_id_responses.go | 151 +- api/qan/v1/json/v1.json | 1362 +- .../change_settings_responses.go | 235 +- .../server_service/check_updates_responses.go | 215 +- .../server_service/get_settings_responses.go | 220 +- .../leader_health_check_responses.go | 205 +- .../list_change_logs_responses.go | 210 +- .../client/server_service/logs_responses.go | 70 +- .../server_service/readiness_responses.go | 205 +- .../server_service/server_service_client.go | 52 +- .../server_service/start_update_responses.go | 205 +- .../server_service/update_status_responses.go | 205 +- .../server_service/version_responses.go | 216 +- api/server/v1/json/v1.json | 644 +- api/swagger/swagger-dev.json | 28266 +--------------- api/swagger/swagger.json | 27303 +-------------- .../client/user_service/get_user_responses.go | 151 +- .../user_service/list_users_responses.go | 156 +- .../user_service/update_user_responses.go | 151 +- .../user_service/user_service_client.go | 28 +- api/user/v1/json/v1.json | 92 +- go.mod | 9 +- go.sum | 25 +- managed/cmd/pmm-managed-starlark/main.go | 2 +- managed/cmd/pmm-managed/main.go | 2 +- qan-api2/main.go | 2 +- tools/go.mod | 51 +- tools/go.sum | 258 +- 150 files changed, 30571 insertions(+), 67733 deletions(-) diff --git a/agent/cmd/pmm-agent-entrypoint/main.go b/agent/cmd/pmm-agent-entrypoint/main.go index bc3f392bc6..2257b3aaf1 100644 --- a/agent/cmd/pmm-agent-entrypoint/main.go +++ b/agent/cmd/pmm-agent-entrypoint/main.go @@ -23,11 +23,11 @@ import ( "syscall" "time" + "github.com/alecthomas/kingpin/v2" "github.com/pkg/errors" reaper "github.com/ramr/go-reaper" "github.com/sirupsen/logrus" "golang.org/x/sys/unix" - "gopkg.in/alecthomas/kingpin.v2" "github.com/percona/pmm/utils/logger" ) diff --git a/agent/config/config.go b/agent/config/config.go index bc70e90667..4ea1a35f6b 100644 --- a/agent/config/config.go +++ b/agent/config/config.go @@ -26,10 +26,10 @@ import ( "strings" "time" + "github.com/alecthomas/kingpin/v2" "github.com/pkg/errors" "github.com/sirupsen/logrus" "golang.org/x/sys/unix" - "gopkg.in/alecthomas/kingpin.v2" "gopkg.in/yaml.v3" "github.com/percona/pmm/utils/nodeinfo" diff --git a/agent/main.go b/agent/main.go index 595d337fe7..10c796df95 100644 --- a/agent/main.go +++ b/agent/main.go @@ -15,7 +15,7 @@ package main import ( - "gopkg.in/alecthomas/kingpin.v2" + "github.com/alecthomas/kingpin/v2" "github.com/percona/pmm/agent/commands" "github.com/percona/pmm/agent/config" diff --git a/api/accesscontrol/v1beta1/json/client/access_control_service/access_control_service_client.go b/api/accesscontrol/v1beta1/json/client/access_control_service/access_control_service_client.go index 5ac5e57ee0..fd29dde367 100644 --- a/api/accesscontrol/v1beta1/json/client/access_control_service/access_control_service_client.go +++ b/api/accesscontrol/v1beta1/json/client/access_control_service/access_control_service_client.go @@ -7,6 +7,7 @@ package access_control_service import ( "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" ) @@ -15,6 +16,31 @@ func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientServi return &Client{transport: transport, formats: formats} } +// New creates a new access control service API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new access control service API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + /* Client for access control service API */ @@ -23,7 +49,7 @@ type Client struct { formats strfmt.Registry } -// ClientOption is the option for Client methods +// ClientOption may be used to customize the behavior of Client methods. type ClientOption func(*runtime.ClientOperation) // ClientService is the interface for Client methods diff --git a/api/accesscontrol/v1beta1/json/client/access_control_service/assign_roles_responses.go b/api/accesscontrol/v1beta1/json/client/access_control_service/assign_roles_responses.go index a8778cfb65..5d749c01eb 100644 --- a/api/accesscontrol/v1beta1/json/client/access_control_service/assign_roles_responses.go +++ b/api/accesscontrol/v1beta1/json/client/access_control_service/assign_roles_responses.go @@ -7,6 +7,7 @@ package access_control_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type AssignRolesOK struct { Payload interface{} } +// IsSuccess returns true when this assign roles Ok response has a 2xx status code +func (o *AssignRolesOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this assign roles Ok response has a 3xx status code +func (o *AssignRolesOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this assign roles Ok response has a 4xx status code +func (o *AssignRolesOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this assign roles Ok response has a 5xx status code +func (o *AssignRolesOK) IsServerError() bool { + return false +} + +// IsCode returns true when this assign roles Ok response a status code equal to that given +func (o *AssignRolesOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the assign roles Ok response +func (o *AssignRolesOK) Code() int { + return 200 +} + func (o *AssignRolesOK) Error() string { - return fmt.Sprintf("[POST /v1/accesscontrol/roles:assign][%d] assignRolesOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/accesscontrol/roles:assign][%d] assignRolesOk %s", 200, payload) +} + +func (o *AssignRolesOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/accesscontrol/roles:assign][%d] assignRolesOk %s", 200, payload) } func (o *AssignRolesOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type AssignRolesDefault struct { Payload *AssignRolesDefaultBody } +// IsSuccess returns true when this assign roles default response has a 2xx status code +func (o *AssignRolesDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this assign roles default response has a 3xx status code +func (o *AssignRolesDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this assign roles default response has a 4xx status code +func (o *AssignRolesDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this assign roles default response has a 5xx status code +func (o *AssignRolesDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this assign roles default response a status code equal to that given +func (o *AssignRolesDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the assign roles default response func (o *AssignRolesDefault) Code() int { return o._statusCode } func (o *AssignRolesDefault) Error() string { - return fmt.Sprintf("[POST /v1/accesscontrol/roles:assign][%d] AssignRoles default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/accesscontrol/roles:assign][%d] AssignRoles default %s", o._statusCode, payload) +} + +func (o *AssignRolesDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/accesscontrol/roles:assign][%d] AssignRoles default %s", o._statusCode, payload) } func (o *AssignRolesDefault) GetPayload() *AssignRolesDefaultBody { @@ -228,6 +296,11 @@ func (o *AssignRolesDefaultBody) ContextValidate(ctx context.Context, formats st func (o *AssignRolesDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("AssignRoles default" + "." + "details" + "." + strconv.Itoa(i)) @@ -267,6 +340,80 @@ swagger:model AssignRolesDefaultBodyDetailsItems0 type AssignRolesDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // assign roles default body details items0 + AssignRolesDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *AssignRolesDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv AssignRolesDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.AssignRolesDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o AssignRolesDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.AssignRolesDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.AssignRolesDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this assign roles default body details items0 diff --git a/api/accesscontrol/v1beta1/json/client/access_control_service/create_role_responses.go b/api/accesscontrol/v1beta1/json/client/access_control_service/create_role_responses.go index f01609bb3a..bd2bed681f 100644 --- a/api/accesscontrol/v1beta1/json/client/access_control_service/create_role_responses.go +++ b/api/accesscontrol/v1beta1/json/client/access_control_service/create_role_responses.go @@ -7,6 +7,7 @@ package access_control_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type CreateRoleOK struct { Payload *CreateRoleOKBody } +// IsSuccess returns true when this create role Ok response has a 2xx status code +func (o *CreateRoleOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this create role Ok response has a 3xx status code +func (o *CreateRoleOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this create role Ok response has a 4xx status code +func (o *CreateRoleOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this create role Ok response has a 5xx status code +func (o *CreateRoleOK) IsServerError() bool { + return false +} + +// IsCode returns true when this create role Ok response a status code equal to that given +func (o *CreateRoleOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the create role Ok response +func (o *CreateRoleOK) Code() int { + return 200 +} + func (o *CreateRoleOK) Error() string { - return fmt.Sprintf("[POST /v1/accesscontrol/roles][%d] createRoleOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/accesscontrol/roles][%d] createRoleOk %s", 200, payload) +} + +func (o *CreateRoleOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/accesscontrol/roles][%d] createRoleOk %s", 200, payload) } func (o *CreateRoleOK) GetPayload() *CreateRoleOKBody { @@ -94,13 +131,44 @@ type CreateRoleDefault struct { Payload *CreateRoleDefaultBody } +// IsSuccess returns true when this create role default response has a 2xx status code +func (o *CreateRoleDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this create role default response has a 3xx status code +func (o *CreateRoleDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this create role default response has a 4xx status code +func (o *CreateRoleDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this create role default response has a 5xx status code +func (o *CreateRoleDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this create role default response a status code equal to that given +func (o *CreateRoleDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the create role default response func (o *CreateRoleDefault) Code() int { return o._statusCode } func (o *CreateRoleDefault) Error() string { - return fmt.Sprintf("[POST /v1/accesscontrol/roles][%d] CreateRole default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/accesscontrol/roles][%d] CreateRole default %s", o._statusCode, payload) +} + +func (o *CreateRoleDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/accesscontrol/roles][%d] CreateRole default %s", o._statusCode, payload) } func (o *CreateRoleDefault) GetPayload() *CreateRoleDefaultBody { @@ -233,6 +301,11 @@ func (o *CreateRoleDefaultBody) ContextValidate(ctx context.Context, formats str func (o *CreateRoleDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("CreateRole default" + "." + "details" + "." + strconv.Itoa(i)) @@ -272,6 +345,80 @@ swagger:model CreateRoleDefaultBodyDetailsItems0 type CreateRoleDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // create role default body details items0 + CreateRoleDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *CreateRoleDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv CreateRoleDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.CreateRoleDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o CreateRoleDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.CreateRoleDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.CreateRoleDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this create role default body details items0 diff --git a/api/accesscontrol/v1beta1/json/client/access_control_service/delete_role_responses.go b/api/accesscontrol/v1beta1/json/client/access_control_service/delete_role_responses.go index 497ff17dd0..89f7242b79 100644 --- a/api/accesscontrol/v1beta1/json/client/access_control_service/delete_role_responses.go +++ b/api/accesscontrol/v1beta1/json/client/access_control_service/delete_role_responses.go @@ -7,6 +7,7 @@ package access_control_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type DeleteRoleOK struct { Payload interface{} } +// IsSuccess returns true when this delete role Ok response has a 2xx status code +func (o *DeleteRoleOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this delete role Ok response has a 3xx status code +func (o *DeleteRoleOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this delete role Ok response has a 4xx status code +func (o *DeleteRoleOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this delete role Ok response has a 5xx status code +func (o *DeleteRoleOK) IsServerError() bool { + return false +} + +// IsCode returns true when this delete role Ok response a status code equal to that given +func (o *DeleteRoleOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the delete role Ok response +func (o *DeleteRoleOK) Code() int { + return 200 +} + func (o *DeleteRoleOK) Error() string { - return fmt.Sprintf("[DELETE /v1/accesscontrol/roles/{role_id}][%d] deleteRoleOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/accesscontrol/roles/{role_id}][%d] deleteRoleOk %s", 200, payload) +} + +func (o *DeleteRoleOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/accesscontrol/roles/{role_id}][%d] deleteRoleOk %s", 200, payload) } func (o *DeleteRoleOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type DeleteRoleDefault struct { Payload *DeleteRoleDefaultBody } +// IsSuccess returns true when this delete role default response has a 2xx status code +func (o *DeleteRoleDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this delete role default response has a 3xx status code +func (o *DeleteRoleDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this delete role default response has a 4xx status code +func (o *DeleteRoleDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this delete role default response has a 5xx status code +func (o *DeleteRoleDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this delete role default response a status code equal to that given +func (o *DeleteRoleDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the delete role default response func (o *DeleteRoleDefault) Code() int { return o._statusCode } func (o *DeleteRoleDefault) Error() string { - return fmt.Sprintf("[DELETE /v1/accesscontrol/roles/{role_id}][%d] DeleteRole default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/accesscontrol/roles/{role_id}][%d] DeleteRole default %s", o._statusCode, payload) +} + +func (o *DeleteRoleDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/accesscontrol/roles/{role_id}][%d] DeleteRole default %s", o._statusCode, payload) } func (o *DeleteRoleDefault) GetPayload() *DeleteRoleDefaultBody { @@ -188,6 +256,11 @@ func (o *DeleteRoleDefaultBody) ContextValidate(ctx context.Context, formats str func (o *DeleteRoleDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("DeleteRole default" + "." + "details" + "." + strconv.Itoa(i)) @@ -227,6 +300,80 @@ swagger:model DeleteRoleDefaultBodyDetailsItems0 type DeleteRoleDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // delete role default body details items0 + DeleteRoleDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *DeleteRoleDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv DeleteRoleDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.DeleteRoleDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o DeleteRoleDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.DeleteRoleDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.DeleteRoleDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this delete role default body details items0 diff --git a/api/accesscontrol/v1beta1/json/client/access_control_service/get_role_responses.go b/api/accesscontrol/v1beta1/json/client/access_control_service/get_role_responses.go index 9e8763c619..5dbc75feaa 100644 --- a/api/accesscontrol/v1beta1/json/client/access_control_service/get_role_responses.go +++ b/api/accesscontrol/v1beta1/json/client/access_control_service/get_role_responses.go @@ -7,6 +7,7 @@ package access_control_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type GetRoleOK struct { Payload *GetRoleOKBody } +// IsSuccess returns true when this get role Ok response has a 2xx status code +func (o *GetRoleOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get role Ok response has a 3xx status code +func (o *GetRoleOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get role Ok response has a 4xx status code +func (o *GetRoleOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get role Ok response has a 5xx status code +func (o *GetRoleOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get role Ok response a status code equal to that given +func (o *GetRoleOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get role Ok response +func (o *GetRoleOK) Code() int { + return 200 +} + func (o *GetRoleOK) Error() string { - return fmt.Sprintf("[GET /v1/accesscontrol/roles/{role_id}][%d] getRoleOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/accesscontrol/roles/{role_id}][%d] getRoleOk %s", 200, payload) +} + +func (o *GetRoleOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/accesscontrol/roles/{role_id}][%d] getRoleOk %s", 200, payload) } func (o *GetRoleOK) GetPayload() *GetRoleOKBody { @@ -94,13 +131,44 @@ type GetRoleDefault struct { Payload *GetRoleDefaultBody } +// IsSuccess returns true when this get role default response has a 2xx status code +func (o *GetRoleDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this get role default response has a 3xx status code +func (o *GetRoleDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this get role default response has a 4xx status code +func (o *GetRoleDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this get role default response has a 5xx status code +func (o *GetRoleDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this get role default response a status code equal to that given +func (o *GetRoleDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the get role default response func (o *GetRoleDefault) Code() int { return o._statusCode } func (o *GetRoleDefault) Error() string { - return fmt.Sprintf("[GET /v1/accesscontrol/roles/{role_id}][%d] GetRole default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/accesscontrol/roles/{role_id}][%d] GetRole default %s", o._statusCode, payload) +} + +func (o *GetRoleDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/accesscontrol/roles/{role_id}][%d] GetRole default %s", o._statusCode, payload) } func (o *GetRoleDefault) GetPayload() *GetRoleDefaultBody { @@ -190,6 +258,11 @@ func (o *GetRoleDefaultBody) ContextValidate(ctx context.Context, formats strfmt func (o *GetRoleDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("GetRole default" + "." + "details" + "." + strconv.Itoa(i)) @@ -229,6 +302,80 @@ swagger:model GetRoleDefaultBodyDetailsItems0 type GetRoleDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // get role default body details items0 + GetRoleDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *GetRoleDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv GetRoleDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.GetRoleDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o GetRoleDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.GetRoleDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.GetRoleDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this get role default body details items0 diff --git a/api/accesscontrol/v1beta1/json/client/access_control_service/list_roles_responses.go b/api/accesscontrol/v1beta1/json/client/access_control_service/list_roles_responses.go index d33d0296fa..114b44f570 100644 --- a/api/accesscontrol/v1beta1/json/client/access_control_service/list_roles_responses.go +++ b/api/accesscontrol/v1beta1/json/client/access_control_service/list_roles_responses.go @@ -7,6 +7,7 @@ package access_control_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type ListRolesOK struct { Payload *ListRolesOKBody } +// IsSuccess returns true when this list roles Ok response has a 2xx status code +func (o *ListRolesOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this list roles Ok response has a 3xx status code +func (o *ListRolesOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this list roles Ok response has a 4xx status code +func (o *ListRolesOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this list roles Ok response has a 5xx status code +func (o *ListRolesOK) IsServerError() bool { + return false +} + +// IsCode returns true when this list roles Ok response a status code equal to that given +func (o *ListRolesOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the list roles Ok response +func (o *ListRolesOK) Code() int { + return 200 +} + func (o *ListRolesOK) Error() string { - return fmt.Sprintf("[GET /v1/accesscontrol/roles][%d] listRolesOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/accesscontrol/roles][%d] listRolesOk %s", 200, payload) +} + +func (o *ListRolesOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/accesscontrol/roles][%d] listRolesOk %s", 200, payload) } func (o *ListRolesOK) GetPayload() *ListRolesOKBody { @@ -94,13 +131,44 @@ type ListRolesDefault struct { Payload *ListRolesDefaultBody } +// IsSuccess returns true when this list roles default response has a 2xx status code +func (o *ListRolesDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this list roles default response has a 3xx status code +func (o *ListRolesDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this list roles default response has a 4xx status code +func (o *ListRolesDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this list roles default response has a 5xx status code +func (o *ListRolesDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this list roles default response a status code equal to that given +func (o *ListRolesDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the list roles default response func (o *ListRolesDefault) Code() int { return o._statusCode } func (o *ListRolesDefault) Error() string { - return fmt.Sprintf("[GET /v1/accesscontrol/roles][%d] ListRoles default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/accesscontrol/roles][%d] ListRoles default %s", o._statusCode, payload) +} + +func (o *ListRolesDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/accesscontrol/roles][%d] ListRoles default %s", o._statusCode, payload) } func (o *ListRolesDefault) GetPayload() *ListRolesDefaultBody { @@ -190,6 +258,11 @@ func (o *ListRolesDefaultBody) ContextValidate(ctx context.Context, formats strf func (o *ListRolesDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ListRoles default" + "." + "details" + "." + strconv.Itoa(i)) @@ -229,6 +302,80 @@ swagger:model ListRolesDefaultBodyDetailsItems0 type ListRolesDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // list roles default body details items0 + ListRolesDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ListRolesDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ListRolesDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ListRolesDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ListRolesDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ListRolesDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ListRolesDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this list roles default body details items0 @@ -325,6 +472,11 @@ func (o *ListRolesOKBody) ContextValidate(ctx context.Context, formats strfmt.Re func (o *ListRolesOKBody) contextValidateRoles(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Roles); i++ { if o.Roles[i] != nil { + + if swag.IsZero(o.Roles[i]) { // not required + return nil + } + if err := o.Roles[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listRolesOk" + "." + "roles" + "." + strconv.Itoa(i)) diff --git a/api/accesscontrol/v1beta1/json/client/access_control_service/set_default_role_responses.go b/api/accesscontrol/v1beta1/json/client/access_control_service/set_default_role_responses.go index 2229a8d09b..b22481f772 100644 --- a/api/accesscontrol/v1beta1/json/client/access_control_service/set_default_role_responses.go +++ b/api/accesscontrol/v1beta1/json/client/access_control_service/set_default_role_responses.go @@ -7,6 +7,7 @@ package access_control_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type SetDefaultRoleOK struct { Payload interface{} } +// IsSuccess returns true when this set default role Ok response has a 2xx status code +func (o *SetDefaultRoleOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this set default role Ok response has a 3xx status code +func (o *SetDefaultRoleOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this set default role Ok response has a 4xx status code +func (o *SetDefaultRoleOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this set default role Ok response has a 5xx status code +func (o *SetDefaultRoleOK) IsServerError() bool { + return false +} + +// IsCode returns true when this set default role Ok response a status code equal to that given +func (o *SetDefaultRoleOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the set default role Ok response +func (o *SetDefaultRoleOK) Code() int { + return 200 +} + func (o *SetDefaultRoleOK) Error() string { - return fmt.Sprintf("[POST /v1/accesscontrol/roles:setDefault][%d] setDefaultRoleOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/accesscontrol/roles:setDefault][%d] setDefaultRoleOk %s", 200, payload) +} + +func (o *SetDefaultRoleOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/accesscontrol/roles:setDefault][%d] setDefaultRoleOk %s", 200, payload) } func (o *SetDefaultRoleOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type SetDefaultRoleDefault struct { Payload *SetDefaultRoleDefaultBody } +// IsSuccess returns true when this set default role default response has a 2xx status code +func (o *SetDefaultRoleDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this set default role default response has a 3xx status code +func (o *SetDefaultRoleDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this set default role default response has a 4xx status code +func (o *SetDefaultRoleDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this set default role default response has a 5xx status code +func (o *SetDefaultRoleDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this set default role default response a status code equal to that given +func (o *SetDefaultRoleDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the set default role default response func (o *SetDefaultRoleDefault) Code() int { return o._statusCode } func (o *SetDefaultRoleDefault) Error() string { - return fmt.Sprintf("[POST /v1/accesscontrol/roles:setDefault][%d] SetDefaultRole default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/accesscontrol/roles:setDefault][%d] SetDefaultRole default %s", o._statusCode, payload) +} + +func (o *SetDefaultRoleDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/accesscontrol/roles:setDefault][%d] SetDefaultRole default %s", o._statusCode, payload) } func (o *SetDefaultRoleDefault) GetPayload() *SetDefaultRoleDefaultBody { @@ -225,6 +293,11 @@ func (o *SetDefaultRoleDefaultBody) ContextValidate(ctx context.Context, formats func (o *SetDefaultRoleDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("SetDefaultRole default" + "." + "details" + "." + strconv.Itoa(i)) @@ -264,6 +337,80 @@ swagger:model SetDefaultRoleDefaultBodyDetailsItems0 type SetDefaultRoleDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // set default role default body details items0 + SetDefaultRoleDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *SetDefaultRoleDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv SetDefaultRoleDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.SetDefaultRoleDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o SetDefaultRoleDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.SetDefaultRoleDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.SetDefaultRoleDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this set default role default body details items0 diff --git a/api/accesscontrol/v1beta1/json/client/access_control_service/update_role_responses.go b/api/accesscontrol/v1beta1/json/client/access_control_service/update_role_responses.go index 39ee041189..3ef93cd3af 100644 --- a/api/accesscontrol/v1beta1/json/client/access_control_service/update_role_responses.go +++ b/api/accesscontrol/v1beta1/json/client/access_control_service/update_role_responses.go @@ -7,6 +7,7 @@ package access_control_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type UpdateRoleOK struct { Payload interface{} } +// IsSuccess returns true when this update role Ok response has a 2xx status code +func (o *UpdateRoleOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this update role Ok response has a 3xx status code +func (o *UpdateRoleOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this update role Ok response has a 4xx status code +func (o *UpdateRoleOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this update role Ok response has a 5xx status code +func (o *UpdateRoleOK) IsServerError() bool { + return false +} + +// IsCode returns true when this update role Ok response a status code equal to that given +func (o *UpdateRoleOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the update role Ok response +func (o *UpdateRoleOK) Code() int { + return 200 +} + func (o *UpdateRoleOK) Error() string { - return fmt.Sprintf("[PUT /v1/accesscontrol/roles/{role_id}][%d] updateRoleOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/accesscontrol/roles/{role_id}][%d] updateRoleOk %s", 200, payload) +} + +func (o *UpdateRoleOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/accesscontrol/roles/{role_id}][%d] updateRoleOk %s", 200, payload) } func (o *UpdateRoleOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type UpdateRoleDefault struct { Payload *UpdateRoleDefaultBody } +// IsSuccess returns true when this update role default response has a 2xx status code +func (o *UpdateRoleDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this update role default response has a 3xx status code +func (o *UpdateRoleDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this update role default response has a 4xx status code +func (o *UpdateRoleDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this update role default response has a 5xx status code +func (o *UpdateRoleDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this update role default response a status code equal to that given +func (o *UpdateRoleDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the update role default response func (o *UpdateRoleDefault) Code() int { return o._statusCode } func (o *UpdateRoleDefault) Error() string { - return fmt.Sprintf("[PUT /v1/accesscontrol/roles/{role_id}][%d] UpdateRole default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/accesscontrol/roles/{role_id}][%d] UpdateRole default %s", o._statusCode, payload) +} + +func (o *UpdateRoleDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/accesscontrol/roles/{role_id}][%d] UpdateRole default %s", o._statusCode, payload) } func (o *UpdateRoleDefault) GetPayload() *UpdateRoleDefaultBody { @@ -231,6 +299,11 @@ func (o *UpdateRoleDefaultBody) ContextValidate(ctx context.Context, formats str func (o *UpdateRoleDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("UpdateRole default" + "." + "details" + "." + strconv.Itoa(i)) @@ -270,6 +343,80 @@ swagger:model UpdateRoleDefaultBodyDetailsItems0 type UpdateRoleDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // update role default body details items0 + UpdateRoleDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *UpdateRoleDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv UpdateRoleDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.UpdateRoleDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o UpdateRoleDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.UpdateRoleDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.UpdateRoleDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this update role default body details items0 diff --git a/api/accesscontrol/v1beta1/json/v1beta1.json b/api/accesscontrol/v1beta1/json/v1beta1.json index e18baffd33..d257d6cdf3 100644 --- a/api/accesscontrol/v1beta1/json/v1beta1.json +++ b/api/accesscontrol/v1beta1/json/v1beta1.json @@ -34,14 +34,6 @@ "items": { "type": "object", "properties": { - "description": { - "type": "string", - "x-order": 3 - }, - "filter": { - "type": "string", - "x-order": 2 - }, "role_id": { "type": "integer", "format": "int64", @@ -50,6 +42,14 @@ "title": { "type": "string", "x-order": 1 + }, + "filter": { + "type": "string", + "x-order": 2 + }, + "description": { + "type": "string", + "x-order": 3 } } }, @@ -68,6 +68,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -78,13 +82,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -106,17 +106,17 @@ "schema": { "type": "object", "properties": { - "description": { + "title": { "type": "string", - "x-order": 2 + "x-order": 0 }, "filter": { "type": "string", "x-order": 1 }, - "title": { + "description": { "type": "string", - "x-order": 0 + "x-order": 2 } } } @@ -146,6 +146,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -156,13 +160,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -193,14 +193,6 @@ "schema": { "type": "object", "properties": { - "description": { - "type": "string", - "x-order": 3 - }, - "filter": { - "type": "string", - "x-order": 2 - }, "role_id": { "type": "integer", "format": "int64", @@ -209,6 +201,14 @@ "title": { "type": "string", "x-order": 1 + }, + "filter": { + "type": "string", + "x-order": 2 + }, + "description": { + "type": "string", + "x-order": 3 } } } @@ -223,6 +223,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -233,13 +237,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -268,20 +268,20 @@ "schema": { "type": "object", "properties": { - "description": { + "title": { "type": "string", "x-nullable": true, - "x-order": 2 + "x-order": 0 }, "filter": { "type": "string", "x-nullable": true, "x-order": 1 }, - "title": { + "description": { "type": "string", "x-nullable": true, - "x-order": 0 + "x-order": 2 } } } @@ -304,6 +304,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -314,13 +318,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -367,6 +367,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -377,13 +381,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -441,6 +441,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -451,13 +455,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -507,6 +507,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -517,13 +521,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } diff --git a/api/actions/v1/json/client/actions_service/actions_service_client.go b/api/actions/v1/json/client/actions_service/actions_service_client.go index f9c09dcccf..f722b65f90 100644 --- a/api/actions/v1/json/client/actions_service/actions_service_client.go +++ b/api/actions/v1/json/client/actions_service/actions_service_client.go @@ -7,6 +7,7 @@ package actions_service import ( "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" ) @@ -15,6 +16,31 @@ func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientServi return &Client{transport: transport, formats: formats} } +// New creates a new actions service API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new actions service API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + /* Client for actions service API */ @@ -23,7 +49,7 @@ type Client struct { formats strfmt.Registry } -// ClientOption is the option for Client methods +// ClientOption may be used to customize the behavior of Client methods. type ClientOption func(*runtime.ClientOperation) // ClientService is the interface for Client methods diff --git a/api/actions/v1/json/client/actions_service/cancel_action_responses.go b/api/actions/v1/json/client/actions_service/cancel_action_responses.go index 7658bc855c..0ab037b9b1 100644 --- a/api/actions/v1/json/client/actions_service/cancel_action_responses.go +++ b/api/actions/v1/json/client/actions_service/cancel_action_responses.go @@ -7,6 +7,7 @@ package actions_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type CancelActionOK struct { Payload interface{} } +// IsSuccess returns true when this cancel action Ok response has a 2xx status code +func (o *CancelActionOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this cancel action Ok response has a 3xx status code +func (o *CancelActionOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this cancel action Ok response has a 4xx status code +func (o *CancelActionOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this cancel action Ok response has a 5xx status code +func (o *CancelActionOK) IsServerError() bool { + return false +} + +// IsCode returns true when this cancel action Ok response a status code equal to that given +func (o *CancelActionOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the cancel action Ok response +func (o *CancelActionOK) Code() int { + return 200 +} + func (o *CancelActionOK) Error() string { - return fmt.Sprintf("[POST /v1/actions:cancelAction][%d] cancelActionOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/actions:cancelAction][%d] cancelActionOk %s", 200, payload) +} + +func (o *CancelActionOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/actions:cancelAction][%d] cancelActionOk %s", 200, payload) } func (o *CancelActionOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type CancelActionDefault struct { Payload *CancelActionDefaultBody } +// IsSuccess returns true when this cancel action default response has a 2xx status code +func (o *CancelActionDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this cancel action default response has a 3xx status code +func (o *CancelActionDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this cancel action default response has a 4xx status code +func (o *CancelActionDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this cancel action default response has a 5xx status code +func (o *CancelActionDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this cancel action default response a status code equal to that given +func (o *CancelActionDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the cancel action default response func (o *CancelActionDefault) Code() int { return o._statusCode } func (o *CancelActionDefault) Error() string { - return fmt.Sprintf("[POST /v1/actions:cancelAction][%d] CancelAction default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/actions:cancelAction][%d] CancelAction default %s", o._statusCode, payload) +} + +func (o *CancelActionDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/actions:cancelAction][%d] CancelAction default %s", o._statusCode, payload) } func (o *CancelActionDefault) GetPayload() *CancelActionDefaultBody { @@ -225,6 +293,11 @@ func (o *CancelActionDefaultBody) ContextValidate(ctx context.Context, formats s func (o *CancelActionDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("CancelAction default" + "." + "details" + "." + strconv.Itoa(i)) @@ -264,6 +337,80 @@ swagger:model CancelActionDefaultBodyDetailsItems0 type CancelActionDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // cancel action default body details items0 + CancelActionDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *CancelActionDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv CancelActionDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.CancelActionDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o CancelActionDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.CancelActionDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.CancelActionDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this cancel action default body details items0 diff --git a/api/actions/v1/json/client/actions_service/get_action_responses.go b/api/actions/v1/json/client/actions_service/get_action_responses.go index fdf0c02fce..d6f93f8c90 100644 --- a/api/actions/v1/json/client/actions_service/get_action_responses.go +++ b/api/actions/v1/json/client/actions_service/get_action_responses.go @@ -7,6 +7,7 @@ package actions_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type GetActionOK struct { Payload *GetActionOKBody } +// IsSuccess returns true when this get action Ok response has a 2xx status code +func (o *GetActionOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get action Ok response has a 3xx status code +func (o *GetActionOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get action Ok response has a 4xx status code +func (o *GetActionOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get action Ok response has a 5xx status code +func (o *GetActionOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get action Ok response a status code equal to that given +func (o *GetActionOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get action Ok response +func (o *GetActionOK) Code() int { + return 200 +} + func (o *GetActionOK) Error() string { - return fmt.Sprintf("[GET /v1/actions/{action_id}][%d] getActionOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/actions/{action_id}][%d] getActionOk %s", 200, payload) +} + +func (o *GetActionOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/actions/{action_id}][%d] getActionOk %s", 200, payload) } func (o *GetActionOK) GetPayload() *GetActionOKBody { @@ -94,13 +131,44 @@ type GetActionDefault struct { Payload *GetActionDefaultBody } +// IsSuccess returns true when this get action default response has a 2xx status code +func (o *GetActionDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this get action default response has a 3xx status code +func (o *GetActionDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this get action default response has a 4xx status code +func (o *GetActionDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this get action default response has a 5xx status code +func (o *GetActionDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this get action default response a status code equal to that given +func (o *GetActionDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the get action default response func (o *GetActionDefault) Code() int { return o._statusCode } func (o *GetActionDefault) Error() string { - return fmt.Sprintf("[GET /v1/actions/{action_id}][%d] GetAction default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/actions/{action_id}][%d] GetAction default %s", o._statusCode, payload) +} + +func (o *GetActionDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/actions/{action_id}][%d] GetAction default %s", o._statusCode, payload) } func (o *GetActionDefault) GetPayload() *GetActionDefaultBody { @@ -190,6 +258,11 @@ func (o *GetActionDefaultBody) ContextValidate(ctx context.Context, formats strf func (o *GetActionDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("GetAction default" + "." + "details" + "." + strconv.Itoa(i)) @@ -229,6 +302,80 @@ swagger:model GetActionDefaultBodyDetailsItems0 type GetActionDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // get action default body details items0 + GetActionDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *GetActionDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv GetActionDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.GetActionDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o GetActionDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.GetActionDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.GetActionDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this get action default body details items0 diff --git a/api/actions/v1/json/client/actions_service/start_pt_summary_action_responses.go b/api/actions/v1/json/client/actions_service/start_pt_summary_action_responses.go index 9f1cf01fc7..654358c52b 100644 --- a/api/actions/v1/json/client/actions_service/start_pt_summary_action_responses.go +++ b/api/actions/v1/json/client/actions_service/start_pt_summary_action_responses.go @@ -7,6 +7,7 @@ package actions_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type StartPTSummaryActionOK struct { Payload *StartPTSummaryActionOKBody } +// IsSuccess returns true when this start Pt summary action Ok response has a 2xx status code +func (o *StartPTSummaryActionOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this start Pt summary action Ok response has a 3xx status code +func (o *StartPTSummaryActionOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this start Pt summary action Ok response has a 4xx status code +func (o *StartPTSummaryActionOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this start Pt summary action Ok response has a 5xx status code +func (o *StartPTSummaryActionOK) IsServerError() bool { + return false +} + +// IsCode returns true when this start Pt summary action Ok response a status code equal to that given +func (o *StartPTSummaryActionOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the start Pt summary action Ok response +func (o *StartPTSummaryActionOK) Code() int { + return 200 +} + func (o *StartPTSummaryActionOK) Error() string { - return fmt.Sprintf("[POST /v1/actions:startNodeAction][%d] startPtSummaryActionOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/actions:startNodeAction][%d] startPtSummaryActionOk %s", 200, payload) +} + +func (o *StartPTSummaryActionOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/actions:startNodeAction][%d] startPtSummaryActionOk %s", 200, payload) } func (o *StartPTSummaryActionOK) GetPayload() *StartPTSummaryActionOKBody { @@ -94,13 +131,44 @@ type StartPTSummaryActionDefault struct { Payload *StartPTSummaryActionDefaultBody } +// IsSuccess returns true when this start PT summary action default response has a 2xx status code +func (o *StartPTSummaryActionDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this start PT summary action default response has a 3xx status code +func (o *StartPTSummaryActionDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this start PT summary action default response has a 4xx status code +func (o *StartPTSummaryActionDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this start PT summary action default response has a 5xx status code +func (o *StartPTSummaryActionDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this start PT summary action default response a status code equal to that given +func (o *StartPTSummaryActionDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the start PT summary action default response func (o *StartPTSummaryActionDefault) Code() int { return o._statusCode } func (o *StartPTSummaryActionDefault) Error() string { - return fmt.Sprintf("[POST /v1/actions:startNodeAction][%d] StartPTSummaryAction default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/actions:startNodeAction][%d] StartPTSummaryAction default %s", o._statusCode, payload) +} + +func (o *StartPTSummaryActionDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/actions:startNodeAction][%d] StartPTSummaryAction default %s", o._statusCode, payload) } func (o *StartPTSummaryActionDefault) GetPayload() *StartPTSummaryActionDefaultBody { @@ -230,6 +298,11 @@ func (o *StartPTSummaryActionDefaultBody) ContextValidate(ctx context.Context, f func (o *StartPTSummaryActionDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("StartPTSummaryAction default" + "." + "details" + "." + strconv.Itoa(i)) @@ -269,6 +342,80 @@ swagger:model StartPTSummaryActionDefaultBodyDetailsItems0 type StartPTSummaryActionDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // start PT summary action default body details items0 + StartPTSummaryActionDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *StartPTSummaryActionDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv StartPTSummaryActionDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.StartPTSummaryActionDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o StartPTSummaryActionDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.StartPTSummaryActionDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.StartPTSummaryActionDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this start PT summary action default body details items0 diff --git a/api/actions/v1/json/client/actions_service/start_service_action_responses.go b/api/actions/v1/json/client/actions_service/start_service_action_responses.go index 94644022d3..812ae79151 100644 --- a/api/actions/v1/json/client/actions_service/start_service_action_responses.go +++ b/api/actions/v1/json/client/actions_service/start_service_action_responses.go @@ -7,6 +7,7 @@ package actions_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type StartServiceActionOK struct { Payload *StartServiceActionOKBody } +// IsSuccess returns true when this start service action Ok response has a 2xx status code +func (o *StartServiceActionOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this start service action Ok response has a 3xx status code +func (o *StartServiceActionOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this start service action Ok response has a 4xx status code +func (o *StartServiceActionOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this start service action Ok response has a 5xx status code +func (o *StartServiceActionOK) IsServerError() bool { + return false +} + +// IsCode returns true when this start service action Ok response a status code equal to that given +func (o *StartServiceActionOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the start service action Ok response +func (o *StartServiceActionOK) Code() int { + return 200 +} + func (o *StartServiceActionOK) Error() string { - return fmt.Sprintf("[POST /v1/actions:startServiceAction][%d] startServiceActionOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/actions:startServiceAction][%d] startServiceActionOk %s", 200, payload) +} + +func (o *StartServiceActionOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/actions:startServiceAction][%d] startServiceActionOk %s", 200, payload) } func (o *StartServiceActionOK) GetPayload() *StartServiceActionOKBody { @@ -94,13 +131,44 @@ type StartServiceActionDefault struct { Payload *StartServiceActionDefaultBody } +// IsSuccess returns true when this start service action default response has a 2xx status code +func (o *StartServiceActionDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this start service action default response has a 3xx status code +func (o *StartServiceActionDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this start service action default response has a 4xx status code +func (o *StartServiceActionDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this start service action default response has a 5xx status code +func (o *StartServiceActionDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this start service action default response a status code equal to that given +func (o *StartServiceActionDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the start service action default response func (o *StartServiceActionDefault) Code() int { return o._statusCode } func (o *StartServiceActionDefault) Error() string { - return fmt.Sprintf("[POST /v1/actions:startServiceAction][%d] StartServiceAction default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/actions:startServiceAction][%d] StartServiceAction default %s", o._statusCode, payload) +} + +func (o *StartServiceActionDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/actions:startServiceAction][%d] StartServiceAction default %s", o._statusCode, payload) } func (o *StartServiceActionDefault) GetPayload() *StartServiceActionDefaultBody { @@ -506,6 +574,11 @@ func (o *StartServiceActionBody) ContextValidate(ctx context.Context, formats st func (o *StartServiceActionBody) contextValidateMongodbExplain(ctx context.Context, formats strfmt.Registry) error { if o.MongodbExplain != nil { + + if swag.IsZero(o.MongodbExplain) { // not required + return nil + } + if err := o.MongodbExplain.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "mongodb_explain") @@ -521,6 +594,11 @@ func (o *StartServiceActionBody) contextValidateMongodbExplain(ctx context.Conte func (o *StartServiceActionBody) contextValidateMysqlExplain(ctx context.Context, formats strfmt.Registry) error { if o.MysqlExplain != nil { + + if swag.IsZero(o.MysqlExplain) { // not required + return nil + } + if err := o.MysqlExplain.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "mysql_explain") @@ -536,6 +614,11 @@ func (o *StartServiceActionBody) contextValidateMysqlExplain(ctx context.Context func (o *StartServiceActionBody) contextValidateMysqlExplainJSON(ctx context.Context, formats strfmt.Registry) error { if o.MysqlExplainJSON != nil { + + if swag.IsZero(o.MysqlExplainJSON) { // not required + return nil + } + if err := o.MysqlExplainJSON.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "mysql_explain_json") @@ -551,6 +634,11 @@ func (o *StartServiceActionBody) contextValidateMysqlExplainJSON(ctx context.Con func (o *StartServiceActionBody) contextValidateMysqlExplainTraditionalJSON(ctx context.Context, formats strfmt.Registry) error { if o.MysqlExplainTraditionalJSON != nil { + + if swag.IsZero(o.MysqlExplainTraditionalJSON) { // not required + return nil + } + if err := o.MysqlExplainTraditionalJSON.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "mysql_explain_traditional_json") @@ -566,6 +654,11 @@ func (o *StartServiceActionBody) contextValidateMysqlExplainTraditionalJSON(ctx func (o *StartServiceActionBody) contextValidateMysqlShowCreateTable(ctx context.Context, formats strfmt.Registry) error { if o.MysqlShowCreateTable != nil { + + if swag.IsZero(o.MysqlShowCreateTable) { // not required + return nil + } + if err := o.MysqlShowCreateTable.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "mysql_show_create_table") @@ -581,6 +674,11 @@ func (o *StartServiceActionBody) contextValidateMysqlShowCreateTable(ctx context func (o *StartServiceActionBody) contextValidateMysqlShowIndex(ctx context.Context, formats strfmt.Registry) error { if o.MysqlShowIndex != nil { + + if swag.IsZero(o.MysqlShowIndex) { // not required + return nil + } + if err := o.MysqlShowIndex.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "mysql_show_index") @@ -596,6 +694,11 @@ func (o *StartServiceActionBody) contextValidateMysqlShowIndex(ctx context.Conte func (o *StartServiceActionBody) contextValidateMysqlShowTableStatus(ctx context.Context, formats strfmt.Registry) error { if o.MysqlShowTableStatus != nil { + + if swag.IsZero(o.MysqlShowTableStatus) { // not required + return nil + } + if err := o.MysqlShowTableStatus.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "mysql_show_table_status") @@ -611,6 +714,11 @@ func (o *StartServiceActionBody) contextValidateMysqlShowTableStatus(ctx context func (o *StartServiceActionBody) contextValidatePostgresShowCreateTable(ctx context.Context, formats strfmt.Registry) error { if o.PostgresShowCreateTable != nil { + + if swag.IsZero(o.PostgresShowCreateTable) { // not required + return nil + } + if err := o.PostgresShowCreateTable.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "postgres_show_create_table") @@ -626,6 +734,11 @@ func (o *StartServiceActionBody) contextValidatePostgresShowCreateTable(ctx cont func (o *StartServiceActionBody) contextValidatePostgresShowIndex(ctx context.Context, formats strfmt.Registry) error { if o.PostgresShowIndex != nil { + + if swag.IsZero(o.PostgresShowIndex) { // not required + return nil + } + if err := o.PostgresShowIndex.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "postgres_show_index") @@ -641,6 +754,11 @@ func (o *StartServiceActionBody) contextValidatePostgresShowIndex(ctx context.Co func (o *StartServiceActionBody) contextValidatePTMongodbSummary(ctx context.Context, formats strfmt.Registry) error { if o.PTMongodbSummary != nil { + + if swag.IsZero(o.PTMongodbSummary) { // not required + return nil + } + if err := o.PTMongodbSummary.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "pt_mongodb_summary") @@ -656,6 +774,11 @@ func (o *StartServiceActionBody) contextValidatePTMongodbSummary(ctx context.Con func (o *StartServiceActionBody) contextValidatePTMysqlSummary(ctx context.Context, formats strfmt.Registry) error { if o.PTMysqlSummary != nil { + + if swag.IsZero(o.PTMysqlSummary) { // not required + return nil + } + if err := o.PTMysqlSummary.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "pt_mysql_summary") @@ -671,6 +794,11 @@ func (o *StartServiceActionBody) contextValidatePTMysqlSummary(ctx context.Conte func (o *StartServiceActionBody) contextValidatePTPostgresSummary(ctx context.Context, formats strfmt.Registry) error { if o.PTPostgresSummary != nil { + + if swag.IsZero(o.PTPostgresSummary) { // not required + return nil + } + if err := o.PTPostgresSummary.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "pt_postgres_summary") @@ -774,6 +902,11 @@ func (o *StartServiceActionDefaultBody) ContextValidate(ctx context.Context, for func (o *StartServiceActionDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("StartServiceAction default" + "." + "details" + "." + strconv.Itoa(i)) @@ -813,6 +946,80 @@ swagger:model StartServiceActionDefaultBodyDetailsItems0 type StartServiceActionDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // start service action default body details items0 + StartServiceActionDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *StartServiceActionDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv StartServiceActionDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.StartServiceActionDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o StartServiceActionDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.StartServiceActionDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.StartServiceActionDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this start service action default body details items0 @@ -1231,6 +1438,11 @@ func (o *StartServiceActionOKBody) ContextValidate(ctx context.Context, formats func (o *StartServiceActionOKBody) contextValidateMongodbExplain(ctx context.Context, formats strfmt.Registry) error { if o.MongodbExplain != nil { + + if swag.IsZero(o.MongodbExplain) { // not required + return nil + } + if err := o.MongodbExplain.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("startServiceActionOk" + "." + "mongodb_explain") @@ -1246,6 +1458,11 @@ func (o *StartServiceActionOKBody) contextValidateMongodbExplain(ctx context.Con func (o *StartServiceActionOKBody) contextValidateMysqlExplain(ctx context.Context, formats strfmt.Registry) error { if o.MysqlExplain != nil { + + if swag.IsZero(o.MysqlExplain) { // not required + return nil + } + if err := o.MysqlExplain.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("startServiceActionOk" + "." + "mysql_explain") @@ -1261,6 +1478,11 @@ func (o *StartServiceActionOKBody) contextValidateMysqlExplain(ctx context.Conte func (o *StartServiceActionOKBody) contextValidateMysqlExplainJSON(ctx context.Context, formats strfmt.Registry) error { if o.MysqlExplainJSON != nil { + + if swag.IsZero(o.MysqlExplainJSON) { // not required + return nil + } + if err := o.MysqlExplainJSON.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("startServiceActionOk" + "." + "mysql_explain_json") @@ -1276,6 +1498,11 @@ func (o *StartServiceActionOKBody) contextValidateMysqlExplainJSON(ctx context.C func (o *StartServiceActionOKBody) contextValidateMysqlExplainTraditionalJSON(ctx context.Context, formats strfmt.Registry) error { if o.MysqlExplainTraditionalJSON != nil { + + if swag.IsZero(o.MysqlExplainTraditionalJSON) { // not required + return nil + } + if err := o.MysqlExplainTraditionalJSON.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("startServiceActionOk" + "." + "mysql_explain_traditional_json") @@ -1291,6 +1518,11 @@ func (o *StartServiceActionOKBody) contextValidateMysqlExplainTraditionalJSON(ct func (o *StartServiceActionOKBody) contextValidateMysqlShowCreateTable(ctx context.Context, formats strfmt.Registry) error { if o.MysqlShowCreateTable != nil { + + if swag.IsZero(o.MysqlShowCreateTable) { // not required + return nil + } + if err := o.MysqlShowCreateTable.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("startServiceActionOk" + "." + "mysql_show_create_table") @@ -1306,6 +1538,11 @@ func (o *StartServiceActionOKBody) contextValidateMysqlShowCreateTable(ctx conte func (o *StartServiceActionOKBody) contextValidateMysqlShowIndex(ctx context.Context, formats strfmt.Registry) error { if o.MysqlShowIndex != nil { + + if swag.IsZero(o.MysqlShowIndex) { // not required + return nil + } + if err := o.MysqlShowIndex.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("startServiceActionOk" + "." + "mysql_show_index") @@ -1321,6 +1558,11 @@ func (o *StartServiceActionOKBody) contextValidateMysqlShowIndex(ctx context.Con func (o *StartServiceActionOKBody) contextValidateMysqlShowTableStatus(ctx context.Context, formats strfmt.Registry) error { if o.MysqlShowTableStatus != nil { + + if swag.IsZero(o.MysqlShowTableStatus) { // not required + return nil + } + if err := o.MysqlShowTableStatus.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("startServiceActionOk" + "." + "mysql_show_table_status") @@ -1336,6 +1578,11 @@ func (o *StartServiceActionOKBody) contextValidateMysqlShowTableStatus(ctx conte func (o *StartServiceActionOKBody) contextValidatePostgresqlShowCreateTable(ctx context.Context, formats strfmt.Registry) error { if o.PostgresqlShowCreateTable != nil { + + if swag.IsZero(o.PostgresqlShowCreateTable) { // not required + return nil + } + if err := o.PostgresqlShowCreateTable.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("startServiceActionOk" + "." + "postgresql_show_create_table") @@ -1351,6 +1598,11 @@ func (o *StartServiceActionOKBody) contextValidatePostgresqlShowCreateTable(ctx func (o *StartServiceActionOKBody) contextValidatePostgresqlShowIndex(ctx context.Context, formats strfmt.Registry) error { if o.PostgresqlShowIndex != nil { + + if swag.IsZero(o.PostgresqlShowIndex) { // not required + return nil + } + if err := o.PostgresqlShowIndex.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("startServiceActionOk" + "." + "postgresql_show_index") @@ -1366,6 +1618,11 @@ func (o *StartServiceActionOKBody) contextValidatePostgresqlShowIndex(ctx contex func (o *StartServiceActionOKBody) contextValidatePTMongodbSummary(ctx context.Context, formats strfmt.Registry) error { if o.PTMongodbSummary != nil { + + if swag.IsZero(o.PTMongodbSummary) { // not required + return nil + } + if err := o.PTMongodbSummary.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("startServiceActionOk" + "." + "pt_mongodb_summary") @@ -1381,6 +1638,11 @@ func (o *StartServiceActionOKBody) contextValidatePTMongodbSummary(ctx context.C func (o *StartServiceActionOKBody) contextValidatePTMysqlSummary(ctx context.Context, formats strfmt.Registry) error { if o.PTMysqlSummary != nil { + + if swag.IsZero(o.PTMysqlSummary) { // not required + return nil + } + if err := o.PTMysqlSummary.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("startServiceActionOk" + "." + "pt_mysql_summary") @@ -1396,6 +1658,11 @@ func (o *StartServiceActionOKBody) contextValidatePTMysqlSummary(ctx context.Con func (o *StartServiceActionOKBody) contextValidatePTPostgresSummary(ctx context.Context, formats strfmt.Registry) error { if o.PTPostgresSummary != nil { + + if swag.IsZero(o.PTPostgresSummary) { // not required + return nil + } + if err := o.PTPostgresSummary.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("startServiceActionOk" + "." + "pt_postgres_summary") diff --git a/api/actions/v1/json/v1.json b/api/actions/v1/json/v1.json index b104e28914..5c13608b54 100644 --- a/api/actions/v1/json/v1.json +++ b/api/actions/v1/json/v1.json @@ -43,6 +43,16 @@ "type": "string", "x-order": 0 }, + "pmm_agent_id": { + "description": "pmm-agent ID where this Action is running / was run.", + "type": "string", + "x-order": 1 + }, + "output": { + "description": "Current Action output; may be partial if Action is still running.", + "type": "string", + "x-order": 2 + }, "done": { "description": "True if Action is finished.", "type": "boolean", @@ -52,16 +62,6 @@ "description": "Error message if Action failed.", "type": "string", "x-order": 4 - }, - "output": { - "description": "Current Action output; may be partial if Action is still running.", - "type": "string", - "x-order": 2 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where this Action is running / was run.", - "type": "string", - "x-order": 1 } } } @@ -76,6 +76,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -86,13 +90,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -142,6 +142,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -152,13 +156,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -182,15 +182,15 @@ "schema": { "type": "object", "properties": { - "node_id": { - "description": "Node ID for this Action.", - "type": "string", - "x-order": 1 - }, "pmm_agent_id": { "description": "pmm-agent ID where to run this Action.", "type": "string", "x-order": 0 + }, + "node_id": { + "description": "Node ID for this Action.", + "type": "string", + "x-order": 1 } } } @@ -225,6 +225,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -235,13 +239,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -265,7 +265,7 @@ "schema": { "type": "object", "properties": { - "mongodb_explain": { + "mysql_explain": { "type": "object", "properties": { "pmm_agent_id": { @@ -273,26 +273,15 @@ "type": "string", "x-order": 0 }, - "query": { - "description": "Query. Required.", - "type": "string", - "x-order": 2 - }, "service_id": { "description": "Service ID for this Action. Required.", "type": "string", "x-order": 1 - } - }, - "x-order": 8 - }, - "mysql_explain": { - "type": "object", - "properties": { - "database": { - "description": "Database name. Required if it can't be deduced from the query ID.", + }, + "query_id": { + "description": "Query ID of query.", "type": "string", - "x-order": 4 + "x-order": 2 }, "placeholders": { "type": "array", @@ -302,31 +291,31 @@ }, "x-order": 3 }, + "database": { + "description": "Database name. Required if it can't be deduced from the query ID.", + "type": "string", + "x-order": 4 + } + }, + "x-order": 0 + }, + "mysql_explain_json": { + "type": "object", + "properties": { "pmm_agent_id": { "description": "pmm-agent ID where to run this Action.", "type": "string", "x-order": 0 }, - "query_id": { - "description": "Query ID of query.", - "type": "string", - "x-order": 2 - }, "service_id": { "description": "Service ID for this Action. Required.", "type": "string", "x-order": 1 - } - }, - "x-order": 0 - }, - "mysql_explain_json": { - "type": "object", - "properties": { - "database": { - "description": "Database name. Required if it can't be deduced from the query ID.", + }, + "query_id": { + "description": "Query ID of query.", "type": "string", - "x-order": 4 + "x-order": 2 }, "placeholders": { "type": "array", @@ -336,31 +325,31 @@ }, "x-order": 3 }, + "database": { + "description": "Database name. Required if it can't be deduced from the query ID.", + "type": "string", + "x-order": 4 + } + }, + "x-order": 1 + }, + "mysql_explain_traditional_json": { + "type": "object", + "properties": { "pmm_agent_id": { "description": "pmm-agent ID where to run this Action.", "type": "string", "x-order": 0 }, - "query_id": { - "description": "Query ID of query.", - "type": "string", - "x-order": 2 - }, "service_id": { "description": "Service ID for this Action. Required.", "type": "string", "x-order": 1 - } - }, - "x-order": 1 - }, - "mysql_explain_traditional_json": { - "type": "object", - "properties": { - "database": { - "description": "Database name. Required if it can't be deduced from the query ID.", + }, + "query_id": { + "description": "Query ID of query.", "type": "string", - "x-order": 4 + "x-order": 2 }, "placeholders": { "type": "array", @@ -370,32 +359,17 @@ }, "x-order": 3 }, - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "query_id": { - "description": "Query ID of query.", - "type": "string", - "x-order": 2 - }, - "service_id": { - "description": "Service ID for this Action. Required.", + "database": { + "description": "Database name. Required if it can't be deduced from the query ID.", "type": "string", - "x-order": 1 + "x-order": 4 } }, "x-order": 2 }, - "mysql_show_create_table": { + "mysql_show_index": { "type": "object", "properties": { - "database": { - "description": "Database name. Required if not given in the table_name field.", - "type": "string", - "x-order": 3 - }, "pmm_agent_id": { "description": "pmm-agent ID where to run this Action.", "type": "string", @@ -410,18 +384,18 @@ "description": "Table name. Required. May additionally contain a database name.", "type": "string", "x-order": 2 + }, + "database": { + "description": "Database name. Required if not given in the table_name field.", + "type": "string", + "x-order": 3 } }, - "x-order": 4 + "x-order": 3 }, - "mysql_show_index": { + "mysql_show_create_table": { "type": "object", "properties": { - "database": { - "description": "Database name. Required if not given in the table_name field.", - "type": "string", - "x-order": 3 - }, "pmm_agent_id": { "description": "pmm-agent ID where to run this Action.", "type": "string", @@ -436,18 +410,18 @@ "description": "Table name. Required. May additionally contain a database name.", "type": "string", "x-order": 2 + }, + "database": { + "description": "Database name. Required if not given in the table_name field.", + "type": "string", + "x-order": 3 } }, - "x-order": 3 + "x-order": 4 }, "mysql_show_table_status": { "type": "object", "properties": { - "database": { - "description": "Database name. Required if not given in the table_name field.", - "type": "string", - "x-order": 3 - }, "pmm_agent_id": { "description": "pmm-agent ID where to run this Action.", "type": "string", @@ -462,6 +436,11 @@ "description": "Table name. Required. May additionally contain a database name.", "type": "string", "x-order": 2 + }, + "database": { + "description": "Database name. Required if not given in the table_name field.", + "type": "string", + "x-order": 3 } }, "x-order": 5 @@ -469,11 +448,6 @@ "postgres_show_create_table": { "type": "object", "properties": { - "database": { - "description": "Database name. Required if not given in the table_name field.", - "type": "string", - "x-order": 3 - }, "pmm_agent_id": { "description": "pmm-agent ID where to run this Action.", "type": "string", @@ -488,6 +462,11 @@ "description": "Table name. Required. May additionally contain a database name.", "type": "string", "x-order": 2 + }, + "database": { + "description": "Database name. Required if not given in the table_name field.", + "type": "string", + "x-order": 3 } }, "x-order": 6 @@ -495,11 +474,32 @@ "postgres_show_index": { "type": "object", "properties": { + "pmm_agent_id": { + "description": "pmm-agent ID where to run this Action.", + "type": "string", + "x-order": 0 + }, + "service_id": { + "description": "Service ID for this Action. Required.", + "type": "string", + "x-order": 1 + }, + "table_name": { + "description": "Table name. Required. May additionally contain a database name.", + "type": "string", + "x-order": 2 + }, "database": { "description": "Database name. Required if not given in the table_name field.", "type": "string", "x-order": 3 - }, + } + }, + "x-order": 7 + }, + "mongodb_explain": { + "type": "object", + "properties": { "pmm_agent_id": { "description": "pmm-agent ID where to run this Action.", "type": "string", @@ -510,13 +510,13 @@ "type": "string", "x-order": 1 }, - "table_name": { - "description": "Table name. Required. May additionally contain a database name.", + "query": { + "description": "Query. Required.", "type": "string", "x-order": 2 } }, - "x-order": 7 + "x-order": 8 }, "pt_mongodb_summary": { "type": "object", @@ -579,7 +579,7 @@ "schema": { "type": "object", "properties": { - "mongodb_explain": { + "mysql_explain": { "type": "object", "properties": { "action_id": { @@ -593,9 +593,9 @@ "x-order": 1 } }, - "x-order": 8 + "x-order": 0 }, - "mysql_explain": { + "mysql_explain_json": { "type": "object", "properties": { "action_id": { @@ -609,9 +609,9 @@ "x-order": 1 } }, - "x-order": 0 + "x-order": 1 }, - "mysql_explain_json": { + "mysql_explain_traditional_json": { "type": "object", "properties": { "action_id": { @@ -625,9 +625,9 @@ "x-order": 1 } }, - "x-order": 1 + "x-order": 2 }, - "mysql_explain_traditional_json": { + "mysql_show_index": { "type": "object", "properties": { "action_id": { @@ -641,7 +641,7 @@ "x-order": 1 } }, - "x-order": 2 + "x-order": 3 }, "mysql_show_create_table": { "type": "object", @@ -659,7 +659,7 @@ }, "x-order": 4 }, - "mysql_show_index": { + "mysql_show_table_status": { "type": "object", "properties": { "action_id": { @@ -673,9 +673,9 @@ "x-order": 1 } }, - "x-order": 3 + "x-order": 5 }, - "mysql_show_table_status": { + "postgresql_show_create_table": { "type": "object", "properties": { "action_id": { @@ -689,9 +689,9 @@ "x-order": 1 } }, - "x-order": 5 + "x-order": 6 }, - "postgresql_show_create_table": { + "postgresql_show_index": { "type": "object", "properties": { "action_id": { @@ -705,9 +705,9 @@ "x-order": 1 } }, - "x-order": 6 + "x-order": 7 }, - "postgresql_show_index": { + "mongodb_explain": { "type": "object", "properties": { "action_id": { @@ -721,7 +721,7 @@ "x-order": 1 } }, - "x-order": 7 + "x-order": 8 }, "pt_mongodb_summary": { "type": "object", @@ -787,6 +787,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -797,13 +801,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } diff --git a/api/advisors/v1/json/client/advisor_service/advisor_service_client.go b/api/advisors/v1/json/client/advisor_service/advisor_service_client.go index 482fb2a042..f98995d8e3 100644 --- a/api/advisors/v1/json/client/advisor_service/advisor_service_client.go +++ b/api/advisors/v1/json/client/advisor_service/advisor_service_client.go @@ -7,6 +7,7 @@ package advisor_service import ( "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" ) @@ -15,6 +16,31 @@ func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientServi return &Client{transport: transport, formats: formats} } +// New creates a new advisor service API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new advisor service API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + /* Client for advisor service API */ @@ -23,7 +49,7 @@ type Client struct { formats strfmt.Registry } -// ClientOption is the option for Client methods +// ClientOption may be used to customize the behavior of Client methods. type ClientOption func(*runtime.ClientOperation) // ClientService is the interface for Client methods diff --git a/api/advisors/v1/json/client/advisor_service/change_advisor_checks_responses.go b/api/advisors/v1/json/client/advisor_service/change_advisor_checks_responses.go index f0379db038..5da5b5cced 100644 --- a/api/advisors/v1/json/client/advisor_service/change_advisor_checks_responses.go +++ b/api/advisors/v1/json/client/advisor_service/change_advisor_checks_responses.go @@ -59,8 +59,44 @@ type ChangeAdvisorChecksOK struct { Payload interface{} } +// IsSuccess returns true when this change advisor checks Ok response has a 2xx status code +func (o *ChangeAdvisorChecksOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this change advisor checks Ok response has a 3xx status code +func (o *ChangeAdvisorChecksOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this change advisor checks Ok response has a 4xx status code +func (o *ChangeAdvisorChecksOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this change advisor checks Ok response has a 5xx status code +func (o *ChangeAdvisorChecksOK) IsServerError() bool { + return false +} + +// IsCode returns true when this change advisor checks Ok response a status code equal to that given +func (o *ChangeAdvisorChecksOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the change advisor checks Ok response +func (o *ChangeAdvisorChecksOK) Code() int { + return 200 +} + func (o *ChangeAdvisorChecksOK) Error() string { - return fmt.Sprintf("[POST /v1/advisors/checks:batchChange][%d] changeAdvisorChecksOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/advisors/checks:batchChange][%d] changeAdvisorChecksOk %s", 200, payload) +} + +func (o *ChangeAdvisorChecksOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/advisors/checks:batchChange][%d] changeAdvisorChecksOk %s", 200, payload) } func (o *ChangeAdvisorChecksOK) GetPayload() interface{} { @@ -94,13 +130,44 @@ type ChangeAdvisorChecksDefault struct { Payload *ChangeAdvisorChecksDefaultBody } +// IsSuccess returns true when this change advisor checks default response has a 2xx status code +func (o *ChangeAdvisorChecksDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this change advisor checks default response has a 3xx status code +func (o *ChangeAdvisorChecksDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this change advisor checks default response has a 4xx status code +func (o *ChangeAdvisorChecksDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this change advisor checks default response has a 5xx status code +func (o *ChangeAdvisorChecksDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this change advisor checks default response a status code equal to that given +func (o *ChangeAdvisorChecksDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the change advisor checks default response func (o *ChangeAdvisorChecksDefault) Code() int { return o._statusCode } func (o *ChangeAdvisorChecksDefault) Error() string { - return fmt.Sprintf("[POST /v1/advisors/checks:batchChange][%d] ChangeAdvisorChecks default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/advisors/checks:batchChange][%d] ChangeAdvisorChecks default %s", o._statusCode, payload) +} + +func (o *ChangeAdvisorChecksDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/advisors/checks:batchChange][%d] ChangeAdvisorChecks default %s", o._statusCode, payload) } func (o *ChangeAdvisorChecksDefault) GetPayload() *ChangeAdvisorChecksDefaultBody { @@ -184,6 +251,11 @@ func (o *ChangeAdvisorChecksBody) ContextValidate(ctx context.Context, formats s func (o *ChangeAdvisorChecksBody) contextValidateParams(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Params); i++ { if o.Params[i] != nil { + + if swag.IsZero(o.Params[i]) { // not required + return nil + } + if err := o.Params[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "params" + "." + strconv.Itoa(i)) @@ -288,6 +360,11 @@ func (o *ChangeAdvisorChecksDefaultBody) ContextValidate(ctx context.Context, fo func (o *ChangeAdvisorChecksDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ChangeAdvisorChecks default" + "." + "details" + "." + strconv.Itoa(i)) @@ -327,6 +404,80 @@ swagger:model ChangeAdvisorChecksDefaultBodyDetailsItems0 type ChangeAdvisorChecksDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // change advisor checks default body details items0 + ChangeAdvisorChecksDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ChangeAdvisorChecksDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ChangeAdvisorChecksDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ChangeAdvisorChecksDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ChangeAdvisorChecksDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ChangeAdvisorChecksDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ChangeAdvisorChecksDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this change advisor checks default body details items0 @@ -369,7 +520,7 @@ type ChangeAdvisorChecksParamsBodyParamsItems0 struct { Enable *bool `json:"enable,omitempty"` // AdvisorCheckInterval represents possible execution interval values for checks. - // Enum: [ADVISOR_CHECK_INTERVAL_UNSPECIFIED ADVISOR_CHECK_INTERVAL_STANDARD ADVISOR_CHECK_INTERVAL_FREQUENT ADVISOR_CHECK_INTERVAL_RARE] + // Enum: ["ADVISOR_CHECK_INTERVAL_UNSPECIFIED","ADVISOR_CHECK_INTERVAL_STANDARD","ADVISOR_CHECK_INTERVAL_FREQUENT","ADVISOR_CHECK_INTERVAL_RARE"] Interval *string `json:"interval,omitempty"` } diff --git a/api/advisors/v1/json/client/advisor_service/get_failed_checks_responses.go b/api/advisors/v1/json/client/advisor_service/get_failed_checks_responses.go index e2d8b7c480..1d6b0bda83 100644 --- a/api/advisors/v1/json/client/advisor_service/get_failed_checks_responses.go +++ b/api/advisors/v1/json/client/advisor_service/get_failed_checks_responses.go @@ -59,8 +59,44 @@ type GetFailedChecksOK struct { Payload *GetFailedChecksOKBody } +// IsSuccess returns true when this get failed checks Ok response has a 2xx status code +func (o *GetFailedChecksOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get failed checks Ok response has a 3xx status code +func (o *GetFailedChecksOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get failed checks Ok response has a 4xx status code +func (o *GetFailedChecksOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get failed checks Ok response has a 5xx status code +func (o *GetFailedChecksOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get failed checks Ok response a status code equal to that given +func (o *GetFailedChecksOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get failed checks Ok response +func (o *GetFailedChecksOK) Code() int { + return 200 +} + func (o *GetFailedChecksOK) Error() string { - return fmt.Sprintf("[GET /v1/advisors/checks/failed][%d] getFailedChecksOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/advisors/checks/failed][%d] getFailedChecksOk %s", 200, payload) +} + +func (o *GetFailedChecksOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/advisors/checks/failed][%d] getFailedChecksOk %s", 200, payload) } func (o *GetFailedChecksOK) GetPayload() *GetFailedChecksOKBody { @@ -96,13 +132,44 @@ type GetFailedChecksDefault struct { Payload *GetFailedChecksDefaultBody } +// IsSuccess returns true when this get failed checks default response has a 2xx status code +func (o *GetFailedChecksDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this get failed checks default response has a 3xx status code +func (o *GetFailedChecksDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this get failed checks default response has a 4xx status code +func (o *GetFailedChecksDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this get failed checks default response has a 5xx status code +func (o *GetFailedChecksDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this get failed checks default response a status code equal to that given +func (o *GetFailedChecksDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the get failed checks default response func (o *GetFailedChecksDefault) Code() int { return o._statusCode } func (o *GetFailedChecksDefault) Error() string { - return fmt.Sprintf("[GET /v1/advisors/checks/failed][%d] GetFailedChecks default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/advisors/checks/failed][%d] GetFailedChecks default %s", o._statusCode, payload) +} + +func (o *GetFailedChecksDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/advisors/checks/failed][%d] GetFailedChecks default %s", o._statusCode, payload) } func (o *GetFailedChecksDefault) GetPayload() *GetFailedChecksDefaultBody { @@ -192,6 +259,11 @@ func (o *GetFailedChecksDefaultBody) ContextValidate(ctx context.Context, format func (o *GetFailedChecksDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("GetFailedChecks default" + "." + "details" + "." + strconv.Itoa(i)) @@ -231,6 +303,80 @@ swagger:model GetFailedChecksDefaultBodyDetailsItems0 type GetFailedChecksDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // get failed checks default body details items0 + GetFailedChecksDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *GetFailedChecksDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv GetFailedChecksDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.GetFailedChecksDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o GetFailedChecksDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.GetFailedChecksDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.GetFailedChecksDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this get failed checks default body details items0 @@ -333,6 +479,11 @@ func (o *GetFailedChecksOKBody) ContextValidate(ctx context.Context, formats str func (o *GetFailedChecksOKBody) contextValidateResults(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Results); i++ { if o.Results[i] != nil { + + if swag.IsZero(o.Results[i]) { // not required + return nil + } + if err := o.Results[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getFailedChecksOk" + "." + "results" + "." + strconv.Itoa(i)) @@ -377,7 +528,7 @@ type GetFailedChecksOKBodyResultsItems0 struct { Description string `json:"description,omitempty"` // Severity represents severity level of the check result or alert. - // Enum: [SEVERITY_UNSPECIFIED SEVERITY_EMERGENCY SEVERITY_ALERT SEVERITY_CRITICAL SEVERITY_ERROR SEVERITY_WARNING SEVERITY_NOTICE SEVERITY_INFO SEVERITY_DEBUG] + // Enum: ["SEVERITY_UNSPECIFIED","SEVERITY_EMERGENCY","SEVERITY_ALERT","SEVERITY_CRITICAL","SEVERITY_ERROR","SEVERITY_WARNING","SEVERITY_NOTICE","SEVERITY_INFO","SEVERITY_DEBUG"] Severity *string `json:"severity,omitempty"` // labels diff --git a/api/advisors/v1/json/client/advisor_service/list_advisor_checks_responses.go b/api/advisors/v1/json/client/advisor_service/list_advisor_checks_responses.go index a8562cc01b..ca4d6614bf 100644 --- a/api/advisors/v1/json/client/advisor_service/list_advisor_checks_responses.go +++ b/api/advisors/v1/json/client/advisor_service/list_advisor_checks_responses.go @@ -59,8 +59,44 @@ type ListAdvisorChecksOK struct { Payload *ListAdvisorChecksOKBody } +// IsSuccess returns true when this list advisor checks Ok response has a 2xx status code +func (o *ListAdvisorChecksOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this list advisor checks Ok response has a 3xx status code +func (o *ListAdvisorChecksOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this list advisor checks Ok response has a 4xx status code +func (o *ListAdvisorChecksOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this list advisor checks Ok response has a 5xx status code +func (o *ListAdvisorChecksOK) IsServerError() bool { + return false +} + +// IsCode returns true when this list advisor checks Ok response a status code equal to that given +func (o *ListAdvisorChecksOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the list advisor checks Ok response +func (o *ListAdvisorChecksOK) Code() int { + return 200 +} + func (o *ListAdvisorChecksOK) Error() string { - return fmt.Sprintf("[GET /v1/advisors/checks][%d] listAdvisorChecksOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/advisors/checks][%d] listAdvisorChecksOk %s", 200, payload) +} + +func (o *ListAdvisorChecksOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/advisors/checks][%d] listAdvisorChecksOk %s", 200, payload) } func (o *ListAdvisorChecksOK) GetPayload() *ListAdvisorChecksOKBody { @@ -96,13 +132,44 @@ type ListAdvisorChecksDefault struct { Payload *ListAdvisorChecksDefaultBody } +// IsSuccess returns true when this list advisor checks default response has a 2xx status code +func (o *ListAdvisorChecksDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this list advisor checks default response has a 3xx status code +func (o *ListAdvisorChecksDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this list advisor checks default response has a 4xx status code +func (o *ListAdvisorChecksDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this list advisor checks default response has a 5xx status code +func (o *ListAdvisorChecksDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this list advisor checks default response a status code equal to that given +func (o *ListAdvisorChecksDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the list advisor checks default response func (o *ListAdvisorChecksDefault) Code() int { return o._statusCode } func (o *ListAdvisorChecksDefault) Error() string { - return fmt.Sprintf("[GET /v1/advisors/checks][%d] ListAdvisorChecks default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/advisors/checks][%d] ListAdvisorChecks default %s", o._statusCode, payload) +} + +func (o *ListAdvisorChecksDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/advisors/checks][%d] ListAdvisorChecks default %s", o._statusCode, payload) } func (o *ListAdvisorChecksDefault) GetPayload() *ListAdvisorChecksDefaultBody { @@ -192,6 +259,11 @@ func (o *ListAdvisorChecksDefaultBody) ContextValidate(ctx context.Context, form func (o *ListAdvisorChecksDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ListAdvisorChecks default" + "." + "details" + "." + strconv.Itoa(i)) @@ -231,6 +303,80 @@ swagger:model ListAdvisorChecksDefaultBodyDetailsItems0 type ListAdvisorChecksDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // list advisor checks default body details items0 + ListAdvisorChecksDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ListAdvisorChecksDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ListAdvisorChecksDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ListAdvisorChecksDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ListAdvisorChecksDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ListAdvisorChecksDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ListAdvisorChecksDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this list advisor checks default body details items0 @@ -327,6 +473,11 @@ func (o *ListAdvisorChecksOKBody) ContextValidate(ctx context.Context, formats s func (o *ListAdvisorChecksOKBody) contextValidateChecks(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Checks); i++ { if o.Checks[i] != nil { + + if swag.IsZero(o.Checks[i]) { // not required + return nil + } + if err := o.Checks[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listAdvisorChecksOk" + "." + "checks" + "." + strconv.Itoa(i)) @@ -377,11 +528,11 @@ type ListAdvisorChecksOKBodyChecksItems0 struct { Summary string `json:"summary,omitempty"` // AdvisorCheckInterval represents possible execution interval values for checks. - // Enum: [ADVISOR_CHECK_INTERVAL_UNSPECIFIED ADVISOR_CHECK_INTERVAL_STANDARD ADVISOR_CHECK_INTERVAL_FREQUENT ADVISOR_CHECK_INTERVAL_RARE] + // Enum: ["ADVISOR_CHECK_INTERVAL_UNSPECIFIED","ADVISOR_CHECK_INTERVAL_STANDARD","ADVISOR_CHECK_INTERVAL_FREQUENT","ADVISOR_CHECK_INTERVAL_RARE"] Interval *string `json:"interval,omitempty"` // family - // Enum: [ADVISOR_CHECK_FAMILY_UNSPECIFIED ADVISOR_CHECK_FAMILY_MYSQL ADVISOR_CHECK_FAMILY_POSTGRESQL ADVISOR_CHECK_FAMILY_MONGODB] + // Enum: ["ADVISOR_CHECK_FAMILY_UNSPECIFIED","ADVISOR_CHECK_FAMILY_MYSQL","ADVISOR_CHECK_FAMILY_POSTGRESQL","ADVISOR_CHECK_FAMILY_MONGODB"] Family *string `json:"family,omitempty"` } diff --git a/api/advisors/v1/json/client/advisor_service/list_advisors_responses.go b/api/advisors/v1/json/client/advisor_service/list_advisors_responses.go index 750517bad0..1e5f50e351 100644 --- a/api/advisors/v1/json/client/advisor_service/list_advisors_responses.go +++ b/api/advisors/v1/json/client/advisor_service/list_advisors_responses.go @@ -59,8 +59,44 @@ type ListAdvisorsOK struct { Payload *ListAdvisorsOKBody } +// IsSuccess returns true when this list advisors Ok response has a 2xx status code +func (o *ListAdvisorsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this list advisors Ok response has a 3xx status code +func (o *ListAdvisorsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this list advisors Ok response has a 4xx status code +func (o *ListAdvisorsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this list advisors Ok response has a 5xx status code +func (o *ListAdvisorsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this list advisors Ok response a status code equal to that given +func (o *ListAdvisorsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the list advisors Ok response +func (o *ListAdvisorsOK) Code() int { + return 200 +} + func (o *ListAdvisorsOK) Error() string { - return fmt.Sprintf("[GET /v1/advisors][%d] listAdvisorsOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/advisors][%d] listAdvisorsOk %s", 200, payload) +} + +func (o *ListAdvisorsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/advisors][%d] listAdvisorsOk %s", 200, payload) } func (o *ListAdvisorsOK) GetPayload() *ListAdvisorsOKBody { @@ -96,13 +132,44 @@ type ListAdvisorsDefault struct { Payload *ListAdvisorsDefaultBody } +// IsSuccess returns true when this list advisors default response has a 2xx status code +func (o *ListAdvisorsDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this list advisors default response has a 3xx status code +func (o *ListAdvisorsDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this list advisors default response has a 4xx status code +func (o *ListAdvisorsDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this list advisors default response has a 5xx status code +func (o *ListAdvisorsDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this list advisors default response a status code equal to that given +func (o *ListAdvisorsDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the list advisors default response func (o *ListAdvisorsDefault) Code() int { return o._statusCode } func (o *ListAdvisorsDefault) Error() string { - return fmt.Sprintf("[GET /v1/advisors][%d] ListAdvisors default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/advisors][%d] ListAdvisors default %s", o._statusCode, payload) +} + +func (o *ListAdvisorsDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/advisors][%d] ListAdvisors default %s", o._statusCode, payload) } func (o *ListAdvisorsDefault) GetPayload() *ListAdvisorsDefaultBody { @@ -192,6 +259,11 @@ func (o *ListAdvisorsDefaultBody) ContextValidate(ctx context.Context, formats s func (o *ListAdvisorsDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ListAdvisors default" + "." + "details" + "." + strconv.Itoa(i)) @@ -231,6 +303,80 @@ swagger:model ListAdvisorsDefaultBodyDetailsItems0 type ListAdvisorsDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // list advisors default body details items0 + ListAdvisorsDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ListAdvisorsDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ListAdvisorsDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ListAdvisorsDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ListAdvisorsDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ListAdvisorsDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ListAdvisorsDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this list advisors default body details items0 @@ -327,6 +473,11 @@ func (o *ListAdvisorsOKBody) ContextValidate(ctx context.Context, formats strfmt func (o *ListAdvisorsOKBody) contextValidateAdvisors(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Advisors); i++ { if o.Advisors[i] != nil { + + if swag.IsZero(o.Advisors[i]) { // not required + return nil + } + if err := o.Advisors[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listAdvisorsOk" + "." + "advisors" + "." + strconv.Itoa(i)) @@ -440,6 +591,11 @@ func (o *ListAdvisorsOKBodyAdvisorsItems0) ContextValidate(ctx context.Context, func (o *ListAdvisorsOKBodyAdvisorsItems0) contextValidateChecks(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Checks); i++ { if o.Checks[i] != nil { + + if swag.IsZero(o.Checks[i]) { // not required + return nil + } + if err := o.Checks[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("checks" + "." + strconv.Itoa(i)) @@ -490,11 +646,11 @@ type ListAdvisorsOKBodyAdvisorsItems0ChecksItems0 struct { Summary string `json:"summary,omitempty"` // AdvisorCheckInterval represents possible execution interval values for checks. - // Enum: [ADVISOR_CHECK_INTERVAL_UNSPECIFIED ADVISOR_CHECK_INTERVAL_STANDARD ADVISOR_CHECK_INTERVAL_FREQUENT ADVISOR_CHECK_INTERVAL_RARE] + // Enum: ["ADVISOR_CHECK_INTERVAL_UNSPECIFIED","ADVISOR_CHECK_INTERVAL_STANDARD","ADVISOR_CHECK_INTERVAL_FREQUENT","ADVISOR_CHECK_INTERVAL_RARE"] Interval *string `json:"interval,omitempty"` // family - // Enum: [ADVISOR_CHECK_FAMILY_UNSPECIFIED ADVISOR_CHECK_FAMILY_MYSQL ADVISOR_CHECK_FAMILY_POSTGRESQL ADVISOR_CHECK_FAMILY_MONGODB] + // Enum: ["ADVISOR_CHECK_FAMILY_UNSPECIFIED","ADVISOR_CHECK_FAMILY_MYSQL","ADVISOR_CHECK_FAMILY_POSTGRESQL","ADVISOR_CHECK_FAMILY_MONGODB"] Family *string `json:"family,omitempty"` } diff --git a/api/advisors/v1/json/client/advisor_service/list_failed_services_responses.go b/api/advisors/v1/json/client/advisor_service/list_failed_services_responses.go index 4464595327..b14fd06338 100644 --- a/api/advisors/v1/json/client/advisor_service/list_failed_services_responses.go +++ b/api/advisors/v1/json/client/advisor_service/list_failed_services_responses.go @@ -7,6 +7,7 @@ package advisor_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type ListFailedServicesOK struct { Payload *ListFailedServicesOKBody } +// IsSuccess returns true when this list failed services Ok response has a 2xx status code +func (o *ListFailedServicesOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this list failed services Ok response has a 3xx status code +func (o *ListFailedServicesOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this list failed services Ok response has a 4xx status code +func (o *ListFailedServicesOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this list failed services Ok response has a 5xx status code +func (o *ListFailedServicesOK) IsServerError() bool { + return false +} + +// IsCode returns true when this list failed services Ok response a status code equal to that given +func (o *ListFailedServicesOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the list failed services Ok response +func (o *ListFailedServicesOK) Code() int { + return 200 +} + func (o *ListFailedServicesOK) Error() string { - return fmt.Sprintf("[GET /v1/advisors/failedServices][%d] listFailedServicesOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/advisors/failedServices][%d] listFailedServicesOk %s", 200, payload) +} + +func (o *ListFailedServicesOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/advisors/failedServices][%d] listFailedServicesOk %s", 200, payload) } func (o *ListFailedServicesOK) GetPayload() *ListFailedServicesOKBody { @@ -94,13 +131,44 @@ type ListFailedServicesDefault struct { Payload *ListFailedServicesDefaultBody } +// IsSuccess returns true when this list failed services default response has a 2xx status code +func (o *ListFailedServicesDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this list failed services default response has a 3xx status code +func (o *ListFailedServicesDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this list failed services default response has a 4xx status code +func (o *ListFailedServicesDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this list failed services default response has a 5xx status code +func (o *ListFailedServicesDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this list failed services default response a status code equal to that given +func (o *ListFailedServicesDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the list failed services default response func (o *ListFailedServicesDefault) Code() int { return o._statusCode } func (o *ListFailedServicesDefault) Error() string { - return fmt.Sprintf("[GET /v1/advisors/failedServices][%d] ListFailedServices default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/advisors/failedServices][%d] ListFailedServices default %s", o._statusCode, payload) +} + +func (o *ListFailedServicesDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/advisors/failedServices][%d] ListFailedServices default %s", o._statusCode, payload) } func (o *ListFailedServicesDefault) GetPayload() *ListFailedServicesDefaultBody { @@ -190,6 +258,11 @@ func (o *ListFailedServicesDefaultBody) ContextValidate(ctx context.Context, for func (o *ListFailedServicesDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ListFailedServices default" + "." + "details" + "." + strconv.Itoa(i)) @@ -229,6 +302,80 @@ swagger:model ListFailedServicesDefaultBodyDetailsItems0 type ListFailedServicesDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // list failed services default body details items0 + ListFailedServicesDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ListFailedServicesDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ListFailedServicesDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ListFailedServicesDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ListFailedServicesDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ListFailedServicesDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ListFailedServicesDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this list failed services default body details items0 @@ -325,6 +472,11 @@ func (o *ListFailedServicesOKBody) ContextValidate(ctx context.Context, formats func (o *ListFailedServicesOKBody) contextValidateResult(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Result); i++ { if o.Result[i] != nil { + + if swag.IsZero(o.Result[i]) { // not required + return nil + } + if err := o.Result[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listFailedServicesOk" + "." + "result" + "." + strconv.Itoa(i)) diff --git a/api/advisors/v1/json/client/advisor_service/start_advisor_checks_responses.go b/api/advisors/v1/json/client/advisor_service/start_advisor_checks_responses.go index c9b9dd2871..4454786167 100644 --- a/api/advisors/v1/json/client/advisor_service/start_advisor_checks_responses.go +++ b/api/advisors/v1/json/client/advisor_service/start_advisor_checks_responses.go @@ -7,6 +7,7 @@ package advisor_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type StartAdvisorChecksOK struct { Payload interface{} } +// IsSuccess returns true when this start advisor checks Ok response has a 2xx status code +func (o *StartAdvisorChecksOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this start advisor checks Ok response has a 3xx status code +func (o *StartAdvisorChecksOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this start advisor checks Ok response has a 4xx status code +func (o *StartAdvisorChecksOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this start advisor checks Ok response has a 5xx status code +func (o *StartAdvisorChecksOK) IsServerError() bool { + return false +} + +// IsCode returns true when this start advisor checks Ok response a status code equal to that given +func (o *StartAdvisorChecksOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the start advisor checks Ok response +func (o *StartAdvisorChecksOK) Code() int { + return 200 +} + func (o *StartAdvisorChecksOK) Error() string { - return fmt.Sprintf("[POST /v1/advisors/checks:start][%d] startAdvisorChecksOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/advisors/checks:start][%d] startAdvisorChecksOk %s", 200, payload) +} + +func (o *StartAdvisorChecksOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/advisors/checks:start][%d] startAdvisorChecksOk %s", 200, payload) } func (o *StartAdvisorChecksOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type StartAdvisorChecksDefault struct { Payload *StartAdvisorChecksDefaultBody } +// IsSuccess returns true when this start advisor checks default response has a 2xx status code +func (o *StartAdvisorChecksDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this start advisor checks default response has a 3xx status code +func (o *StartAdvisorChecksDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this start advisor checks default response has a 4xx status code +func (o *StartAdvisorChecksDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this start advisor checks default response has a 5xx status code +func (o *StartAdvisorChecksDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this start advisor checks default response a status code equal to that given +func (o *StartAdvisorChecksDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the start advisor checks default response func (o *StartAdvisorChecksDefault) Code() int { return o._statusCode } func (o *StartAdvisorChecksDefault) Error() string { - return fmt.Sprintf("[POST /v1/advisors/checks:start][%d] StartAdvisorChecks default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/advisors/checks:start][%d] StartAdvisorChecks default %s", o._statusCode, payload) +} + +func (o *StartAdvisorChecksDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/advisors/checks:start][%d] StartAdvisorChecks default %s", o._statusCode, payload) } func (o *StartAdvisorChecksDefault) GetPayload() *StartAdvisorChecksDefaultBody { @@ -225,6 +293,11 @@ func (o *StartAdvisorChecksDefaultBody) ContextValidate(ctx context.Context, for func (o *StartAdvisorChecksDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("StartAdvisorChecks default" + "." + "details" + "." + strconv.Itoa(i)) @@ -264,6 +337,80 @@ swagger:model StartAdvisorChecksDefaultBodyDetailsItems0 type StartAdvisorChecksDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // start advisor checks default body details items0 + StartAdvisorChecksDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *StartAdvisorChecksDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv StartAdvisorChecksDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.StartAdvisorChecksDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o StartAdvisorChecksDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.StartAdvisorChecksDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.StartAdvisorChecksDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this start advisor checks default body details items0 diff --git a/api/advisors/v1/json/v1.json b/api/advisors/v1/json/v1.json index 66354f636e..2d89414d25 100644 --- a/api/advisors/v1/json/v1.json +++ b/api/advisors/v1/json/v1.json @@ -34,6 +34,26 @@ "items": { "type": "object", "properties": { + "name": { + "description": "Machine-readable name (ID) that is used in expression.", + "type": "string", + "x-order": 0 + }, + "description": { + "description": "Long human-readable description.", + "type": "string", + "x-order": 1 + }, + "summary": { + "description": "Short human-readable summary.", + "type": "string", + "x-order": 2 + }, + "comment": { + "description": "Comment.", + "type": "string", + "x-order": 3 + }, "category": { "description": "Category.", "type": "string", @@ -46,26 +66,25 @@ "description": "AdvisorCheck contains check name and status.", "type": "object", "properties": { - "description": { - "description": "Long human-readable description.", + "name": { + "description": "Machine-readable name (ID) that is used in expression.", "type": "string", - "x-order": 2 + "x-order": 0 }, "enabled": { "description": "True if that check is enabled.", "type": "boolean", "x-order": 1 }, - "family": { + "description": { + "description": "Long human-readable description.", "type": "string", - "default": "ADVISOR_CHECK_FAMILY_UNSPECIFIED", - "enum": [ - "ADVISOR_CHECK_FAMILY_UNSPECIFIED", - "ADVISOR_CHECK_FAMILY_MYSQL", - "ADVISOR_CHECK_FAMILY_POSTGRESQL", - "ADVISOR_CHECK_FAMILY_MONGODB" - ], - "x-order": 5 + "x-order": 2 + }, + "summary": { + "description": "Short human-readable summary.", + "type": "string", + "x-order": 3 }, "interval": { "description": "AdvisorCheckInterval represents possible execution interval values for checks.", @@ -79,39 +98,20 @@ ], "x-order": 4 }, - "name": { - "description": "Machine-readable name (ID) that is used in expression.", - "type": "string", - "x-order": 0 - }, - "summary": { - "description": "Short human-readable summary.", + "family": { "type": "string", - "x-order": 3 + "default": "ADVISOR_CHECK_FAMILY_UNSPECIFIED", + "enum": [ + "ADVISOR_CHECK_FAMILY_UNSPECIFIED", + "ADVISOR_CHECK_FAMILY_MYSQL", + "ADVISOR_CHECK_FAMILY_POSTGRESQL", + "ADVISOR_CHECK_FAMILY_MONGODB" + ], + "x-order": 5 } } }, "x-order": 5 - }, - "comment": { - "description": "Comment.", - "type": "string", - "x-order": 3 - }, - "description": { - "description": "Long human-readable description.", - "type": "string", - "x-order": 1 - }, - "name": { - "description": "Machine-readable name (ID) that is used in expression.", - "type": "string", - "x-order": 0 - }, - "summary": { - "description": "Short human-readable summary.", - "type": "string", - "x-order": 2 } } }, @@ -130,6 +130,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -140,13 +144,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -174,26 +174,25 @@ "description": "AdvisorCheck contains check name and status.", "type": "object", "properties": { - "description": { - "description": "Long human-readable description.", + "name": { + "description": "Machine-readable name (ID) that is used in expression.", "type": "string", - "x-order": 2 + "x-order": 0 }, "enabled": { "description": "True if that check is enabled.", "type": "boolean", "x-order": 1 }, - "family": { + "description": { + "description": "Long human-readable description.", "type": "string", - "default": "ADVISOR_CHECK_FAMILY_UNSPECIFIED", - "enum": [ - "ADVISOR_CHECK_FAMILY_UNSPECIFIED", - "ADVISOR_CHECK_FAMILY_MYSQL", - "ADVISOR_CHECK_FAMILY_POSTGRESQL", - "ADVISOR_CHECK_FAMILY_MONGODB" - ], - "x-order": 5 + "x-order": 2 + }, + "summary": { + "description": "Short human-readable summary.", + "type": "string", + "x-order": 3 }, "interval": { "description": "AdvisorCheckInterval represents possible execution interval values for checks.", @@ -207,15 +206,16 @@ ], "x-order": 4 }, - "name": { - "description": "Machine-readable name (ID) that is used in expression.", - "type": "string", - "x-order": 0 - }, - "summary": { - "description": "Short human-readable summary.", + "family": { "type": "string", - "x-order": 3 + "default": "ADVISOR_CHECK_FAMILY_UNSPECIFIED", + "enum": [ + "ADVISOR_CHECK_FAMILY_UNSPECIFIED", + "ADVISOR_CHECK_FAMILY_MYSQL", + "ADVISOR_CHECK_FAMILY_POSTGRESQL", + "ADVISOR_CHECK_FAMILY_MONGODB" + ], + "x-order": 5 } } }, @@ -234,6 +234,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -244,13 +248,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -294,6 +294,18 @@ "schema": { "type": "object", "properties": { + "total_items": { + "description": "Total number of results.", + "type": "integer", + "format": "int32", + "x-order": 0 + }, + "total_pages": { + "description": "Total number of pages.", + "type": "integer", + "format": "int32", + "x-order": 1 + }, "results": { "type": "array", "title": "Check results", @@ -301,15 +313,31 @@ "description": "CheckResult represents the check results for a given service.", "type": "object", "properties": { - "check_name": { + "summary": { "type": "string", - "title": "Name of the check that failed", - "x-order": 7 + "x-order": 0 }, "description": { "type": "string", "x-order": 1 }, + "severity": { + "description": "Severity represents severity level of the check result or alert.", + "type": "string", + "default": "SEVERITY_UNSPECIFIED", + "enum": [ + "SEVERITY_UNSPECIFIED", + "SEVERITY_EMERGENCY", + "SEVERITY_ALERT", + "SEVERITY_CRITICAL", + "SEVERITY_ERROR", + "SEVERITY_WARNING", + "SEVERITY_NOTICE", + "SEVERITY_INFO", + "SEVERITY_DEBUG" + ], + "x-order": 2 + }, "labels": { "type": "object", "additionalProperties": { @@ -322,57 +350,29 @@ "type": "string", "x-order": 4 }, - "service_id": { - "description": "ID of the monitored service on which the check ran.", - "type": "string", - "x-order": 6 - }, "service_name": { "description": "Name of the monitored service on which the check ran.", "type": "string", "x-order": 5 }, - "severity": { - "description": "Severity represents severity level of the check result or alert.", + "service_id": { + "description": "ID of the monitored service on which the check ran.", "type": "string", - "default": "SEVERITY_UNSPECIFIED", - "enum": [ - "SEVERITY_UNSPECIFIED", - "SEVERITY_EMERGENCY", - "SEVERITY_ALERT", - "SEVERITY_CRITICAL", - "SEVERITY_ERROR", - "SEVERITY_WARNING", - "SEVERITY_NOTICE", - "SEVERITY_INFO", - "SEVERITY_DEBUG" - ], - "x-order": 2 + "x-order": 6 + }, + "check_name": { + "type": "string", + "title": "Name of the check that failed", + "x-order": 7 }, "silenced": { "type": "boolean", "title": "Silence status of the check result", "x-order": 8 - }, - "summary": { - "type": "string", - "x-order": 0 } } }, "x-order": 2 - }, - "total_items": { - "description": "Total number of results.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "total_pages": { - "description": "Total number of pages.", - "type": "integer", - "format": "int32", - "x-order": 1 } } } @@ -387,6 +387,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -397,13 +401,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -433,6 +433,11 @@ "description": "ChangeAdvisorCheckParams specifies a single check parameters.", "type": "object", "properties": { + "name": { + "description": "The name of the check to change.", + "type": "string", + "x-order": 0 + }, "enable": { "type": "boolean", "x-nullable": true, @@ -449,11 +454,6 @@ "ADVISOR_CHECK_INTERVAL_RARE" ], "x-order": 2 - }, - "name": { - "description": "The name of the check to change.", - "type": "string", - "x-order": 0 } } }, @@ -480,6 +480,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -490,13 +494,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -549,6 +549,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -559,13 +563,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -593,6 +593,20 @@ "description": "CheckResultSummary is a summary of check results.", "type": "object", "properties": { + "service_name": { + "type": "string", + "x-order": 0 + }, + "service_id": { + "type": "string", + "x-order": 1 + }, + "emergency_count": { + "description": "Number of failed checks for this service with severity level \"EMERGENCY\".", + "type": "integer", + "format": "int64", + "x-order": 2 + }, "alert_count": { "description": "Number of failed checks for this service with severity level \"ALERT\".", "type": "integer", @@ -605,29 +619,17 @@ "format": "int64", "x-order": 4 }, - "debug_count": { - "description": "Number of failed checks for this service with severity level \"DEBUG\".", - "type": "integer", - "format": "int64", - "x-order": 9 - }, - "emergency_count": { - "description": "Number of failed checks for this service with severity level \"EMERGENCY\".", - "type": "integer", - "format": "int64", - "x-order": 2 - }, "error_count": { "description": "Number of failed checks for this service with severity level \"ERROR\".", "type": "integer", "format": "int64", "x-order": 5 }, - "info_count": { - "description": "Number of failed checks for this service with severity level \"INFO\".", + "warning_count": { + "description": "Number of failed checks for this service with severity level \"WARNING\".", "type": "integer", "format": "int64", - "x-order": 8 + "x-order": 6 }, "notice_count": { "description": "Number of failed checks for this service with severity level \"NOTICE\".", @@ -635,19 +637,17 @@ "format": "int64", "x-order": 7 }, - "service_id": { - "type": "string", - "x-order": 1 - }, - "service_name": { - "type": "string", - "x-order": 0 + "info_count": { + "description": "Number of failed checks for this service with severity level \"INFO\".", + "type": "integer", + "format": "int64", + "x-order": 8 }, - "warning_count": { - "description": "Number of failed checks for this service with severity level \"WARNING\".", + "debug_count": { + "description": "Number of failed checks for this service with severity level \"DEBUG\".", "type": "integer", "format": "int64", - "x-order": 6 + "x-order": 9 } } }, @@ -666,6 +666,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -676,13 +680,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } diff --git a/api/agentlocal/v1/json/client/agent_local_service/agent_local_service_client.go b/api/agentlocal/v1/json/client/agent_local_service/agent_local_service_client.go index 78b5379c7d..7277ba6746 100644 --- a/api/agentlocal/v1/json/client/agent_local_service/agent_local_service_client.go +++ b/api/agentlocal/v1/json/client/agent_local_service/agent_local_service_client.go @@ -7,6 +7,7 @@ package agent_local_service import ( "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" ) @@ -15,6 +16,31 @@ func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientServi return &Client{transport: transport, formats: formats} } +// New creates a new agent local service API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new agent local service API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + /* Client for agent local service API */ @@ -23,7 +49,7 @@ type Client struct { formats strfmt.Registry } -// ClientOption is the option for Client methods +// ClientOption may be used to customize the behavior of Client methods. type ClientOption func(*runtime.ClientOperation) // ClientService is the interface for Client methods diff --git a/api/agentlocal/v1/json/client/agent_local_service/reload_responses.go b/api/agentlocal/v1/json/client/agent_local_service/reload_responses.go index 2cf276d9d4..50b09a75b1 100644 --- a/api/agentlocal/v1/json/client/agent_local_service/reload_responses.go +++ b/api/agentlocal/v1/json/client/agent_local_service/reload_responses.go @@ -7,6 +7,7 @@ package agent_local_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type ReloadOK struct { Payload interface{} } +// IsSuccess returns true when this reload Ok response has a 2xx status code +func (o *ReloadOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this reload Ok response has a 3xx status code +func (o *ReloadOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this reload Ok response has a 4xx status code +func (o *ReloadOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this reload Ok response has a 5xx status code +func (o *ReloadOK) IsServerError() bool { + return false +} + +// IsCode returns true when this reload Ok response a status code equal to that given +func (o *ReloadOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the reload Ok response +func (o *ReloadOK) Code() int { + return 200 +} + func (o *ReloadOK) Error() string { - return fmt.Sprintf("[POST /local/Reload][%d] reloadOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /local/Reload][%d] reloadOk %s", 200, payload) +} + +func (o *ReloadOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /local/Reload][%d] reloadOk %s", 200, payload) } func (o *ReloadOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type ReloadDefault struct { Payload *ReloadDefaultBody } +// IsSuccess returns true when this reload default response has a 2xx status code +func (o *ReloadDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this reload default response has a 3xx status code +func (o *ReloadDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this reload default response has a 4xx status code +func (o *ReloadDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this reload default response has a 5xx status code +func (o *ReloadDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this reload default response a status code equal to that given +func (o *ReloadDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the reload default response func (o *ReloadDefault) Code() int { return o._statusCode } func (o *ReloadDefault) Error() string { - return fmt.Sprintf("[POST /local/Reload][%d] Reload default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /local/Reload][%d] Reload default %s", o._statusCode, payload) +} + +func (o *ReloadDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /local/Reload][%d] Reload default %s", o._statusCode, payload) } func (o *ReloadDefault) GetPayload() *ReloadDefaultBody { @@ -188,6 +256,11 @@ func (o *ReloadDefaultBody) ContextValidate(ctx context.Context, formats strfmt. func (o *ReloadDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("Reload default" + "." + "details" + "." + strconv.Itoa(i)) @@ -227,6 +300,80 @@ swagger:model ReloadDefaultBodyDetailsItems0 type ReloadDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // reload default body details items0 + ReloadDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ReloadDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ReloadDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ReloadDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ReloadDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ReloadDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ReloadDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this reload default body details items0 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 f913007749..4304dddbc3 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 @@ -59,8 +59,44 @@ type Status2OK struct { Payload *Status2OKBody } +// IsSuccess returns true when this status2 Ok response has a 2xx status code +func (o *Status2OK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this status2 Ok response has a 3xx status code +func (o *Status2OK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this status2 Ok response has a 4xx status code +func (o *Status2OK) IsClientError() bool { + return false +} + +// IsServerError returns true when this status2 Ok response has a 5xx status code +func (o *Status2OK) IsServerError() bool { + return false +} + +// IsCode returns true when this status2 Ok response a status code equal to that given +func (o *Status2OK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the status2 Ok response +func (o *Status2OK) Code() int { + return 200 +} + func (o *Status2OK) Error() string { - return fmt.Sprintf("[GET /local/Status][%d] status2Ok %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /local/Status][%d] status2Ok %s", 200, payload) +} + +func (o *Status2OK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /local/Status][%d] status2Ok %s", 200, payload) } func (o *Status2OK) GetPayload() *Status2OKBody { @@ -96,13 +132,44 @@ type Status2Default struct { Payload *Status2DefaultBody } +// IsSuccess returns true when this status2 default response has a 2xx status code +func (o *Status2Default) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this status2 default response has a 3xx status code +func (o *Status2Default) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this status2 default response has a 4xx status code +func (o *Status2Default) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this status2 default response has a 5xx status code +func (o *Status2Default) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this status2 default response a status code equal to that given +func (o *Status2Default) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the status2 default response func (o *Status2Default) Code() int { return o._statusCode } func (o *Status2Default) Error() string { - return fmt.Sprintf("[GET /local/Status][%d] Status2 default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /local/Status][%d] Status2 default %s", o._statusCode, payload) +} + +func (o *Status2Default) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /local/Status][%d] Status2 default %s", o._statusCode, payload) } func (o *Status2Default) GetPayload() *Status2DefaultBody { @@ -192,6 +259,11 @@ func (o *Status2DefaultBody) ContextValidate(ctx context.Context, formats strfmt func (o *Status2DefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("Status2 default" + "." + "details" + "." + strconv.Itoa(i)) @@ -231,6 +303,80 @@ swagger:model Status2DefaultBodyDetailsItems0 type Status2DefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // status2 default body details items0 + Status2DefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *Status2DefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv Status2DefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.Status2DefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o Status2DefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.Status2DefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.Status2DefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this status2 default body details items0 @@ -375,6 +521,11 @@ func (o *Status2OKBody) ContextValidate(ctx context.Context, formats strfmt.Regi func (o *Status2OKBody) contextValidateAgentsInfo(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.AgentsInfo); i++ { if o.AgentsInfo[i] != nil { + + if swag.IsZero(o.AgentsInfo[i]) { // not required + return nil + } + if err := o.AgentsInfo[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("status2Ok" + "." + "agents_info" + "." + strconv.Itoa(i)) @@ -391,6 +542,11 @@ func (o *Status2OKBody) contextValidateAgentsInfo(ctx context.Context, formats s func (o *Status2OKBody) contextValidateServerInfo(ctx context.Context, formats strfmt.Registry) error { if o.ServerInfo != nil { + + if swag.IsZero(o.ServerInfo) { // not required + return nil + } + if err := o.ServerInfo.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("status2Ok" + "." + "server_info") @@ -431,7 +587,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_QAN_MYSQL_PERFSCHEMA_AGENT AGENT_TYPE_QAN_MYSQL_SLOWLOG_AGENT AGENT_TYPE_QAN_MONGODB_PROFILER_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] + // 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_QAN_MYSQL_PERFSCHEMA_AGENT","AGENT_TYPE_QAN_MYSQL_SLOWLOG_AGENT","AGENT_TYPE_QAN_MONGODB_PROFILER_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"] AgentType *string `json:"agent_type,omitempty"` // AgentStatus represents actual Agent status. @@ -443,7 +599,7 @@ type Status2OKBodyAgentsInfoItems0 struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // The current listen port of this Agent (exporter or vmagent). 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 d78bbc428d..8fa560cb0d 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 @@ -59,8 +59,44 @@ type StatusOK struct { Payload *StatusOKBody } +// IsSuccess returns true when this status Ok response has a 2xx status code +func (o *StatusOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this status Ok response has a 3xx status code +func (o *StatusOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this status Ok response has a 4xx status code +func (o *StatusOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this status Ok response has a 5xx status code +func (o *StatusOK) IsServerError() bool { + return false +} + +// IsCode returns true when this status Ok response a status code equal to that given +func (o *StatusOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the status Ok response +func (o *StatusOK) Code() int { + return 200 +} + func (o *StatusOK) Error() string { - return fmt.Sprintf("[POST /local/Status][%d] statusOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /local/Status][%d] statusOk %s", 200, payload) +} + +func (o *StatusOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /local/Status][%d] statusOk %s", 200, payload) } func (o *StatusOK) GetPayload() *StatusOKBody { @@ -96,13 +132,44 @@ type StatusDefault struct { Payload *StatusDefaultBody } +// IsSuccess returns true when this status default response has a 2xx status code +func (o *StatusDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this status default response has a 3xx status code +func (o *StatusDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this status default response has a 4xx status code +func (o *StatusDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this status default response has a 5xx status code +func (o *StatusDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this status default response a status code equal to that given +func (o *StatusDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the status default response func (o *StatusDefault) Code() int { return o._statusCode } func (o *StatusDefault) Error() string { - return fmt.Sprintf("[POST /local/Status][%d] Status default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /local/Status][%d] Status default %s", o._statusCode, payload) +} + +func (o *StatusDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /local/Status][%d] Status default %s", o._statusCode, payload) } func (o *StatusDefault) GetPayload() *StatusDefaultBody { @@ -229,6 +296,11 @@ func (o *StatusDefaultBody) ContextValidate(ctx context.Context, formats strfmt. func (o *StatusDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("Status default" + "." + "details" + "." + strconv.Itoa(i)) @@ -268,6 +340,80 @@ swagger:model StatusDefaultBodyDetailsItems0 type StatusDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // status default body details items0 + StatusDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *StatusDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv StatusDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.StatusDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o StatusDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.StatusDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.StatusDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this status default body details items0 @@ -412,6 +558,11 @@ func (o *StatusOKBody) ContextValidate(ctx context.Context, formats strfmt.Regis func (o *StatusOKBody) contextValidateAgentsInfo(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.AgentsInfo); i++ { if o.AgentsInfo[i] != nil { + + if swag.IsZero(o.AgentsInfo[i]) { // not required + return nil + } + if err := o.AgentsInfo[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("statusOk" + "." + "agents_info" + "." + strconv.Itoa(i)) @@ -428,6 +579,11 @@ func (o *StatusOKBody) contextValidateAgentsInfo(ctx context.Context, formats st func (o *StatusOKBody) contextValidateServerInfo(ctx context.Context, formats strfmt.Registry) error { if o.ServerInfo != nil { + + if swag.IsZero(o.ServerInfo) { // not required + return nil + } + if err := o.ServerInfo.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("statusOk" + "." + "server_info") @@ -468,7 +624,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_QAN_MYSQL_PERFSCHEMA_AGENT AGENT_TYPE_QAN_MYSQL_SLOWLOG_AGENT AGENT_TYPE_QAN_MONGODB_PROFILER_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] + // 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_QAN_MYSQL_PERFSCHEMA_AGENT","AGENT_TYPE_QAN_MYSQL_SLOWLOG_AGENT","AGENT_TYPE_QAN_MONGODB_PROFILER_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"] AgentType *string `json:"agent_type,omitempty"` // AgentStatus represents actual Agent status. @@ -480,7 +636,7 @@ type StatusOKBodyAgentsInfoItems0 struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // The current listen port of this Agent (exporter or vmagent). diff --git a/api/agentlocal/v1/json/v1.json b/api/agentlocal/v1/json/v1.json index b67762d07b..90fc27427a 100644 --- a/api/agentlocal/v1/json/v1.json +++ b/api/agentlocal/v1/json/v1.json @@ -50,6 +50,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -60,13 +64,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -99,10 +99,51 @@ "type": "string", "x-order": 0 }, - "agent_version": { - "description": "PMM Agent version.", + "runs_on_node_id": { "type": "string", - "x-order": 6 + "title": "TODO: rename to node_id", + "x-order": 1 + }, + "node_name": { + "type": "string", + "x-order": 2 + }, + "server_info": { + "description": "ServerInfo contains information about the PMM Server.", + "type": "object", + "properties": { + "url": { + "description": "PMM Server URL in a form https://HOST:PORT/.", + "type": "string", + "x-order": 0 + }, + "insecure_tls": { + "description": "PMM Server's TLS certificate validation should be skipped if true.", + "type": "boolean", + "x-order": 1 + }, + "connected": { + "description": "True if pmm-agent is currently connected to the server.", + "type": "boolean", + "x-order": 2 + }, + "version": { + "description": "PMM Server version (if agent is connected).", + "type": "string", + "x-order": 3 + }, + "latency": { + "description": "Ping time from pmm-agent to pmm-managed (if agent is connected).", + "type": "string", + "x-order": 4 + }, + "clock_drift": { + "description": "Clock drift from PMM Server (if agent is connected).", + "type": "string", + "x-order": 5 + } + }, + "x-order": 3 }, "agents_info": { "type": "array", @@ -138,16 +179,6 @@ ], "x-order": 1 }, - "listen_port": { - "description": "The current listen port of this Agent (exporter or vmagent).\nZero for other Agent types, or if unknown or not yet supported.", - "type": "integer", - "format": "int64", - "x-order": 3 - }, - "process_exec_path": { - "type": "string", - "x-order": 4 - }, "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", "type": "string", @@ -163,6 +194,16 @@ "AGENT_STATUS_UNKNOWN" ], "x-order": 2 + }, + "listen_port": { + "description": "The current listen port of this Agent (exporter or vmagent).\nZero for other Agent types, or if unknown or not yet supported.", + "type": "integer", + "format": "int64", + "x-order": 3 + }, + "process_exec_path": { + "type": "string", + "x-order": 4 } } }, @@ -173,57 +214,16 @@ "type": "string", "x-order": 5 }, + "agent_version": { + "description": "PMM Agent version.", + "type": "string", + "x-order": 6 + }, "connection_uptime": { "type": "number", "format": "float", "title": "Shows connection uptime in percentage between agent and server", "x-order": 7 - }, - "node_name": { - "type": "string", - "x-order": 2 - }, - "runs_on_node_id": { - "type": "string", - "title": "TODO: rename to node_id", - "x-order": 1 - }, - "server_info": { - "description": "ServerInfo contains information about the PMM Server.", - "type": "object", - "properties": { - "clock_drift": { - "description": "Clock drift from PMM Server (if agent is connected).", - "type": "string", - "x-order": 5 - }, - "connected": { - "description": "True if pmm-agent is currently connected to the server.", - "type": "boolean", - "x-order": 2 - }, - "insecure_tls": { - "description": "PMM Server's TLS certificate validation should be skipped if true.", - "type": "boolean", - "x-order": 1 - }, - "latency": { - "description": "Ping time from pmm-agent to pmm-managed (if agent is connected).", - "type": "string", - "x-order": 4 - }, - "url": { - "description": "PMM Server URL in a form https://HOST:PORT/.", - "type": "string", - "x-order": 0 - }, - "version": { - "description": "PMM Server version (if agent is connected).", - "type": "string", - "x-order": 3 - } - }, - "x-order": 3 } } } @@ -238,6 +238,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -248,13 +252,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -294,10 +294,51 @@ "type": "string", "x-order": 0 }, - "agent_version": { - "description": "PMM Agent version.", + "runs_on_node_id": { "type": "string", - "x-order": 6 + "title": "TODO: rename to node_id", + "x-order": 1 + }, + "node_name": { + "type": "string", + "x-order": 2 + }, + "server_info": { + "description": "ServerInfo contains information about the PMM Server.", + "type": "object", + "properties": { + "url": { + "description": "PMM Server URL in a form https://HOST:PORT/.", + "type": "string", + "x-order": 0 + }, + "insecure_tls": { + "description": "PMM Server's TLS certificate validation should be skipped if true.", + "type": "boolean", + "x-order": 1 + }, + "connected": { + "description": "True if pmm-agent is currently connected to the server.", + "type": "boolean", + "x-order": 2 + }, + "version": { + "description": "PMM Server version (if agent is connected).", + "type": "string", + "x-order": 3 + }, + "latency": { + "description": "Ping time from pmm-agent to pmm-managed (if agent is connected).", + "type": "string", + "x-order": 4 + }, + "clock_drift": { + "description": "Clock drift from PMM Server (if agent is connected).", + "type": "string", + "x-order": 5 + } + }, + "x-order": 3 }, "agents_info": { "type": "array", @@ -333,16 +374,6 @@ ], "x-order": 1 }, - "listen_port": { - "description": "The current listen port of this Agent (exporter or vmagent).\nZero for other Agent types, or if unknown or not yet supported.", - "type": "integer", - "format": "int64", - "x-order": 3 - }, - "process_exec_path": { - "type": "string", - "x-order": 4 - }, "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", "type": "string", @@ -358,6 +389,16 @@ "AGENT_STATUS_UNKNOWN" ], "x-order": 2 + }, + "listen_port": { + "description": "The current listen port of this Agent (exporter or vmagent).\nZero for other Agent types, or if unknown or not yet supported.", + "type": "integer", + "format": "int64", + "x-order": 3 + }, + "process_exec_path": { + "type": "string", + "x-order": 4 } } }, @@ -368,57 +409,16 @@ "type": "string", "x-order": 5 }, + "agent_version": { + "description": "PMM Agent version.", + "type": "string", + "x-order": 6 + }, "connection_uptime": { "type": "number", "format": "float", "title": "Shows connection uptime in percentage between agent and server", "x-order": 7 - }, - "node_name": { - "type": "string", - "x-order": 2 - }, - "runs_on_node_id": { - "type": "string", - "title": "TODO: rename to node_id", - "x-order": 1 - }, - "server_info": { - "description": "ServerInfo contains information about the PMM Server.", - "type": "object", - "properties": { - "clock_drift": { - "description": "Clock drift from PMM Server (if agent is connected).", - "type": "string", - "x-order": 5 - }, - "connected": { - "description": "True if pmm-agent is currently connected to the server.", - "type": "boolean", - "x-order": 2 - }, - "insecure_tls": { - "description": "PMM Server's TLS certificate validation should be skipped if true.", - "type": "boolean", - "x-order": 1 - }, - "latency": { - "description": "Ping time from pmm-agent to pmm-managed (if agent is connected).", - "type": "string", - "x-order": 4 - }, - "url": { - "description": "PMM Server URL in a form https://HOST:PORT/.", - "type": "string", - "x-order": 0 - }, - "version": { - "description": "PMM Server version (if agent is connected).", - "type": "string", - "x-order": 3 - } - }, - "x-order": 3 } } } @@ -433,6 +433,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -443,13 +447,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } diff --git a/api/alerting/v1/json/client/alerting_service/alerting_service_client.go b/api/alerting/v1/json/client/alerting_service/alerting_service_client.go index 5cc1b86573..f164e5ba43 100644 --- a/api/alerting/v1/json/client/alerting_service/alerting_service_client.go +++ b/api/alerting/v1/json/client/alerting_service/alerting_service_client.go @@ -7,6 +7,7 @@ package alerting_service import ( "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" ) @@ -15,6 +16,31 @@ func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientServi return &Client{transport: transport, formats: formats} } +// New creates a new alerting service API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new alerting service API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + /* Client for alerting service API */ @@ -23,7 +49,7 @@ type Client struct { formats strfmt.Registry } -// ClientOption is the option for Client methods +// ClientOption may be used to customize the behavior of Client methods. type ClientOption func(*runtime.ClientOperation) // ClientService is the interface for Client methods diff --git a/api/alerting/v1/json/client/alerting_service/create_rule_responses.go b/api/alerting/v1/json/client/alerting_service/create_rule_responses.go index d57f797b40..e5f44dd29a 100644 --- a/api/alerting/v1/json/client/alerting_service/create_rule_responses.go +++ b/api/alerting/v1/json/client/alerting_service/create_rule_responses.go @@ -59,8 +59,44 @@ type CreateRuleOK struct { Payload interface{} } +// IsSuccess returns true when this create rule Ok response has a 2xx status code +func (o *CreateRuleOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this create rule Ok response has a 3xx status code +func (o *CreateRuleOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this create rule Ok response has a 4xx status code +func (o *CreateRuleOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this create rule Ok response has a 5xx status code +func (o *CreateRuleOK) IsServerError() bool { + return false +} + +// IsCode returns true when this create rule Ok response a status code equal to that given +func (o *CreateRuleOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the create rule Ok response +func (o *CreateRuleOK) Code() int { + return 200 +} + func (o *CreateRuleOK) Error() string { - return fmt.Sprintf("[POST /v1/alerting/rules][%d] createRuleOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/alerting/rules][%d] createRuleOk %s", 200, payload) +} + +func (o *CreateRuleOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/alerting/rules][%d] createRuleOk %s", 200, payload) } func (o *CreateRuleOK) GetPayload() interface{} { @@ -94,13 +130,44 @@ type CreateRuleDefault struct { Payload *CreateRuleDefaultBody } +// IsSuccess returns true when this create rule default response has a 2xx status code +func (o *CreateRuleDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this create rule default response has a 3xx status code +func (o *CreateRuleDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this create rule default response has a 4xx status code +func (o *CreateRuleDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this create rule default response has a 5xx status code +func (o *CreateRuleDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this create rule default response a status code equal to that given +func (o *CreateRuleDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the create rule default response func (o *CreateRuleDefault) Code() int { return o._statusCode } func (o *CreateRuleDefault) Error() string { - return fmt.Sprintf("[POST /v1/alerting/rules][%d] CreateRule default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/alerting/rules][%d] CreateRule default %s", o._statusCode, payload) +} + +func (o *CreateRuleDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/alerting/rules][%d] CreateRule default %s", o._statusCode, payload) } func (o *CreateRuleDefault) GetPayload() *CreateRuleDefaultBody { @@ -142,7 +209,7 @@ type CreateRuleBody struct { For string `json:"for,omitempty"` // Severity represents severity level of the check result or alert. - // Enum: [SEVERITY_UNSPECIFIED SEVERITY_EMERGENCY SEVERITY_ALERT SEVERITY_CRITICAL SEVERITY_ERROR SEVERITY_WARNING SEVERITY_NOTICE SEVERITY_INFO SEVERITY_DEBUG] + // Enum: ["SEVERITY_UNSPECIFIED","SEVERITY_EMERGENCY","SEVERITY_ALERT","SEVERITY_CRITICAL","SEVERITY_ERROR","SEVERITY_WARNING","SEVERITY_NOTICE","SEVERITY_INFO","SEVERITY_DEBUG"] Severity *string `json:"severity,omitempty"` // All custom labels to add or remove (with empty values) to default labels from template. @@ -313,6 +380,11 @@ func (o *CreateRuleBody) ContextValidate(ctx context.Context, formats strfmt.Reg func (o *CreateRuleBody) contextValidateParams(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Params); i++ { if o.Params[i] != nil { + + if swag.IsZero(o.Params[i]) { // not required + return nil + } + if err := o.Params[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "params" + "." + strconv.Itoa(i)) @@ -330,6 +402,11 @@ func (o *CreateRuleBody) contextValidateParams(ctx context.Context, formats strf func (o *CreateRuleBody) contextValidateFilters(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Filters); i++ { if o.Filters[i] != nil { + + if swag.IsZero(o.Filters[i]) { // not required + return nil + } + if err := o.Filters[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "filters" + "." + strconv.Itoa(i)) @@ -434,6 +511,11 @@ func (o *CreateRuleDefaultBody) ContextValidate(ctx context.Context, formats str func (o *CreateRuleDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("CreateRule default" + "." + "details" + "." + strconv.Itoa(i)) @@ -473,6 +555,80 @@ swagger:model CreateRuleDefaultBodyDetailsItems0 type CreateRuleDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // create rule default body details items0 + CreateRuleDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *CreateRuleDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv CreateRuleDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.CreateRuleDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o CreateRuleDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.CreateRuleDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.CreateRuleDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this create rule default body details items0 @@ -509,7 +665,7 @@ swagger:model CreateRuleParamsBodyFiltersItems0 */ type CreateRuleParamsBodyFiltersItems0 struct { // FilterType represents filter matching type. - // Enum: [FILTER_TYPE_UNSPECIFIED FILTER_TYPE_MATCH FILTER_TYPE_MISMATCH] + // Enum: ["FILTER_TYPE_UNSPECIFIED","FILTER_TYPE_MATCH","FILTER_TYPE_MISMATCH"] Type *string `json:"type,omitempty"` // label @@ -610,7 +766,7 @@ type CreateRuleParamsBodyParamsItems0 struct { Name string `json:"name,omitempty"` // ParamType represents template parameter type. - // Enum: [PARAM_TYPE_UNSPECIFIED PARAM_TYPE_BOOL PARAM_TYPE_FLOAT PARAM_TYPE_STRING] + // Enum: ["PARAM_TYPE_UNSPECIFIED","PARAM_TYPE_BOOL","PARAM_TYPE_FLOAT","PARAM_TYPE_STRING"] Type *string `json:"type,omitempty"` // Bool value. diff --git a/api/alerting/v1/json/client/alerting_service/create_template_responses.go b/api/alerting/v1/json/client/alerting_service/create_template_responses.go index fc39e60f5e..1c6b1a57ff 100644 --- a/api/alerting/v1/json/client/alerting_service/create_template_responses.go +++ b/api/alerting/v1/json/client/alerting_service/create_template_responses.go @@ -7,6 +7,7 @@ package alerting_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type CreateTemplateOK struct { Payload interface{} } +// IsSuccess returns true when this create template Ok response has a 2xx status code +func (o *CreateTemplateOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this create template Ok response has a 3xx status code +func (o *CreateTemplateOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this create template Ok response has a 4xx status code +func (o *CreateTemplateOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this create template Ok response has a 5xx status code +func (o *CreateTemplateOK) IsServerError() bool { + return false +} + +// IsCode returns true when this create template Ok response a status code equal to that given +func (o *CreateTemplateOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the create template Ok response +func (o *CreateTemplateOK) Code() int { + return 200 +} + func (o *CreateTemplateOK) Error() string { - return fmt.Sprintf("[POST /v1/alerting/templates][%d] createTemplateOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/alerting/templates][%d] createTemplateOk %s", 200, payload) +} + +func (o *CreateTemplateOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/alerting/templates][%d] createTemplateOk %s", 200, payload) } func (o *CreateTemplateOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type CreateTemplateDefault struct { Payload *CreateTemplateDefaultBody } +// IsSuccess returns true when this create template default response has a 2xx status code +func (o *CreateTemplateDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this create template default response has a 3xx status code +func (o *CreateTemplateDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this create template default response has a 4xx status code +func (o *CreateTemplateDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this create template default response has a 5xx status code +func (o *CreateTemplateDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this create template default response a status code equal to that given +func (o *CreateTemplateDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the create template default response func (o *CreateTemplateDefault) Code() int { return o._statusCode } func (o *CreateTemplateDefault) Error() string { - return fmt.Sprintf("[POST /v1/alerting/templates][%d] CreateTemplate default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/alerting/templates][%d] CreateTemplate default %s", o._statusCode, payload) +} + +func (o *CreateTemplateDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/alerting/templates][%d] CreateTemplate default %s", o._statusCode, payload) } func (o *CreateTemplateDefault) GetPayload() *CreateTemplateDefaultBody { @@ -225,6 +293,11 @@ func (o *CreateTemplateDefaultBody) ContextValidate(ctx context.Context, formats func (o *CreateTemplateDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("CreateTemplate default" + "." + "details" + "." + strconv.Itoa(i)) @@ -264,6 +337,80 @@ swagger:model CreateTemplateDefaultBodyDetailsItems0 type CreateTemplateDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // create template default body details items0 + CreateTemplateDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *CreateTemplateDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv CreateTemplateDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.CreateTemplateDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o CreateTemplateDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.CreateTemplateDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.CreateTemplateDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this create template default body details items0 diff --git a/api/alerting/v1/json/client/alerting_service/delete_template_responses.go b/api/alerting/v1/json/client/alerting_service/delete_template_responses.go index 0a8c884d9f..6dd0166a32 100644 --- a/api/alerting/v1/json/client/alerting_service/delete_template_responses.go +++ b/api/alerting/v1/json/client/alerting_service/delete_template_responses.go @@ -7,6 +7,7 @@ package alerting_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type DeleteTemplateOK struct { Payload interface{} } +// IsSuccess returns true when this delete template Ok response has a 2xx status code +func (o *DeleteTemplateOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this delete template Ok response has a 3xx status code +func (o *DeleteTemplateOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this delete template Ok response has a 4xx status code +func (o *DeleteTemplateOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this delete template Ok response has a 5xx status code +func (o *DeleteTemplateOK) IsServerError() bool { + return false +} + +// IsCode returns true when this delete template Ok response a status code equal to that given +func (o *DeleteTemplateOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the delete template Ok response +func (o *DeleteTemplateOK) Code() int { + return 200 +} + func (o *DeleteTemplateOK) Error() string { - return fmt.Sprintf("[DELETE /v1/alerting/templates/{name}][%d] deleteTemplateOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/alerting/templates/{name}][%d] deleteTemplateOk %s", 200, payload) +} + +func (o *DeleteTemplateOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/alerting/templates/{name}][%d] deleteTemplateOk %s", 200, payload) } func (o *DeleteTemplateOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type DeleteTemplateDefault struct { Payload *DeleteTemplateDefaultBody } +// IsSuccess returns true when this delete template default response has a 2xx status code +func (o *DeleteTemplateDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this delete template default response has a 3xx status code +func (o *DeleteTemplateDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this delete template default response has a 4xx status code +func (o *DeleteTemplateDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this delete template default response has a 5xx status code +func (o *DeleteTemplateDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this delete template default response a status code equal to that given +func (o *DeleteTemplateDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the delete template default response func (o *DeleteTemplateDefault) Code() int { return o._statusCode } func (o *DeleteTemplateDefault) Error() string { - return fmt.Sprintf("[DELETE /v1/alerting/templates/{name}][%d] DeleteTemplate default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/alerting/templates/{name}][%d] DeleteTemplate default %s", o._statusCode, payload) +} + +func (o *DeleteTemplateDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/alerting/templates/{name}][%d] DeleteTemplate default %s", o._statusCode, payload) } func (o *DeleteTemplateDefault) GetPayload() *DeleteTemplateDefaultBody { @@ -188,6 +256,11 @@ func (o *DeleteTemplateDefaultBody) ContextValidate(ctx context.Context, formats func (o *DeleteTemplateDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("DeleteTemplate default" + "." + "details" + "." + strconv.Itoa(i)) @@ -227,6 +300,80 @@ swagger:model DeleteTemplateDefaultBodyDetailsItems0 type DeleteTemplateDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // delete template default body details items0 + DeleteTemplateDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *DeleteTemplateDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv DeleteTemplateDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.DeleteTemplateDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o DeleteTemplateDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.DeleteTemplateDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.DeleteTemplateDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this delete template default body details items0 diff --git a/api/alerting/v1/json/client/alerting_service/list_templates_responses.go b/api/alerting/v1/json/client/alerting_service/list_templates_responses.go index 0937488de0..3e74113148 100644 --- a/api/alerting/v1/json/client/alerting_service/list_templates_responses.go +++ b/api/alerting/v1/json/client/alerting_service/list_templates_responses.go @@ -59,8 +59,44 @@ type ListTemplatesOK struct { Payload *ListTemplatesOKBody } +// IsSuccess returns true when this list templates Ok response has a 2xx status code +func (o *ListTemplatesOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this list templates Ok response has a 3xx status code +func (o *ListTemplatesOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this list templates Ok response has a 4xx status code +func (o *ListTemplatesOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this list templates Ok response has a 5xx status code +func (o *ListTemplatesOK) IsServerError() bool { + return false +} + +// IsCode returns true when this list templates Ok response a status code equal to that given +func (o *ListTemplatesOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the list templates Ok response +func (o *ListTemplatesOK) Code() int { + return 200 +} + func (o *ListTemplatesOK) Error() string { - return fmt.Sprintf("[GET /v1/alerting/templates][%d] listTemplatesOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/alerting/templates][%d] listTemplatesOk %s", 200, payload) +} + +func (o *ListTemplatesOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/alerting/templates][%d] listTemplatesOk %s", 200, payload) } func (o *ListTemplatesOK) GetPayload() *ListTemplatesOKBody { @@ -96,13 +132,44 @@ type ListTemplatesDefault struct { Payload *ListTemplatesDefaultBody } +// IsSuccess returns true when this list templates default response has a 2xx status code +func (o *ListTemplatesDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this list templates default response has a 3xx status code +func (o *ListTemplatesDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this list templates default response has a 4xx status code +func (o *ListTemplatesDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this list templates default response has a 5xx status code +func (o *ListTemplatesDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this list templates default response a status code equal to that given +func (o *ListTemplatesDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the list templates default response func (o *ListTemplatesDefault) Code() int { return o._statusCode } func (o *ListTemplatesDefault) Error() string { - return fmt.Sprintf("[GET /v1/alerting/templates][%d] ListTemplates default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/alerting/templates][%d] ListTemplates default %s", o._statusCode, payload) +} + +func (o *ListTemplatesDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/alerting/templates][%d] ListTemplates default %s", o._statusCode, payload) } func (o *ListTemplatesDefault) GetPayload() *ListTemplatesDefaultBody { @@ -192,6 +259,11 @@ func (o *ListTemplatesDefaultBody) ContextValidate(ctx context.Context, formats func (o *ListTemplatesDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ListTemplates default" + "." + "details" + "." + strconv.Itoa(i)) @@ -231,6 +303,80 @@ swagger:model ListTemplatesDefaultBodyDetailsItems0 type ListTemplatesDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // list templates default body details items0 + ListTemplatesDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ListTemplatesDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ListTemplatesDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ListTemplatesDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ListTemplatesDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ListTemplatesDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ListTemplatesDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this list templates default body details items0 @@ -333,6 +479,11 @@ func (o *ListTemplatesOKBody) ContextValidate(ctx context.Context, formats strfm func (o *ListTemplatesOKBody) contextValidateTemplates(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Templates); i++ { if o.Templates[i] != nil { + + if swag.IsZero(o.Templates[i]) { // not required + return nil + } + if err := o.Templates[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listTemplatesOk" + "." + "templates" + "." + strconv.Itoa(i)) @@ -386,7 +537,7 @@ type ListTemplatesOKBodyTemplatesItems0 struct { For string `json:"for,omitempty"` // Severity represents severity level of the check result or alert. - // Enum: [SEVERITY_UNSPECIFIED SEVERITY_EMERGENCY SEVERITY_ALERT SEVERITY_CRITICAL SEVERITY_ERROR SEVERITY_WARNING SEVERITY_NOTICE SEVERITY_INFO SEVERITY_DEBUG] + // Enum: ["SEVERITY_UNSPECIFIED","SEVERITY_EMERGENCY","SEVERITY_ALERT","SEVERITY_CRITICAL","SEVERITY_ERROR","SEVERITY_WARNING","SEVERITY_NOTICE","SEVERITY_INFO","SEVERITY_DEBUG"] Severity *string `json:"severity,omitempty"` // Labels. @@ -401,7 +552,7 @@ type ListTemplatesOKBodyTemplatesItems0 struct { // - TEMPLATE_SOURCE_SAAS: Template that is downloaded from check.percona.com. // - TEMPLATE_SOURCE_USER_FILE: Templated loaded from user-suplied file. // - TEMPLATE_SOURCE_USER_API: Templated created via API. - // Enum: [TEMPLATE_SOURCE_UNSPECIFIED TEMPLATE_SOURCE_BUILT_IN TEMPLATE_SOURCE_SAAS TEMPLATE_SOURCE_USER_FILE TEMPLATE_SOURCE_USER_API] + // Enum: ["TEMPLATE_SOURCE_UNSPECIFIED","TEMPLATE_SOURCE_BUILT_IN","TEMPLATE_SOURCE_SAAS","TEMPLATE_SOURCE_USER_FILE","TEMPLATE_SOURCE_USER_API"] Source *string `json:"source,omitempty"` // Template creation time. Empty for built-in and SaaS templates. @@ -607,6 +758,11 @@ func (o *ListTemplatesOKBodyTemplatesItems0) ContextValidate(ctx context.Context func (o *ListTemplatesOKBodyTemplatesItems0) contextValidateParams(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Params); i++ { if o.Params[i] != nil { + + if swag.IsZero(o.Params[i]) { // not required + return nil + } + if err := o.Params[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("params" + "." + strconv.Itoa(i)) @@ -655,11 +811,11 @@ type ListTemplatesOKBodyTemplatesItems0ParamsItems0 struct { // - PARAM_UNIT_UNSPECIFIED: Invalid, unknown or absent. // - PARAM_UNIT_PERCENTAGE: % // - PARAM_UNIT_SECONDS: s - // Enum: [PARAM_UNIT_UNSPECIFIED PARAM_UNIT_PERCENTAGE PARAM_UNIT_SECONDS] + // Enum: ["PARAM_UNIT_UNSPECIFIED","PARAM_UNIT_PERCENTAGE","PARAM_UNIT_SECONDS"] Unit *string `json:"unit,omitempty"` // ParamType represents template parameter type. - // Enum: [PARAM_TYPE_UNSPECIFIED PARAM_TYPE_BOOL PARAM_TYPE_FLOAT PARAM_TYPE_STRING] + // Enum: ["PARAM_TYPE_UNSPECIFIED","PARAM_TYPE_BOOL","PARAM_TYPE_FLOAT","PARAM_TYPE_STRING"] Type *string `json:"type,omitempty"` // bool @@ -876,6 +1032,11 @@ func (o *ListTemplatesOKBodyTemplatesItems0ParamsItems0) ContextValidate(ctx con func (o *ListTemplatesOKBodyTemplatesItems0ParamsItems0) contextValidateBool(ctx context.Context, formats strfmt.Registry) error { if o.Bool != nil { + + if swag.IsZero(o.Bool) { // not required + return nil + } + if err := o.Bool.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("bool") @@ -891,6 +1052,11 @@ func (o *ListTemplatesOKBodyTemplatesItems0ParamsItems0) contextValidateBool(ctx func (o *ListTemplatesOKBodyTemplatesItems0ParamsItems0) contextValidateFloat(ctx context.Context, formats strfmt.Registry) error { if o.Float != nil { + + if swag.IsZero(o.Float) { // not required + return nil + } + if err := o.Float.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("float") @@ -906,6 +1072,11 @@ func (o *ListTemplatesOKBodyTemplatesItems0ParamsItems0) contextValidateFloat(ct func (o *ListTemplatesOKBodyTemplatesItems0ParamsItems0) contextValidateString(ctx context.Context, formats strfmt.Registry) error { if o.String != nil { + + if swag.IsZero(o.String) { // not required + return nil + } + if err := o.String.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("string") diff --git a/api/alerting/v1/json/client/alerting_service/update_template_responses.go b/api/alerting/v1/json/client/alerting_service/update_template_responses.go index ecb2d883e9..8bf605f957 100644 --- a/api/alerting/v1/json/client/alerting_service/update_template_responses.go +++ b/api/alerting/v1/json/client/alerting_service/update_template_responses.go @@ -7,6 +7,7 @@ package alerting_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type UpdateTemplateOK struct { Payload interface{} } +// IsSuccess returns true when this update template Ok response has a 2xx status code +func (o *UpdateTemplateOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this update template Ok response has a 3xx status code +func (o *UpdateTemplateOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this update template Ok response has a 4xx status code +func (o *UpdateTemplateOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this update template Ok response has a 5xx status code +func (o *UpdateTemplateOK) IsServerError() bool { + return false +} + +// IsCode returns true when this update template Ok response a status code equal to that given +func (o *UpdateTemplateOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the update template Ok response +func (o *UpdateTemplateOK) Code() int { + return 200 +} + func (o *UpdateTemplateOK) Error() string { - return fmt.Sprintf("[PUT /v1/alerting/templates/{name}][%d] updateTemplateOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/alerting/templates/{name}][%d] updateTemplateOk %s", 200, payload) +} + +func (o *UpdateTemplateOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/alerting/templates/{name}][%d] updateTemplateOk %s", 200, payload) } func (o *UpdateTemplateOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type UpdateTemplateDefault struct { Payload *UpdateTemplateDefaultBody } +// IsSuccess returns true when this update template default response has a 2xx status code +func (o *UpdateTemplateDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this update template default response has a 3xx status code +func (o *UpdateTemplateDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this update template default response has a 4xx status code +func (o *UpdateTemplateDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this update template default response has a 5xx status code +func (o *UpdateTemplateDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this update template default response a status code equal to that given +func (o *UpdateTemplateDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the update template default response func (o *UpdateTemplateDefault) Code() int { return o._statusCode } func (o *UpdateTemplateDefault) Error() string { - return fmt.Sprintf("[PUT /v1/alerting/templates/{name}][%d] UpdateTemplate default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/alerting/templates/{name}][%d] UpdateTemplate default %s", o._statusCode, payload) +} + +func (o *UpdateTemplateDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/alerting/templates/{name}][%d] UpdateTemplate default %s", o._statusCode, payload) } func (o *UpdateTemplateDefault) GetPayload() *UpdateTemplateDefaultBody { @@ -225,6 +293,11 @@ func (o *UpdateTemplateDefaultBody) ContextValidate(ctx context.Context, formats func (o *UpdateTemplateDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("UpdateTemplate default" + "." + "details" + "." + strconv.Itoa(i)) @@ -264,6 +337,80 @@ swagger:model UpdateTemplateDefaultBodyDetailsItems0 type UpdateTemplateDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // update template default body details items0 + UpdateTemplateDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *UpdateTemplateDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv UpdateTemplateDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.UpdateTemplateDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o UpdateTemplateDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.UpdateTemplateDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.UpdateTemplateDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this update template default body details items0 diff --git a/api/alerting/v1/json/v1.json b/api/alerting/v1/json/v1.json index 9d5d0eb6bb..3e38a2987c 100644 --- a/api/alerting/v1/json/v1.json +++ b/api/alerting/v1/json/v1.json @@ -30,68 +30,25 @@ "schema": { "type": "object", "properties": { - "custom_labels": { - "description": "All custom labels to add or remove (with empty values) to default labels from template.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "filters": { - "description": "Filters.", - "type": "array", - "items": { - "description": "Filter represents a single filter condition.", - "type": "object", - "properties": { - "label": { - "type": "string", - "x-order": 1 - }, - "regexp": { - "type": "string", - "x-order": 2 - }, - "type": { - "description": "FilterType represents filter matching type.", - "type": "string", - "default": "FILTER_TYPE_UNSPECIFIED", - "enum": [ - "FILTER_TYPE_UNSPECIFIED", - "FILTER_TYPE_MATCH", - "FILTER_TYPE_MISMATCH" - ], - "x-order": 0 - } - } - }, - "x-order": 8 - }, - "folder_uid": { - "description": "Folder UID.", + "template_name": { + "description": "Template name.", "type": "string", - "x-order": 3 + "x-order": 0 }, - "for": { - "description": "Rule duration. Should be set.", + "name": { + "description": "Rule name.", "type": "string", - "x-order": 5 + "x-order": 1 }, "group": { "description": "Rule group name.", "type": "string", "x-order": 2 }, - "interval": { - "type": "string", - "title": "Evaluation Interval", - "x-order": 9 - }, - "name": { - "description": "Rule name.", + "folder_uid": { + "description": "Folder UID.", "type": "string", - "x-order": 1 + "x-order": 3 }, "params": { "description": "Rule parameters. All template parameters should be set.", @@ -100,27 +57,11 @@ "description": "ParamValue represents a single rule parameter value.", "type": "object", "properties": { - "bool": { - "description": "Bool value.", - "type": "boolean", - "x-order": 2 - }, - "float": { - "description": "Float value.", - "type": "number", - "format": "double", - "x-order": 3 - }, "name": { "description": "Machine-readable name (ID) that is used in expression.", "type": "string", "x-order": 0 }, - "string": { - "description": "String value.", - "type": "string", - "x-order": 4 - }, "type": { "description": "ParamType represents template parameter type.", "type": "string", @@ -132,11 +73,32 @@ "PARAM_TYPE_STRING" ], "x-order": 1 + }, + "bool": { + "description": "Bool value.", + "type": "boolean", + "x-order": 2 + }, + "float": { + "description": "Float value.", + "type": "number", + "format": "double", + "x-order": 3 + }, + "string": { + "description": "String value.", + "type": "string", + "x-order": 4 } } }, "x-order": 4 }, + "for": { + "description": "Rule duration. Should be set.", + "type": "string", + "x-order": 5 + }, "severity": { "description": "Severity represents severity level of the check result or alert.", "type": "string", @@ -154,10 +116,48 @@ ], "x-order": 6 }, - "template_name": { - "description": "Template name.", + "custom_labels": { + "description": "All custom labels to add or remove (with empty values) to default labels from template.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 7 + }, + "filters": { + "description": "Filters.", + "type": "array", + "items": { + "description": "Filter represents a single filter condition.", + "type": "object", + "properties": { + "type": { + "description": "FilterType represents filter matching type.", + "type": "string", + "default": "FILTER_TYPE_UNSPECIFIED", + "enum": [ + "FILTER_TYPE_UNSPECIFIED", + "FILTER_TYPE_MATCH", + "FILTER_TYPE_MISMATCH" + ], + "x-order": 0 + }, + "label": { + "type": "string", + "x-order": 1 + }, + "regexp": { + "type": "string", + "x-order": 2 + } + } + }, + "x-order": 8 + }, + "interval": { "type": "string", - "x-order": 0 + "title": "Evaluation Interval", + "x-order": 9 } } } @@ -180,6 +180,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -190,13 +194,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -239,6 +239,18 @@ "schema": { "type": "object", "properties": { + "total_items": { + "description": "Total number of results.", + "type": "integer", + "format": "int32", + "x-order": 0 + }, + "total_pages": { + "description": "Total number of pages.", + "type": "integer", + "format": "int32", + "x-order": 1 + }, "templates": { "description": "Alerting templates.", "type": "array", @@ -246,43 +258,21 @@ "description": "Template represents Alert Template that is used to create Alert Rule.", "type": "object", "properties": { - "annotations": { - "description": "Annotations.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 + "name": { + "description": "Machine-readable name (ID).", + "type": "string", + "x-order": 0 }, - "created_at": { - "description": "Template creation time. Empty for built-in and SaaS templates.", + "summary": { + "description": "Short human-readable summary.", "type": "string", - "format": "date-time", - "x-order": 9 + "x-order": 1 }, "expr": { "description": "PromQL query expression with templating parameters.", "type": "string", "x-order": 2 }, - "for": { - "description": "Default duration value.", - "type": "string", - "x-order": 4 - }, - "labels": { - "description": "Labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "name": { - "description": "Machine-readable name (ID).", - "type": "string", - "x-order": 0 - }, "params": { "description": "Query parameters definitions.", "type": "array", @@ -290,6 +280,39 @@ "description": "ParamDefinition represents a single query parameter.", "type": "object", "properties": { + "name": { + "description": "Machine-readable name (ID) that is used in expression.", + "type": "string", + "x-order": 0 + }, + "summary": { + "description": "Short human-readable parameter summary.", + "type": "string", + "x-order": 1 + }, + "unit": { + "description": "ParamUnit represents template parameter unit.\n\n - PARAM_UNIT_UNSPECIFIED: Invalid, unknown or absent.\n - PARAM_UNIT_PERCENTAGE: %\n - PARAM_UNIT_SECONDS: s", + "type": "string", + "default": "PARAM_UNIT_UNSPECIFIED", + "enum": [ + "PARAM_UNIT_UNSPECIFIED", + "PARAM_UNIT_PERCENTAGE", + "PARAM_UNIT_SECONDS" + ], + "x-order": 2 + }, + "type": { + "description": "ParamType represents template parameter type.", + "type": "string", + "default": "PARAM_TYPE_UNSPECIFIED", + "enum": [ + "PARAM_TYPE_UNSPECIFIED", + "PARAM_TYPE_BOOL", + "PARAM_TYPE_FLOAT", + "PARAM_TYPE_STRING" + ], + "x-order": 3 + }, "bool": { "description": "BoolParamDefinition represents boolean parameter's default value.", "type": "object", @@ -313,28 +336,23 @@ "x-nullable": true, "x-order": 0 }, - "max": { - "description": "Maximum valid value (inclusive).", + "min": { + "description": "Minimum valid value (inclusive).", "type": "number", "format": "double", "x-nullable": true, - "x-order": 2 + "x-order": 1 }, - "min": { - "description": "Minimum valid value (inclusive).", + "max": { + "description": "Maximum valid value (inclusive).", "type": "number", "format": "double", "x-nullable": true, - "x-order": 1 + "x-order": 2 } }, "x-order": 5 }, - "name": { - "description": "Machine-readable name (ID) that is used in expression.", - "type": "string", - "x-order": 0 - }, "string": { "description": "StringParamDefinition represents string parameter's default value.", "type": "object", @@ -347,39 +365,16 @@ } }, "x-order": 6 - }, - "summary": { - "description": "Short human-readable parameter summary.", - "type": "string", - "x-order": 1 - }, - "type": { - "description": "ParamType represents template parameter type.", - "type": "string", - "default": "PARAM_TYPE_UNSPECIFIED", - "enum": [ - "PARAM_TYPE_UNSPECIFIED", - "PARAM_TYPE_BOOL", - "PARAM_TYPE_FLOAT", - "PARAM_TYPE_STRING" - ], - "x-order": 3 - }, - "unit": { - "description": "ParamUnit represents template parameter unit.\n\n - PARAM_UNIT_UNSPECIFIED: Invalid, unknown or absent.\n - PARAM_UNIT_PERCENTAGE: %\n - PARAM_UNIT_SECONDS: s", - "type": "string", - "default": "PARAM_UNIT_UNSPECIFIED", - "enum": [ - "PARAM_UNIT_UNSPECIFIED", - "PARAM_UNIT_PERCENTAGE", - "PARAM_UNIT_SECONDS" - ], - "x-order": 2 } } }, "x-order": 3 }, + "for": { + "description": "Default duration value.", + "type": "string", + "x-order": 4 + }, "severity": { "description": "Severity represents severity level of the check result or alert.", "type": "string", @@ -397,6 +392,22 @@ ], "x-order": 5 }, + "labels": { + "description": "Labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 6 + }, + "annotations": { + "description": "Annotations.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 7 + }, "source": { "description": "TemplateSource defines template source.\n\n - TEMPLATE_SOURCE_BUILT_IN: Template that is shipped with PMM Server releases.\n - TEMPLATE_SOURCE_SAAS: Template that is downloaded from check.percona.com.\n - TEMPLATE_SOURCE_USER_FILE: Templated loaded from user-suplied file.\n - TEMPLATE_SOURCE_USER_API: Templated created via API.", "type": "string", @@ -410,10 +421,11 @@ ], "x-order": 8 }, - "summary": { - "description": "Short human-readable summary.", + "created_at": { + "description": "Template creation time. Empty for built-in and SaaS templates.", "type": "string", - "x-order": 1 + "format": "date-time", + "x-order": 9 }, "yaml": { "description": "YAML template file content. Empty for built-in and SaaS templates.", @@ -423,18 +435,6 @@ } }, "x-order": 2 - }, - "total_items": { - "description": "Total number of results.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "total_pages": { - "description": "Total number of pages.", - "type": "integer", - "format": "int32", - "x-order": 1 } } } @@ -449,6 +449,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -459,13 +463,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -512,6 +512,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -522,13 +526,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -584,6 +584,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -594,13 +598,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -638,6 +638,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -648,13 +652,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } diff --git a/api/backup/v1/json/client/backup_service/backup_service_client.go b/api/backup/v1/json/client/backup_service/backup_service_client.go index 922c9fbdf2..f59563dd40 100644 --- a/api/backup/v1/json/client/backup_service/backup_service_client.go +++ b/api/backup/v1/json/client/backup_service/backup_service_client.go @@ -7,6 +7,7 @@ package backup_service import ( "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" ) @@ -15,6 +16,31 @@ func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientServi return &Client{transport: transport, formats: formats} } +// New creates a new backup service API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new backup service API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + /* Client for backup service API */ @@ -23,7 +49,7 @@ type Client struct { formats strfmt.Registry } -// ClientOption is the option for Client methods +// ClientOption may be used to customize the behavior of Client methods. type ClientOption func(*runtime.ClientOperation) // ClientService is the interface for Client methods diff --git a/api/backup/v1/json/client/backup_service/change_scheduled_backup_responses.go b/api/backup/v1/json/client/backup_service/change_scheduled_backup_responses.go index 12103209b1..0591324fd6 100644 --- a/api/backup/v1/json/client/backup_service/change_scheduled_backup_responses.go +++ b/api/backup/v1/json/client/backup_service/change_scheduled_backup_responses.go @@ -7,6 +7,7 @@ package backup_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -58,8 +59,44 @@ type ChangeScheduledBackupOK struct { Payload interface{} } +// IsSuccess returns true when this change scheduled backup Ok response has a 2xx status code +func (o *ChangeScheduledBackupOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this change scheduled backup Ok response has a 3xx status code +func (o *ChangeScheduledBackupOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this change scheduled backup Ok response has a 4xx status code +func (o *ChangeScheduledBackupOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this change scheduled backup Ok response has a 5xx status code +func (o *ChangeScheduledBackupOK) IsServerError() bool { + return false +} + +// IsCode returns true when this change scheduled backup Ok response a status code equal to that given +func (o *ChangeScheduledBackupOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the change scheduled backup Ok response +func (o *ChangeScheduledBackupOK) Code() int { + return 200 +} + func (o *ChangeScheduledBackupOK) Error() string { - return fmt.Sprintf("[PUT /v1/backups:changeScheduled][%d] changeScheduledBackupOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/backups:changeScheduled][%d] changeScheduledBackupOk %s", 200, payload) +} + +func (o *ChangeScheduledBackupOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/backups:changeScheduled][%d] changeScheduledBackupOk %s", 200, payload) } func (o *ChangeScheduledBackupOK) GetPayload() interface{} { @@ -93,13 +130,44 @@ type ChangeScheduledBackupDefault struct { Payload *ChangeScheduledBackupDefaultBody } +// IsSuccess returns true when this change scheduled backup default response has a 2xx status code +func (o *ChangeScheduledBackupDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this change scheduled backup default response has a 3xx status code +func (o *ChangeScheduledBackupDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this change scheduled backup default response has a 4xx status code +func (o *ChangeScheduledBackupDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this change scheduled backup default response has a 5xx status code +func (o *ChangeScheduledBackupDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this change scheduled backup default response a status code equal to that given +func (o *ChangeScheduledBackupDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the change scheduled backup default response func (o *ChangeScheduledBackupDefault) Code() int { return o._statusCode } func (o *ChangeScheduledBackupDefault) Error() string { - return fmt.Sprintf("[PUT /v1/backups:changeScheduled][%d] ChangeScheduledBackup default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/backups:changeScheduled][%d] ChangeScheduledBackup default %s", o._statusCode, payload) +} + +func (o *ChangeScheduledBackupDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/backups:changeScheduled][%d] ChangeScheduledBackup default %s", o._statusCode, payload) } func (o *ChangeScheduledBackupDefault) GetPayload() *ChangeScheduledBackupDefaultBody { @@ -272,6 +340,11 @@ func (o *ChangeScheduledBackupDefaultBody) ContextValidate(ctx context.Context, func (o *ChangeScheduledBackupDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ChangeScheduledBackup default" + "." + "details" + "." + strconv.Itoa(i)) @@ -311,6 +384,80 @@ swagger:model ChangeScheduledBackupDefaultBodyDetailsItems0 type ChangeScheduledBackupDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // change scheduled backup default body details items0 + ChangeScheduledBackupDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ChangeScheduledBackupDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ChangeScheduledBackupDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ChangeScheduledBackupDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ChangeScheduledBackupDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ChangeScheduledBackupDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ChangeScheduledBackupDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this change scheduled backup default body details items0 diff --git a/api/backup/v1/json/client/backup_service/delete_artifact_responses.go b/api/backup/v1/json/client/backup_service/delete_artifact_responses.go index 691eac5e0e..24dd69fbab 100644 --- a/api/backup/v1/json/client/backup_service/delete_artifact_responses.go +++ b/api/backup/v1/json/client/backup_service/delete_artifact_responses.go @@ -7,6 +7,7 @@ package backup_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type DeleteArtifactOK struct { Payload interface{} } +// IsSuccess returns true when this delete artifact Ok response has a 2xx status code +func (o *DeleteArtifactOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this delete artifact Ok response has a 3xx status code +func (o *DeleteArtifactOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this delete artifact Ok response has a 4xx status code +func (o *DeleteArtifactOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this delete artifact Ok response has a 5xx status code +func (o *DeleteArtifactOK) IsServerError() bool { + return false +} + +// IsCode returns true when this delete artifact Ok response a status code equal to that given +func (o *DeleteArtifactOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the delete artifact Ok response +func (o *DeleteArtifactOK) Code() int { + return 200 +} + func (o *DeleteArtifactOK) Error() string { - return fmt.Sprintf("[DELETE /v1/backups/artifacts/{artifact_id}][%d] deleteArtifactOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/backups/artifacts/{artifact_id}][%d] deleteArtifactOk %s", 200, payload) +} + +func (o *DeleteArtifactOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/backups/artifacts/{artifact_id}][%d] deleteArtifactOk %s", 200, payload) } func (o *DeleteArtifactOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type DeleteArtifactDefault struct { Payload *DeleteArtifactDefaultBody } +// IsSuccess returns true when this delete artifact default response has a 2xx status code +func (o *DeleteArtifactDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this delete artifact default response has a 3xx status code +func (o *DeleteArtifactDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this delete artifact default response has a 4xx status code +func (o *DeleteArtifactDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this delete artifact default response has a 5xx status code +func (o *DeleteArtifactDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this delete artifact default response a status code equal to that given +func (o *DeleteArtifactDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the delete artifact default response func (o *DeleteArtifactDefault) Code() int { return o._statusCode } func (o *DeleteArtifactDefault) Error() string { - return fmt.Sprintf("[DELETE /v1/backups/artifacts/{artifact_id}][%d] DeleteArtifact default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/backups/artifacts/{artifact_id}][%d] DeleteArtifact default %s", o._statusCode, payload) +} + +func (o *DeleteArtifactDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/backups/artifacts/{artifact_id}][%d] DeleteArtifact default %s", o._statusCode, payload) } func (o *DeleteArtifactDefault) GetPayload() *DeleteArtifactDefaultBody { @@ -188,6 +256,11 @@ func (o *DeleteArtifactDefaultBody) ContextValidate(ctx context.Context, formats func (o *DeleteArtifactDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("DeleteArtifact default" + "." + "details" + "." + strconv.Itoa(i)) @@ -227,6 +300,80 @@ swagger:model DeleteArtifactDefaultBodyDetailsItems0 type DeleteArtifactDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // delete artifact default body details items0 + DeleteArtifactDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *DeleteArtifactDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv DeleteArtifactDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.DeleteArtifactDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o DeleteArtifactDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.DeleteArtifactDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.DeleteArtifactDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this delete artifact default body details items0 diff --git a/api/backup/v1/json/client/backup_service/get_logs_responses.go b/api/backup/v1/json/client/backup_service/get_logs_responses.go index 65a330f027..49d409841e 100644 --- a/api/backup/v1/json/client/backup_service/get_logs_responses.go +++ b/api/backup/v1/json/client/backup_service/get_logs_responses.go @@ -7,6 +7,7 @@ package backup_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type GetLogsOK struct { Payload *GetLogsOKBody } +// IsSuccess returns true when this get logs Ok response has a 2xx status code +func (o *GetLogsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get logs Ok response has a 3xx status code +func (o *GetLogsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get logs Ok response has a 4xx status code +func (o *GetLogsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get logs Ok response has a 5xx status code +func (o *GetLogsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get logs Ok response a status code equal to that given +func (o *GetLogsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get logs Ok response +func (o *GetLogsOK) Code() int { + return 200 +} + func (o *GetLogsOK) Error() string { - return fmt.Sprintf("[GET /v1/backups/{artifact_id}/logs][%d] getLogsOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/{artifact_id}/logs][%d] getLogsOk %s", 200, payload) +} + +func (o *GetLogsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/{artifact_id}/logs][%d] getLogsOk %s", 200, payload) } func (o *GetLogsOK) GetPayload() *GetLogsOKBody { @@ -94,13 +131,44 @@ type GetLogsDefault struct { Payload *GetLogsDefaultBody } +// IsSuccess returns true when this get logs default response has a 2xx status code +func (o *GetLogsDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this get logs default response has a 3xx status code +func (o *GetLogsDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this get logs default response has a 4xx status code +func (o *GetLogsDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this get logs default response has a 5xx status code +func (o *GetLogsDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this get logs default response a status code equal to that given +func (o *GetLogsDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the get logs default response func (o *GetLogsDefault) Code() int { return o._statusCode } func (o *GetLogsDefault) Error() string { - return fmt.Sprintf("[GET /v1/backups/{artifact_id}/logs][%d] GetLogs default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/{artifact_id}/logs][%d] GetLogs default %s", o._statusCode, payload) +} + +func (o *GetLogsDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/{artifact_id}/logs][%d] GetLogs default %s", o._statusCode, payload) } func (o *GetLogsDefault) GetPayload() *GetLogsDefaultBody { @@ -190,6 +258,11 @@ func (o *GetLogsDefaultBody) ContextValidate(ctx context.Context, formats strfmt func (o *GetLogsDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("GetLogs default" + "." + "details" + "." + strconv.Itoa(i)) @@ -229,6 +302,80 @@ swagger:model GetLogsDefaultBodyDetailsItems0 type GetLogsDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // get logs default body details items0 + GetLogsDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *GetLogsDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv GetLogsDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.GetLogsDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o GetLogsDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.GetLogsDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.GetLogsDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this get logs default body details items0 @@ -328,6 +475,11 @@ func (o *GetLogsOKBody) ContextValidate(ctx context.Context, formats strfmt.Regi func (o *GetLogsOKBody) contextValidateLogs(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Logs); i++ { if o.Logs[i] != nil { + + if swag.IsZero(o.Logs[i]) { // not required + return nil + } + if err := o.Logs[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getLogsOk" + "." + "logs" + "." + strconv.Itoa(i)) diff --git a/api/backup/v1/json/client/backup_service/list_artifact_compatible_services_responses.go b/api/backup/v1/json/client/backup_service/list_artifact_compatible_services_responses.go index 10d251b014..5be1d1ce6f 100644 --- a/api/backup/v1/json/client/backup_service/list_artifact_compatible_services_responses.go +++ b/api/backup/v1/json/client/backup_service/list_artifact_compatible_services_responses.go @@ -7,6 +7,7 @@ package backup_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type ListArtifactCompatibleServicesOK struct { Payload *ListArtifactCompatibleServicesOKBody } +// IsSuccess returns true when this list artifact compatible services Ok response has a 2xx status code +func (o *ListArtifactCompatibleServicesOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this list artifact compatible services Ok response has a 3xx status code +func (o *ListArtifactCompatibleServicesOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this list artifact compatible services Ok response has a 4xx status code +func (o *ListArtifactCompatibleServicesOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this list artifact compatible services Ok response has a 5xx status code +func (o *ListArtifactCompatibleServicesOK) IsServerError() bool { + return false +} + +// IsCode returns true when this list artifact compatible services Ok response a status code equal to that given +func (o *ListArtifactCompatibleServicesOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the list artifact compatible services Ok response +func (o *ListArtifactCompatibleServicesOK) Code() int { + return 200 +} + func (o *ListArtifactCompatibleServicesOK) Error() string { - return fmt.Sprintf("[GET /v1/backups/{artifact_id}/compatible-services][%d] listArtifactCompatibleServicesOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/{artifact_id}/compatible-services][%d] listArtifactCompatibleServicesOk %s", 200, payload) +} + +func (o *ListArtifactCompatibleServicesOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/{artifact_id}/compatible-services][%d] listArtifactCompatibleServicesOk %s", 200, payload) } func (o *ListArtifactCompatibleServicesOK) GetPayload() *ListArtifactCompatibleServicesOKBody { @@ -94,13 +131,44 @@ type ListArtifactCompatibleServicesDefault struct { Payload *ListArtifactCompatibleServicesDefaultBody } +// IsSuccess returns true when this list artifact compatible services default response has a 2xx status code +func (o *ListArtifactCompatibleServicesDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this list artifact compatible services default response has a 3xx status code +func (o *ListArtifactCompatibleServicesDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this list artifact compatible services default response has a 4xx status code +func (o *ListArtifactCompatibleServicesDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this list artifact compatible services default response has a 5xx status code +func (o *ListArtifactCompatibleServicesDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this list artifact compatible services default response a status code equal to that given +func (o *ListArtifactCompatibleServicesDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the list artifact compatible services default response func (o *ListArtifactCompatibleServicesDefault) Code() int { return o._statusCode } func (o *ListArtifactCompatibleServicesDefault) Error() string { - return fmt.Sprintf("[GET /v1/backups/{artifact_id}/compatible-services][%d] ListArtifactCompatibleServices default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/{artifact_id}/compatible-services][%d] ListArtifactCompatibleServices default %s", o._statusCode, payload) +} + +func (o *ListArtifactCompatibleServicesDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/{artifact_id}/compatible-services][%d] ListArtifactCompatibleServices default %s", o._statusCode, payload) } func (o *ListArtifactCompatibleServicesDefault) GetPayload() *ListArtifactCompatibleServicesDefaultBody { @@ -190,6 +258,11 @@ func (o *ListArtifactCompatibleServicesDefaultBody) ContextValidate(ctx context. func (o *ListArtifactCompatibleServicesDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ListArtifactCompatibleServices default" + "." + "details" + "." + strconv.Itoa(i)) @@ -229,6 +302,80 @@ swagger:model ListArtifactCompatibleServicesDefaultBodyDetailsItems0 type ListArtifactCompatibleServicesDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // list artifact compatible services default body details items0 + ListArtifactCompatibleServicesDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ListArtifactCompatibleServicesDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ListArtifactCompatibleServicesDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ListArtifactCompatibleServicesDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ListArtifactCompatibleServicesDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ListArtifactCompatibleServicesDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ListArtifactCompatibleServicesDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this list artifact compatible services default body details items0 @@ -362,6 +509,11 @@ func (o *ListArtifactCompatibleServicesOKBody) ContextValidate(ctx context.Conte func (o *ListArtifactCompatibleServicesOKBody) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listArtifactCompatibleServicesOk" + "." + "mysql" + "." + strconv.Itoa(i)) @@ -379,6 +531,11 @@ func (o *ListArtifactCompatibleServicesOKBody) contextValidateMysql(ctx context. func (o *ListArtifactCompatibleServicesOKBody) contextValidateMongodb(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Mongodb); i++ { if o.Mongodb[i] != nil { + + if swag.IsZero(o.Mongodb[i]) { // not required + return nil + } + if err := o.Mongodb[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listArtifactCompatibleServicesOk" + "." + "mongodb" + "." + strconv.Itoa(i)) diff --git a/api/backup/v1/json/client/backup_service/list_artifacts_responses.go b/api/backup/v1/json/client/backup_service/list_artifacts_responses.go index f98e17ff4d..2e7224fc25 100644 --- a/api/backup/v1/json/client/backup_service/list_artifacts_responses.go +++ b/api/backup/v1/json/client/backup_service/list_artifacts_responses.go @@ -59,8 +59,44 @@ type ListArtifactsOK struct { Payload *ListArtifactsOKBody } +// IsSuccess returns true when this list artifacts Ok response has a 2xx status code +func (o *ListArtifactsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this list artifacts Ok response has a 3xx status code +func (o *ListArtifactsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this list artifacts Ok response has a 4xx status code +func (o *ListArtifactsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this list artifacts Ok response has a 5xx status code +func (o *ListArtifactsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this list artifacts Ok response a status code equal to that given +func (o *ListArtifactsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the list artifacts Ok response +func (o *ListArtifactsOK) Code() int { + return 200 +} + func (o *ListArtifactsOK) Error() string { - return fmt.Sprintf("[GET /v1/backups/artifacts][%d] listArtifactsOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/artifacts][%d] listArtifactsOk %s", 200, payload) +} + +func (o *ListArtifactsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/artifacts][%d] listArtifactsOk %s", 200, payload) } func (o *ListArtifactsOK) GetPayload() *ListArtifactsOKBody { @@ -96,13 +132,44 @@ type ListArtifactsDefault struct { Payload *ListArtifactsDefaultBody } +// IsSuccess returns true when this list artifacts default response has a 2xx status code +func (o *ListArtifactsDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this list artifacts default response has a 3xx status code +func (o *ListArtifactsDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this list artifacts default response has a 4xx status code +func (o *ListArtifactsDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this list artifacts default response has a 5xx status code +func (o *ListArtifactsDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this list artifacts default response a status code equal to that given +func (o *ListArtifactsDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the list artifacts default response func (o *ListArtifactsDefault) Code() int { return o._statusCode } func (o *ListArtifactsDefault) Error() string { - return fmt.Sprintf("[GET /v1/backups/artifacts][%d] ListArtifacts default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/artifacts][%d] ListArtifacts default %s", o._statusCode, payload) +} + +func (o *ListArtifactsDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/artifacts][%d] ListArtifacts default %s", o._statusCode, payload) } func (o *ListArtifactsDefault) GetPayload() *ListArtifactsDefaultBody { @@ -192,6 +259,11 @@ func (o *ListArtifactsDefaultBody) ContextValidate(ctx context.Context, formats func (o *ListArtifactsDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ListArtifacts default" + "." + "details" + "." + strconv.Itoa(i)) @@ -231,6 +303,80 @@ swagger:model ListArtifactsDefaultBodyDetailsItems0 type ListArtifactsDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // list artifacts default body details items0 + ListArtifactsDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ListArtifactsDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ListArtifactsDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ListArtifactsDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ListArtifactsDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ListArtifactsDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ListArtifactsDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this list artifacts default body details items0 @@ -327,6 +473,11 @@ func (o *ListArtifactsOKBody) ContextValidate(ctx context.Context, formats strfm func (o *ListArtifactsOKBody) contextValidateArtifacts(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Artifacts); i++ { if o.Artifacts[i] != nil { + + if swag.IsZero(o.Artifacts[i]) { // not required + return nil + } + if err := o.Artifacts[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listArtifactsOk" + "." + "artifacts" + "." + strconv.Itoa(i)) @@ -386,11 +537,11 @@ type ListArtifactsOKBodyArtifactsItems0 struct { ServiceName string `json:"service_name,omitempty"` // DataModel is a model used for performing a backup. - // Enum: [DATA_MODEL_UNSPECIFIED DATA_MODEL_PHYSICAL DATA_MODEL_LOGICAL] + // Enum: ["DATA_MODEL_UNSPECIFIED","DATA_MODEL_PHYSICAL","DATA_MODEL_LOGICAL"] DataModel *string `json:"data_model,omitempty"` // BackupStatus shows the current status of execution of backup. - // Enum: [BACKUP_STATUS_UNSPECIFIED BACKUP_STATUS_PENDING BACKUP_STATUS_IN_PROGRESS BACKUP_STATUS_PAUSED BACKUP_STATUS_SUCCESS BACKUP_STATUS_ERROR BACKUP_STATUS_DELETING BACKUP_STATUS_FAILED_TO_DELETE BACKUP_STATUS_CLEANUP_IN_PROGRESS] + // Enum: ["BACKUP_STATUS_UNSPECIFIED","BACKUP_STATUS_PENDING","BACKUP_STATUS_IN_PROGRESS","BACKUP_STATUS_PAUSED","BACKUP_STATUS_SUCCESS","BACKUP_STATUS_ERROR","BACKUP_STATUS_DELETING","BACKUP_STATUS_FAILED_TO_DELETE","BACKUP_STATUS_CLEANUP_IN_PROGRESS"] Status *string `json:"status,omitempty"` // Artifact creation time. @@ -398,7 +549,7 @@ type ListArtifactsOKBodyArtifactsItems0 struct { CreatedAt strfmt.DateTime `json:"created_at,omitempty"` // BackupMode specifies backup mode. - // Enum: [BACKUP_MODE_UNSPECIFIED BACKUP_MODE_SNAPSHOT BACKUP_MODE_INCREMENTAL BACKUP_MODE_PITR] + // Enum: ["BACKUP_MODE_UNSPECIFIED","BACKUP_MODE_SNAPSHOT","BACKUP_MODE_INCREMENTAL","BACKUP_MODE_PITR"] Mode *string `json:"mode,omitempty"` // Source database setup type. @@ -652,6 +803,11 @@ func (o *ListArtifactsOKBodyArtifactsItems0) ContextValidate(ctx context.Context func (o *ListArtifactsOKBodyArtifactsItems0) contextValidateMetadataList(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.MetadataList); i++ { if o.MetadataList[i] != nil { + + if swag.IsZero(o.MetadataList[i]) { // not required + return nil + } + if err := o.MetadataList[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("metadata_list" + "." + strconv.Itoa(i)) @@ -800,6 +956,11 @@ func (o *ListArtifactsOKBodyArtifactsItems0MetadataListItems0) ContextValidate(c func (o *ListArtifactsOKBodyArtifactsItems0MetadataListItems0) contextValidateFileList(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.FileList); i++ { if o.FileList[i] != nil { + + if swag.IsZero(o.FileList[i]) { // not required + return nil + } + if err := o.FileList[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("file_list" + "." + strconv.Itoa(i)) @@ -816,6 +977,11 @@ func (o *ListArtifactsOKBodyArtifactsItems0MetadataListItems0) contextValidateFi func (o *ListArtifactsOKBodyArtifactsItems0MetadataListItems0) contextValidatePbmMetadata(ctx context.Context, formats strfmt.Registry) error { if o.PbmMetadata != nil { + + if swag.IsZero(o.PbmMetadata) { // not required + return nil + } + if err := o.PbmMetadata.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("pbm_metadata") diff --git a/api/backup/v1/json/client/backup_service/list_pitr_timeranges_responses.go b/api/backup/v1/json/client/backup_service/list_pitr_timeranges_responses.go index f5f54eb204..1c54232029 100644 --- a/api/backup/v1/json/client/backup_service/list_pitr_timeranges_responses.go +++ b/api/backup/v1/json/client/backup_service/list_pitr_timeranges_responses.go @@ -7,6 +7,7 @@ package backup_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -58,8 +59,44 @@ type ListPitrTimerangesOK struct { Payload *ListPitrTimerangesOKBody } +// IsSuccess returns true when this list pitr timeranges Ok response has a 2xx status code +func (o *ListPitrTimerangesOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this list pitr timeranges Ok response has a 3xx status code +func (o *ListPitrTimerangesOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this list pitr timeranges Ok response has a 4xx status code +func (o *ListPitrTimerangesOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this list pitr timeranges Ok response has a 5xx status code +func (o *ListPitrTimerangesOK) IsServerError() bool { + return false +} + +// IsCode returns true when this list pitr timeranges Ok response a status code equal to that given +func (o *ListPitrTimerangesOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the list pitr timeranges Ok response +func (o *ListPitrTimerangesOK) Code() int { + return 200 +} + func (o *ListPitrTimerangesOK) Error() string { - return fmt.Sprintf("[GET /v1/backups/artifacts/{artifact_id}/pitr-timeranges][%d] listPitrTimerangesOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/artifacts/{artifact_id}/pitr-timeranges][%d] listPitrTimerangesOk %s", 200, payload) +} + +func (o *ListPitrTimerangesOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/artifacts/{artifact_id}/pitr-timeranges][%d] listPitrTimerangesOk %s", 200, payload) } func (o *ListPitrTimerangesOK) GetPayload() *ListPitrTimerangesOKBody { @@ -95,13 +132,44 @@ type ListPitrTimerangesDefault struct { Payload *ListPitrTimerangesDefaultBody } +// IsSuccess returns true when this list pitr timeranges default response has a 2xx status code +func (o *ListPitrTimerangesDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this list pitr timeranges default response has a 3xx status code +func (o *ListPitrTimerangesDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this list pitr timeranges default response has a 4xx status code +func (o *ListPitrTimerangesDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this list pitr timeranges default response has a 5xx status code +func (o *ListPitrTimerangesDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this list pitr timeranges default response a status code equal to that given +func (o *ListPitrTimerangesDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the list pitr timeranges default response func (o *ListPitrTimerangesDefault) Code() int { return o._statusCode } func (o *ListPitrTimerangesDefault) Error() string { - return fmt.Sprintf("[GET /v1/backups/artifacts/{artifact_id}/pitr-timeranges][%d] ListPitrTimeranges default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/artifacts/{artifact_id}/pitr-timeranges][%d] ListPitrTimeranges default %s", o._statusCode, payload) +} + +func (o *ListPitrTimerangesDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/artifacts/{artifact_id}/pitr-timeranges][%d] ListPitrTimeranges default %s", o._statusCode, payload) } func (o *ListPitrTimerangesDefault) GetPayload() *ListPitrTimerangesDefaultBody { @@ -191,6 +259,11 @@ func (o *ListPitrTimerangesDefaultBody) ContextValidate(ctx context.Context, for func (o *ListPitrTimerangesDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ListPitrTimeranges default" + "." + "details" + "." + strconv.Itoa(i)) @@ -230,6 +303,80 @@ swagger:model ListPitrTimerangesDefaultBodyDetailsItems0 type ListPitrTimerangesDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // list pitr timeranges default body details items0 + ListPitrTimerangesDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ListPitrTimerangesDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ListPitrTimerangesDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ListPitrTimerangesDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ListPitrTimerangesDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ListPitrTimerangesDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ListPitrTimerangesDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this list pitr timeranges default body details items0 @@ -326,6 +473,11 @@ func (o *ListPitrTimerangesOKBody) ContextValidate(ctx context.Context, formats func (o *ListPitrTimerangesOKBody) contextValidateTimeranges(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Timeranges); i++ { if o.Timeranges[i] != nil { + + if swag.IsZero(o.Timeranges[i]) { // not required + return nil + } + if err := o.Timeranges[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listPitrTimerangesOk" + "." + "timeranges" + "." + strconv.Itoa(i)) diff --git a/api/backup/v1/json/client/backup_service/list_scheduled_backups_responses.go b/api/backup/v1/json/client/backup_service/list_scheduled_backups_responses.go index e0a2c2577c..f54d49aaed 100644 --- a/api/backup/v1/json/client/backup_service/list_scheduled_backups_responses.go +++ b/api/backup/v1/json/client/backup_service/list_scheduled_backups_responses.go @@ -59,8 +59,44 @@ type ListScheduledBackupsOK struct { Payload *ListScheduledBackupsOKBody } +// IsSuccess returns true when this list scheduled backups Ok response has a 2xx status code +func (o *ListScheduledBackupsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this list scheduled backups Ok response has a 3xx status code +func (o *ListScheduledBackupsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this list scheduled backups Ok response has a 4xx status code +func (o *ListScheduledBackupsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this list scheduled backups Ok response has a 5xx status code +func (o *ListScheduledBackupsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this list scheduled backups Ok response a status code equal to that given +func (o *ListScheduledBackupsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the list scheduled backups Ok response +func (o *ListScheduledBackupsOK) Code() int { + return 200 +} + func (o *ListScheduledBackupsOK) Error() string { - return fmt.Sprintf("[GET /v1/backups/scheduled][%d] listScheduledBackupsOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/scheduled][%d] listScheduledBackupsOk %s", 200, payload) +} + +func (o *ListScheduledBackupsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/scheduled][%d] listScheduledBackupsOk %s", 200, payload) } func (o *ListScheduledBackupsOK) GetPayload() *ListScheduledBackupsOKBody { @@ -96,13 +132,44 @@ type ListScheduledBackupsDefault struct { Payload *ListScheduledBackupsDefaultBody } +// IsSuccess returns true when this list scheduled backups default response has a 2xx status code +func (o *ListScheduledBackupsDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this list scheduled backups default response has a 3xx status code +func (o *ListScheduledBackupsDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this list scheduled backups default response has a 4xx status code +func (o *ListScheduledBackupsDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this list scheduled backups default response has a 5xx status code +func (o *ListScheduledBackupsDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this list scheduled backups default response a status code equal to that given +func (o *ListScheduledBackupsDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the list scheduled backups default response func (o *ListScheduledBackupsDefault) Code() int { return o._statusCode } func (o *ListScheduledBackupsDefault) Error() string { - return fmt.Sprintf("[GET /v1/backups/scheduled][%d] ListScheduledBackups default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/scheduled][%d] ListScheduledBackups default %s", o._statusCode, payload) +} + +func (o *ListScheduledBackupsDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/scheduled][%d] ListScheduledBackups default %s", o._statusCode, payload) } func (o *ListScheduledBackupsDefault) GetPayload() *ListScheduledBackupsDefaultBody { @@ -192,6 +259,11 @@ func (o *ListScheduledBackupsDefaultBody) ContextValidate(ctx context.Context, f func (o *ListScheduledBackupsDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ListScheduledBackups default" + "." + "details" + "." + strconv.Itoa(i)) @@ -231,6 +303,80 @@ swagger:model ListScheduledBackupsDefaultBodyDetailsItems0 type ListScheduledBackupsDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // list scheduled backups default body details items0 + ListScheduledBackupsDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ListScheduledBackupsDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ListScheduledBackupsDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ListScheduledBackupsDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ListScheduledBackupsDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ListScheduledBackupsDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ListScheduledBackupsDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this list scheduled backups default body details items0 @@ -327,6 +473,11 @@ func (o *ListScheduledBackupsOKBody) ContextValidate(ctx context.Context, format func (o *ListScheduledBackupsOKBody) contextValidateScheduledBackups(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.ScheduledBackups); i++ { if o.ScheduledBackups[i] != nil { + + if swag.IsZero(o.ScheduledBackups[i]) { // not required + return nil + } + if err := o.ScheduledBackups[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listScheduledBackupsOk" + "." + "scheduled_backups" + "." + strconv.Itoa(i)) @@ -405,11 +556,11 @@ type ListScheduledBackupsOKBodyScheduledBackupsItems0 struct { RetryInterval string `json:"retry_interval,omitempty"` // DataModel is a model used for performing a backup. - // Enum: [DATA_MODEL_UNSPECIFIED DATA_MODEL_PHYSICAL DATA_MODEL_LOGICAL] + // Enum: ["DATA_MODEL_UNSPECIFIED","DATA_MODEL_PHYSICAL","DATA_MODEL_LOGICAL"] DataModel *string `json:"data_model,omitempty"` // BackupMode specifies backup mode. - // Enum: [BACKUP_MODE_UNSPECIFIED BACKUP_MODE_SNAPSHOT BACKUP_MODE_INCREMENTAL BACKUP_MODE_PITR] + // Enum: ["BACKUP_MODE_UNSPECIFIED","BACKUP_MODE_SNAPSHOT","BACKUP_MODE_INCREMENTAL","BACKUP_MODE_PITR"] Mode *string `json:"mode,omitempty"` // Database vendor e.g. PostgreSQL, MongoDB, MySQL. diff --git a/api/backup/v1/json/client/backup_service/remove_scheduled_backup_responses.go b/api/backup/v1/json/client/backup_service/remove_scheduled_backup_responses.go index fd7524b426..30625c0735 100644 --- a/api/backup/v1/json/client/backup_service/remove_scheduled_backup_responses.go +++ b/api/backup/v1/json/client/backup_service/remove_scheduled_backup_responses.go @@ -7,6 +7,7 @@ package backup_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type RemoveScheduledBackupOK struct { Payload interface{} } +// IsSuccess returns true when this remove scheduled backup Ok response has a 2xx status code +func (o *RemoveScheduledBackupOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this remove scheduled backup Ok response has a 3xx status code +func (o *RemoveScheduledBackupOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this remove scheduled backup Ok response has a 4xx status code +func (o *RemoveScheduledBackupOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this remove scheduled backup Ok response has a 5xx status code +func (o *RemoveScheduledBackupOK) IsServerError() bool { + return false +} + +// IsCode returns true when this remove scheduled backup Ok response a status code equal to that given +func (o *RemoveScheduledBackupOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the remove scheduled backup Ok response +func (o *RemoveScheduledBackupOK) Code() int { + return 200 +} + func (o *RemoveScheduledBackupOK) Error() string { - return fmt.Sprintf("[DELETE /v1/backups/{scheduled_backup_id}][%d] removeScheduledBackupOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/backups/{scheduled_backup_id}][%d] removeScheduledBackupOk %s", 200, payload) +} + +func (o *RemoveScheduledBackupOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/backups/{scheduled_backup_id}][%d] removeScheduledBackupOk %s", 200, payload) } func (o *RemoveScheduledBackupOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type RemoveScheduledBackupDefault struct { Payload *RemoveScheduledBackupDefaultBody } +// IsSuccess returns true when this remove scheduled backup default response has a 2xx status code +func (o *RemoveScheduledBackupDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this remove scheduled backup default response has a 3xx status code +func (o *RemoveScheduledBackupDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this remove scheduled backup default response has a 4xx status code +func (o *RemoveScheduledBackupDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this remove scheduled backup default response has a 5xx status code +func (o *RemoveScheduledBackupDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this remove scheduled backup default response a status code equal to that given +func (o *RemoveScheduledBackupDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the remove scheduled backup default response func (o *RemoveScheduledBackupDefault) Code() int { return o._statusCode } func (o *RemoveScheduledBackupDefault) Error() string { - return fmt.Sprintf("[DELETE /v1/backups/{scheduled_backup_id}][%d] RemoveScheduledBackup default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/backups/{scheduled_backup_id}][%d] RemoveScheduledBackup default %s", o._statusCode, payload) +} + +func (o *RemoveScheduledBackupDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/backups/{scheduled_backup_id}][%d] RemoveScheduledBackup default %s", o._statusCode, payload) } func (o *RemoveScheduledBackupDefault) GetPayload() *RemoveScheduledBackupDefaultBody { @@ -188,6 +256,11 @@ func (o *RemoveScheduledBackupDefaultBody) ContextValidate(ctx context.Context, func (o *RemoveScheduledBackupDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("RemoveScheduledBackup default" + "." + "details" + "." + strconv.Itoa(i)) @@ -227,6 +300,80 @@ swagger:model RemoveScheduledBackupDefaultBodyDetailsItems0 type RemoveScheduledBackupDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // remove scheduled backup default body details items0 + RemoveScheduledBackupDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *RemoveScheduledBackupDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv RemoveScheduledBackupDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.RemoveScheduledBackupDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o RemoveScheduledBackupDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.RemoveScheduledBackupDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.RemoveScheduledBackupDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this remove scheduled backup default body details items0 diff --git a/api/backup/v1/json/client/backup_service/schedule_backup_responses.go b/api/backup/v1/json/client/backup_service/schedule_backup_responses.go index cd5b8ba268..a0189c8e4e 100644 --- a/api/backup/v1/json/client/backup_service/schedule_backup_responses.go +++ b/api/backup/v1/json/client/backup_service/schedule_backup_responses.go @@ -59,8 +59,44 @@ type ScheduleBackupOK struct { Payload *ScheduleBackupOKBody } +// IsSuccess returns true when this schedule backup Ok response has a 2xx status code +func (o *ScheduleBackupOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this schedule backup Ok response has a 3xx status code +func (o *ScheduleBackupOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this schedule backup Ok response has a 4xx status code +func (o *ScheduleBackupOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this schedule backup Ok response has a 5xx status code +func (o *ScheduleBackupOK) IsServerError() bool { + return false +} + +// IsCode returns true when this schedule backup Ok response a status code equal to that given +func (o *ScheduleBackupOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the schedule backup Ok response +func (o *ScheduleBackupOK) Code() int { + return 200 +} + func (o *ScheduleBackupOK) Error() string { - return fmt.Sprintf("[POST /v1/backups:schedule][%d] scheduleBackupOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/backups:schedule][%d] scheduleBackupOk %s", 200, payload) +} + +func (o *ScheduleBackupOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/backups:schedule][%d] scheduleBackupOk %s", 200, payload) } func (o *ScheduleBackupOK) GetPayload() *ScheduleBackupOKBody { @@ -96,13 +132,44 @@ type ScheduleBackupDefault struct { Payload *ScheduleBackupDefaultBody } +// IsSuccess returns true when this schedule backup default response has a 2xx status code +func (o *ScheduleBackupDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this schedule backup default response has a 3xx status code +func (o *ScheduleBackupDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this schedule backup default response has a 4xx status code +func (o *ScheduleBackupDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this schedule backup default response has a 5xx status code +func (o *ScheduleBackupDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this schedule backup default response a status code equal to that given +func (o *ScheduleBackupDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the schedule backup default response func (o *ScheduleBackupDefault) Code() int { return o._statusCode } func (o *ScheduleBackupDefault) Error() string { - return fmt.Sprintf("[POST /v1/backups:schedule][%d] ScheduleBackup default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/backups:schedule][%d] ScheduleBackup default %s", o._statusCode, payload) +} + +func (o *ScheduleBackupDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/backups:schedule][%d] ScheduleBackup default %s", o._statusCode, payload) } func (o *ScheduleBackupDefault) GetPayload() *ScheduleBackupDefaultBody { @@ -158,11 +225,11 @@ type ScheduleBackupBody struct { RetryInterval string `json:"retry_interval,omitempty"` // BackupMode specifies backup mode. - // Enum: [BACKUP_MODE_UNSPECIFIED BACKUP_MODE_SNAPSHOT BACKUP_MODE_INCREMENTAL BACKUP_MODE_PITR] + // Enum: ["BACKUP_MODE_UNSPECIFIED","BACKUP_MODE_SNAPSHOT","BACKUP_MODE_INCREMENTAL","BACKUP_MODE_PITR"] Mode *string `json:"mode,omitempty"` // DataModel is a model used for performing a backup. - // Enum: [DATA_MODEL_UNSPECIFIED DATA_MODEL_PHYSICAL DATA_MODEL_LOGICAL] + // Enum: ["DATA_MODEL_UNSPECIFIED","DATA_MODEL_PHYSICAL","DATA_MODEL_LOGICAL"] DataModel *string `json:"data_model,omitempty"` // How many artifacts keep. 0 - unlimited. @@ -391,6 +458,11 @@ func (o *ScheduleBackupDefaultBody) ContextValidate(ctx context.Context, formats func (o *ScheduleBackupDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ScheduleBackup default" + "." + "details" + "." + strconv.Itoa(i)) @@ -430,6 +502,80 @@ swagger:model ScheduleBackupDefaultBodyDetailsItems0 type ScheduleBackupDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // schedule backup default body details items0 + ScheduleBackupDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ScheduleBackupDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ScheduleBackupDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ScheduleBackupDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ScheduleBackupDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ScheduleBackupDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ScheduleBackupDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this schedule backup default body details items0 diff --git a/api/backup/v1/json/client/backup_service/start_backup_responses.go b/api/backup/v1/json/client/backup_service/start_backup_responses.go index 2f8ce987c3..0e924268bb 100644 --- a/api/backup/v1/json/client/backup_service/start_backup_responses.go +++ b/api/backup/v1/json/client/backup_service/start_backup_responses.go @@ -59,8 +59,44 @@ type StartBackupOK struct { Payload *StartBackupOKBody } +// IsSuccess returns true when this start backup Ok response has a 2xx status code +func (o *StartBackupOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this start backup Ok response has a 3xx status code +func (o *StartBackupOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this start backup Ok response has a 4xx status code +func (o *StartBackupOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this start backup Ok response has a 5xx status code +func (o *StartBackupOK) IsServerError() bool { + return false +} + +// IsCode returns true when this start backup Ok response a status code equal to that given +func (o *StartBackupOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the start backup Ok response +func (o *StartBackupOK) Code() int { + return 200 +} + func (o *StartBackupOK) Error() string { - return fmt.Sprintf("[POST /v1/backups:start][%d] startBackupOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/backups:start][%d] startBackupOk %s", 200, payload) +} + +func (o *StartBackupOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/backups:start][%d] startBackupOk %s", 200, payload) } func (o *StartBackupOK) GetPayload() *StartBackupOKBody { @@ -96,13 +132,44 @@ type StartBackupDefault struct { Payload *StartBackupDefaultBody } +// IsSuccess returns true when this start backup default response has a 2xx status code +func (o *StartBackupDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this start backup default response has a 3xx status code +func (o *StartBackupDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this start backup default response has a 4xx status code +func (o *StartBackupDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this start backup default response has a 5xx status code +func (o *StartBackupDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this start backup default response a status code equal to that given +func (o *StartBackupDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the start backup default response func (o *StartBackupDefault) Code() int { return o._statusCode } func (o *StartBackupDefault) Error() string { - return fmt.Sprintf("[POST /v1/backups:start][%d] StartBackup default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/backups:start][%d] StartBackup default %s", o._statusCode, payload) +} + +func (o *StartBackupDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/backups:start][%d] StartBackup default %s", o._statusCode, payload) } func (o *StartBackupDefault) GetPayload() *StartBackupDefaultBody { @@ -144,7 +211,7 @@ type StartBackupBody struct { Retries int64 `json:"retries,omitempty"` // DataModel is a model used for performing a backup. - // Enum: [DATA_MODEL_UNSPECIFIED DATA_MODEL_PHYSICAL DATA_MODEL_LOGICAL] + // Enum: ["DATA_MODEL_UNSPECIFIED","DATA_MODEL_PHYSICAL","DATA_MODEL_LOGICAL"] DataModel *string `json:"data_model,omitempty"` // Folder on storage for artifact. @@ -305,6 +372,11 @@ func (o *StartBackupDefaultBody) ContextValidate(ctx context.Context, formats st func (o *StartBackupDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("StartBackup default" + "." + "details" + "." + strconv.Itoa(i)) @@ -344,6 +416,80 @@ swagger:model StartBackupDefaultBodyDetailsItems0 type StartBackupDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // start backup default body details items0 + StartBackupDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *StartBackupDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv StartBackupDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.StartBackupDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o StartBackupDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.StartBackupDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.StartBackupDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this start backup default body details items0 diff --git a/api/backup/v1/json/client/locations_service/add_location_responses.go b/api/backup/v1/json/client/locations_service/add_location_responses.go index 45ca86e600..4e47f8f422 100644 --- a/api/backup/v1/json/client/locations_service/add_location_responses.go +++ b/api/backup/v1/json/client/locations_service/add_location_responses.go @@ -7,6 +7,7 @@ package locations_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type AddLocationOK struct { Payload *AddLocationOKBody } +// IsSuccess returns true when this add location Ok response has a 2xx status code +func (o *AddLocationOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this add location Ok response has a 3xx status code +func (o *AddLocationOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this add location Ok response has a 4xx status code +func (o *AddLocationOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this add location Ok response has a 5xx status code +func (o *AddLocationOK) IsServerError() bool { + return false +} + +// IsCode returns true when this add location Ok response a status code equal to that given +func (o *AddLocationOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the add location Ok response +func (o *AddLocationOK) Code() int { + return 200 +} + func (o *AddLocationOK) Error() string { - return fmt.Sprintf("[POST /v1/backups/locations][%d] addLocationOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/backups/locations][%d] addLocationOk %s", 200, payload) +} + +func (o *AddLocationOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/backups/locations][%d] addLocationOk %s", 200, payload) } func (o *AddLocationOK) GetPayload() *AddLocationOKBody { @@ -94,13 +131,44 @@ type AddLocationDefault struct { Payload *AddLocationDefaultBody } +// IsSuccess returns true when this add location default response has a 2xx status code +func (o *AddLocationDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this add location default response has a 3xx status code +func (o *AddLocationDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this add location default response has a 4xx status code +func (o *AddLocationDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this add location default response has a 5xx status code +func (o *AddLocationDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this add location default response a status code equal to that given +func (o *AddLocationDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the add location default response func (o *AddLocationDefault) Code() int { return o._statusCode } func (o *AddLocationDefault) Error() string { - return fmt.Sprintf("[POST /v1/backups/locations][%d] AddLocation default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/backups/locations][%d] AddLocation default %s", o._statusCode, payload) +} + +func (o *AddLocationDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/backups/locations][%d] AddLocation default %s", o._statusCode, payload) } func (o *AddLocationDefault) GetPayload() *AddLocationDefaultBody { @@ -212,6 +280,11 @@ func (o *AddLocationBody) ContextValidate(ctx context.Context, formats strfmt.Re func (o *AddLocationBody) contextValidateFilesystemConfig(ctx context.Context, formats strfmt.Registry) error { if o.FilesystemConfig != nil { + + if swag.IsZero(o.FilesystemConfig) { // not required + return nil + } + if err := o.FilesystemConfig.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "filesystem_config") @@ -227,6 +300,11 @@ func (o *AddLocationBody) contextValidateFilesystemConfig(ctx context.Context, f func (o *AddLocationBody) contextValidateS3Config(ctx context.Context, formats strfmt.Registry) error { if o.S3Config != nil { + + if swag.IsZero(o.S3Config) { // not required + return nil + } + if err := o.S3Config.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "s3_config") @@ -330,6 +408,11 @@ func (o *AddLocationDefaultBody) ContextValidate(ctx context.Context, formats st func (o *AddLocationDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("AddLocation default" + "." + "details" + "." + strconv.Itoa(i)) @@ -369,6 +452,80 @@ swagger:model AddLocationDefaultBodyDetailsItems0 type AddLocationDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // add location default body details items0 + AddLocationDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *AddLocationDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv AddLocationDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.AddLocationDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o AddLocationDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.AddLocationDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.AddLocationDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this add location default body details items0 diff --git a/api/backup/v1/json/client/locations_service/change_location_responses.go b/api/backup/v1/json/client/locations_service/change_location_responses.go index 4e29a53fcc..1eb361c97d 100644 --- a/api/backup/v1/json/client/locations_service/change_location_responses.go +++ b/api/backup/v1/json/client/locations_service/change_location_responses.go @@ -7,6 +7,7 @@ package locations_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type ChangeLocationOK struct { Payload interface{} } +// IsSuccess returns true when this change location Ok response has a 2xx status code +func (o *ChangeLocationOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this change location Ok response has a 3xx status code +func (o *ChangeLocationOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this change location Ok response has a 4xx status code +func (o *ChangeLocationOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this change location Ok response has a 5xx status code +func (o *ChangeLocationOK) IsServerError() bool { + return false +} + +// IsCode returns true when this change location Ok response a status code equal to that given +func (o *ChangeLocationOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the change location Ok response +func (o *ChangeLocationOK) Code() int { + return 200 +} + func (o *ChangeLocationOK) Error() string { - return fmt.Sprintf("[PUT /v1/backups/locations/{location_id}][%d] changeLocationOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/backups/locations/{location_id}][%d] changeLocationOk %s", 200, payload) +} + +func (o *ChangeLocationOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/backups/locations/{location_id}][%d] changeLocationOk %s", 200, payload) } func (o *ChangeLocationOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type ChangeLocationDefault struct { Payload *ChangeLocationDefaultBody } +// IsSuccess returns true when this change location default response has a 2xx status code +func (o *ChangeLocationDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this change location default response has a 3xx status code +func (o *ChangeLocationDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this change location default response has a 4xx status code +func (o *ChangeLocationDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this change location default response has a 5xx status code +func (o *ChangeLocationDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this change location default response a status code equal to that given +func (o *ChangeLocationDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the change location default response func (o *ChangeLocationDefault) Code() int { return o._statusCode } func (o *ChangeLocationDefault) Error() string { - return fmt.Sprintf("[PUT /v1/backups/locations/{location_id}][%d] ChangeLocation default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/backups/locations/{location_id}][%d] ChangeLocation default %s", o._statusCode, payload) +} + +func (o *ChangeLocationDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/backups/locations/{location_id}][%d] ChangeLocation default %s", o._statusCode, payload) } func (o *ChangeLocationDefault) GetPayload() *ChangeLocationDefaultBody { @@ -210,6 +278,11 @@ func (o *ChangeLocationBody) ContextValidate(ctx context.Context, formats strfmt func (o *ChangeLocationBody) contextValidateFilesystemConfig(ctx context.Context, formats strfmt.Registry) error { if o.FilesystemConfig != nil { + + if swag.IsZero(o.FilesystemConfig) { // not required + return nil + } + if err := o.FilesystemConfig.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "filesystem_config") @@ -225,6 +298,11 @@ func (o *ChangeLocationBody) contextValidateFilesystemConfig(ctx context.Context func (o *ChangeLocationBody) contextValidateS3Config(ctx context.Context, formats strfmt.Registry) error { if o.S3Config != nil { + + if swag.IsZero(o.S3Config) { // not required + return nil + } + if err := o.S3Config.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "s3_config") @@ -328,6 +406,11 @@ func (o *ChangeLocationDefaultBody) ContextValidate(ctx context.Context, formats func (o *ChangeLocationDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ChangeLocation default" + "." + "details" + "." + strconv.Itoa(i)) @@ -367,6 +450,80 @@ swagger:model ChangeLocationDefaultBodyDetailsItems0 type ChangeLocationDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // change location default body details items0 + ChangeLocationDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ChangeLocationDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ChangeLocationDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ChangeLocationDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ChangeLocationDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ChangeLocationDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ChangeLocationDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this change location default body details items0 diff --git a/api/backup/v1/json/client/locations_service/list_locations_responses.go b/api/backup/v1/json/client/locations_service/list_locations_responses.go index 590e7b2a07..3ea95f7a24 100644 --- a/api/backup/v1/json/client/locations_service/list_locations_responses.go +++ b/api/backup/v1/json/client/locations_service/list_locations_responses.go @@ -7,6 +7,7 @@ package locations_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type ListLocationsOK struct { Payload *ListLocationsOKBody } +// IsSuccess returns true when this list locations Ok response has a 2xx status code +func (o *ListLocationsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this list locations Ok response has a 3xx status code +func (o *ListLocationsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this list locations Ok response has a 4xx status code +func (o *ListLocationsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this list locations Ok response has a 5xx status code +func (o *ListLocationsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this list locations Ok response a status code equal to that given +func (o *ListLocationsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the list locations Ok response +func (o *ListLocationsOK) Code() int { + return 200 +} + func (o *ListLocationsOK) Error() string { - return fmt.Sprintf("[GET /v1/backups/locations][%d] listLocationsOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/locations][%d] listLocationsOk %s", 200, payload) +} + +func (o *ListLocationsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/locations][%d] listLocationsOk %s", 200, payload) } func (o *ListLocationsOK) GetPayload() *ListLocationsOKBody { @@ -94,13 +131,44 @@ type ListLocationsDefault struct { Payload *ListLocationsDefaultBody } +// IsSuccess returns true when this list locations default response has a 2xx status code +func (o *ListLocationsDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this list locations default response has a 3xx status code +func (o *ListLocationsDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this list locations default response has a 4xx status code +func (o *ListLocationsDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this list locations default response has a 5xx status code +func (o *ListLocationsDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this list locations default response a status code equal to that given +func (o *ListLocationsDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the list locations default response func (o *ListLocationsDefault) Code() int { return o._statusCode } func (o *ListLocationsDefault) Error() string { - return fmt.Sprintf("[GET /v1/backups/locations][%d] ListLocations default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/locations][%d] ListLocations default %s", o._statusCode, payload) +} + +func (o *ListLocationsDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/locations][%d] ListLocations default %s", o._statusCode, payload) } func (o *ListLocationsDefault) GetPayload() *ListLocationsDefaultBody { @@ -190,6 +258,11 @@ func (o *ListLocationsDefaultBody) ContextValidate(ctx context.Context, formats func (o *ListLocationsDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ListLocations default" + "." + "details" + "." + strconv.Itoa(i)) @@ -229,6 +302,80 @@ swagger:model ListLocationsDefaultBodyDetailsItems0 type ListLocationsDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // list locations default body details items0 + ListLocationsDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ListLocationsDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ListLocationsDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ListLocationsDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ListLocationsDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ListLocationsDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ListLocationsDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this list locations default body details items0 @@ -325,6 +472,11 @@ func (o *ListLocationsOKBody) ContextValidate(ctx context.Context, formats strfm func (o *ListLocationsOKBody) contextValidateLocations(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Locations); i++ { if o.Locations[i] != nil { + + if swag.IsZero(o.Locations[i]) { // not required + return nil + } + if err := o.Locations[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listLocationsOk" + "." + "locations" + "." + strconv.Itoa(i)) @@ -454,6 +606,11 @@ func (o *ListLocationsOKBodyLocationsItems0) ContextValidate(ctx context.Context func (o *ListLocationsOKBodyLocationsItems0) contextValidateFilesystemConfig(ctx context.Context, formats strfmt.Registry) error { if o.FilesystemConfig != nil { + + if swag.IsZero(o.FilesystemConfig) { // not required + return nil + } + if err := o.FilesystemConfig.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("filesystem_config") @@ -469,6 +626,11 @@ func (o *ListLocationsOKBodyLocationsItems0) contextValidateFilesystemConfig(ctx func (o *ListLocationsOKBodyLocationsItems0) contextValidateS3Config(ctx context.Context, formats strfmt.Registry) error { if o.S3Config != nil { + + if swag.IsZero(o.S3Config) { // not required + return nil + } + if err := o.S3Config.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("s3_config") diff --git a/api/backup/v1/json/client/locations_service/locations_service_client.go b/api/backup/v1/json/client/locations_service/locations_service_client.go index e9830d0b4c..9bb0d59c2b 100644 --- a/api/backup/v1/json/client/locations_service/locations_service_client.go +++ b/api/backup/v1/json/client/locations_service/locations_service_client.go @@ -7,6 +7,7 @@ package locations_service import ( "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" ) @@ -15,6 +16,31 @@ func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientServi return &Client{transport: transport, formats: formats} } +// New creates a new locations service API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new locations service API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + /* Client for locations service API */ @@ -23,7 +49,7 @@ type Client struct { formats strfmt.Registry } -// ClientOption is the option for Client methods +// ClientOption may be used to customize the behavior of Client methods. type ClientOption func(*runtime.ClientOperation) // ClientService is the interface for Client methods diff --git a/api/backup/v1/json/client/locations_service/remove_location_responses.go b/api/backup/v1/json/client/locations_service/remove_location_responses.go index da2e5abe22..b71626d1c4 100644 --- a/api/backup/v1/json/client/locations_service/remove_location_responses.go +++ b/api/backup/v1/json/client/locations_service/remove_location_responses.go @@ -7,6 +7,7 @@ package locations_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type RemoveLocationOK struct { Payload interface{} } +// IsSuccess returns true when this remove location Ok response has a 2xx status code +func (o *RemoveLocationOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this remove location Ok response has a 3xx status code +func (o *RemoveLocationOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this remove location Ok response has a 4xx status code +func (o *RemoveLocationOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this remove location Ok response has a 5xx status code +func (o *RemoveLocationOK) IsServerError() bool { + return false +} + +// IsCode returns true when this remove location Ok response a status code equal to that given +func (o *RemoveLocationOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the remove location Ok response +func (o *RemoveLocationOK) Code() int { + return 200 +} + func (o *RemoveLocationOK) Error() string { - return fmt.Sprintf("[DELETE /v1/backups/locations/{location_id}][%d] removeLocationOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/backups/locations/{location_id}][%d] removeLocationOk %s", 200, payload) +} + +func (o *RemoveLocationOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/backups/locations/{location_id}][%d] removeLocationOk %s", 200, payload) } func (o *RemoveLocationOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type RemoveLocationDefault struct { Payload *RemoveLocationDefaultBody } +// IsSuccess returns true when this remove location default response has a 2xx status code +func (o *RemoveLocationDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this remove location default response has a 3xx status code +func (o *RemoveLocationDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this remove location default response has a 4xx status code +func (o *RemoveLocationDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this remove location default response has a 5xx status code +func (o *RemoveLocationDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this remove location default response a status code equal to that given +func (o *RemoveLocationDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the remove location default response func (o *RemoveLocationDefault) Code() int { return o._statusCode } func (o *RemoveLocationDefault) Error() string { - return fmt.Sprintf("[DELETE /v1/backups/locations/{location_id}][%d] RemoveLocation default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/backups/locations/{location_id}][%d] RemoveLocation default %s", o._statusCode, payload) +} + +func (o *RemoveLocationDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/backups/locations/{location_id}][%d] RemoveLocation default %s", o._statusCode, payload) } func (o *RemoveLocationDefault) GetPayload() *RemoveLocationDefaultBody { @@ -188,6 +256,11 @@ func (o *RemoveLocationDefaultBody) ContextValidate(ctx context.Context, formats func (o *RemoveLocationDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("RemoveLocation default" + "." + "details" + "." + strconv.Itoa(i)) @@ -227,6 +300,80 @@ swagger:model RemoveLocationDefaultBodyDetailsItems0 type RemoveLocationDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // remove location default body details items0 + RemoveLocationDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *RemoveLocationDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv RemoveLocationDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.RemoveLocationDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o RemoveLocationDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.RemoveLocationDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.RemoveLocationDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this remove location default body details items0 diff --git a/api/backup/v1/json/client/locations_service/test_location_config_responses.go b/api/backup/v1/json/client/locations_service/test_location_config_responses.go index de196b8081..c926f0db5a 100644 --- a/api/backup/v1/json/client/locations_service/test_location_config_responses.go +++ b/api/backup/v1/json/client/locations_service/test_location_config_responses.go @@ -7,6 +7,7 @@ package locations_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type TestLocationConfigOK struct { Payload interface{} } +// IsSuccess returns true when this test location config Ok response has a 2xx status code +func (o *TestLocationConfigOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this test location config Ok response has a 3xx status code +func (o *TestLocationConfigOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this test location config Ok response has a 4xx status code +func (o *TestLocationConfigOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this test location config Ok response has a 5xx status code +func (o *TestLocationConfigOK) IsServerError() bool { + return false +} + +// IsCode returns true when this test location config Ok response a status code equal to that given +func (o *TestLocationConfigOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the test location config Ok response +func (o *TestLocationConfigOK) Code() int { + return 200 +} + func (o *TestLocationConfigOK) Error() string { - return fmt.Sprintf("[POST /v1/backups/locations:testConfig][%d] testLocationConfigOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/backups/locations:testConfig][%d] testLocationConfigOk %s", 200, payload) +} + +func (o *TestLocationConfigOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/backups/locations:testConfig][%d] testLocationConfigOk %s", 200, payload) } func (o *TestLocationConfigOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type TestLocationConfigDefault struct { Payload *TestLocationConfigDefaultBody } +// IsSuccess returns true when this test location config default response has a 2xx status code +func (o *TestLocationConfigDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this test location config default response has a 3xx status code +func (o *TestLocationConfigDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this test location config default response has a 4xx status code +func (o *TestLocationConfigDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this test location config default response has a 5xx status code +func (o *TestLocationConfigDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this test location config default response a status code equal to that given +func (o *TestLocationConfigDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the test location config default response func (o *TestLocationConfigDefault) Code() int { return o._statusCode } func (o *TestLocationConfigDefault) Error() string { - return fmt.Sprintf("[POST /v1/backups/locations:testConfig][%d] TestLocationConfig default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/backups/locations:testConfig][%d] TestLocationConfig default %s", o._statusCode, payload) +} + +func (o *TestLocationConfigDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/backups/locations:testConfig][%d] TestLocationConfig default %s", o._statusCode, payload) } func (o *TestLocationConfigDefault) GetPayload() *TestLocationConfigDefaultBody { @@ -204,6 +272,11 @@ func (o *TestLocationConfigBody) ContextValidate(ctx context.Context, formats st func (o *TestLocationConfigBody) contextValidateFilesystemConfig(ctx context.Context, formats strfmt.Registry) error { if o.FilesystemConfig != nil { + + if swag.IsZero(o.FilesystemConfig) { // not required + return nil + } + if err := o.FilesystemConfig.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "filesystem_config") @@ -219,6 +292,11 @@ func (o *TestLocationConfigBody) contextValidateFilesystemConfig(ctx context.Con func (o *TestLocationConfigBody) contextValidateS3Config(ctx context.Context, formats strfmt.Registry) error { if o.S3Config != nil { + + if swag.IsZero(o.S3Config) { // not required + return nil + } + if err := o.S3Config.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "s3_config") @@ -322,6 +400,11 @@ func (o *TestLocationConfigDefaultBody) ContextValidate(ctx context.Context, for func (o *TestLocationConfigDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("TestLocationConfig default" + "." + "details" + "." + strconv.Itoa(i)) @@ -361,6 +444,80 @@ swagger:model TestLocationConfigDefaultBodyDetailsItems0 type TestLocationConfigDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // test location config default body details items0 + TestLocationConfigDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *TestLocationConfigDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv TestLocationConfigDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.TestLocationConfigDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o TestLocationConfigDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.TestLocationConfigDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.TestLocationConfigDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this test location config default body details items0 diff --git a/api/backup/v1/json/client/restore_service/get_logs_mixin5_responses.go b/api/backup/v1/json/client/restore_service/get_logs_mixin5_responses.go index 4acb312cde..a09ede8dde 100644 --- a/api/backup/v1/json/client/restore_service/get_logs_mixin5_responses.go +++ b/api/backup/v1/json/client/restore_service/get_logs_mixin5_responses.go @@ -7,6 +7,7 @@ package restore_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type GetLogsMixin5OK struct { Payload *GetLogsMixin5OKBody } +// IsSuccess returns true when this get logs mixin5 Ok response has a 2xx status code +func (o *GetLogsMixin5OK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get logs mixin5 Ok response has a 3xx status code +func (o *GetLogsMixin5OK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get logs mixin5 Ok response has a 4xx status code +func (o *GetLogsMixin5OK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get logs mixin5 Ok response has a 5xx status code +func (o *GetLogsMixin5OK) IsServerError() bool { + return false +} + +// IsCode returns true when this get logs mixin5 Ok response a status code equal to that given +func (o *GetLogsMixin5OK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get logs mixin5 Ok response +func (o *GetLogsMixin5OK) Code() int { + return 200 +} + func (o *GetLogsMixin5OK) Error() string { - return fmt.Sprintf("[GET /v1/backups/restores/{restore_id}/logs][%d] getLogsMixin5Ok %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/restores/{restore_id}/logs][%d] getLogsMixin5Ok %s", 200, payload) +} + +func (o *GetLogsMixin5OK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/restores/{restore_id}/logs][%d] getLogsMixin5Ok %s", 200, payload) } func (o *GetLogsMixin5OK) GetPayload() *GetLogsMixin5OKBody { @@ -94,13 +131,44 @@ type GetLogsMixin5Default struct { Payload *GetLogsMixin5DefaultBody } +// IsSuccess returns true when this get logs mixin5 default response has a 2xx status code +func (o *GetLogsMixin5Default) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this get logs mixin5 default response has a 3xx status code +func (o *GetLogsMixin5Default) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this get logs mixin5 default response has a 4xx status code +func (o *GetLogsMixin5Default) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this get logs mixin5 default response has a 5xx status code +func (o *GetLogsMixin5Default) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this get logs mixin5 default response a status code equal to that given +func (o *GetLogsMixin5Default) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the get logs mixin5 default response func (o *GetLogsMixin5Default) Code() int { return o._statusCode } func (o *GetLogsMixin5Default) Error() string { - return fmt.Sprintf("[GET /v1/backups/restores/{restore_id}/logs][%d] GetLogsMixin5 default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/restores/{restore_id}/logs][%d] GetLogsMixin5 default %s", o._statusCode, payload) +} + +func (o *GetLogsMixin5Default) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/restores/{restore_id}/logs][%d] GetLogsMixin5 default %s", o._statusCode, payload) } func (o *GetLogsMixin5Default) GetPayload() *GetLogsMixin5DefaultBody { @@ -190,6 +258,11 @@ func (o *GetLogsMixin5DefaultBody) ContextValidate(ctx context.Context, formats func (o *GetLogsMixin5DefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("GetLogsMixin5 default" + "." + "details" + "." + strconv.Itoa(i)) @@ -229,6 +302,80 @@ swagger:model GetLogsMixin5DefaultBodyDetailsItems0 type GetLogsMixin5DefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // get logs mixin5 default body details items0 + GetLogsMixin5DefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *GetLogsMixin5DefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv GetLogsMixin5DefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.GetLogsMixin5DefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o GetLogsMixin5DefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.GetLogsMixin5DefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.GetLogsMixin5DefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this get logs mixin5 default body details items0 @@ -328,6 +475,11 @@ func (o *GetLogsMixin5OKBody) ContextValidate(ctx context.Context, formats strfm func (o *GetLogsMixin5OKBody) contextValidateLogs(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Logs); i++ { if o.Logs[i] != nil { + + if swag.IsZero(o.Logs[i]) { // not required + return nil + } + if err := o.Logs[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getLogsMixin5Ok" + "." + "logs" + "." + strconv.Itoa(i)) diff --git a/api/backup/v1/json/client/restore_service/list_restores_responses.go b/api/backup/v1/json/client/restore_service/list_restores_responses.go index 9c089fb371..d9d2741189 100644 --- a/api/backup/v1/json/client/restore_service/list_restores_responses.go +++ b/api/backup/v1/json/client/restore_service/list_restores_responses.go @@ -59,8 +59,44 @@ type ListRestoresOK struct { Payload *ListRestoresOKBody } +// IsSuccess returns true when this list restores Ok response has a 2xx status code +func (o *ListRestoresOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this list restores Ok response has a 3xx status code +func (o *ListRestoresOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this list restores Ok response has a 4xx status code +func (o *ListRestoresOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this list restores Ok response has a 5xx status code +func (o *ListRestoresOK) IsServerError() bool { + return false +} + +// IsCode returns true when this list restores Ok response a status code equal to that given +func (o *ListRestoresOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the list restores Ok response +func (o *ListRestoresOK) Code() int { + return 200 +} + func (o *ListRestoresOK) Error() string { - return fmt.Sprintf("[GET /v1/backups/restores][%d] listRestoresOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/restores][%d] listRestoresOk %s", 200, payload) +} + +func (o *ListRestoresOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/restores][%d] listRestoresOk %s", 200, payload) } func (o *ListRestoresOK) GetPayload() *ListRestoresOKBody { @@ -96,13 +132,44 @@ type ListRestoresDefault struct { Payload *ListRestoresDefaultBody } +// IsSuccess returns true when this list restores default response has a 2xx status code +func (o *ListRestoresDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this list restores default response has a 3xx status code +func (o *ListRestoresDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this list restores default response has a 4xx status code +func (o *ListRestoresDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this list restores default response has a 5xx status code +func (o *ListRestoresDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this list restores default response a status code equal to that given +func (o *ListRestoresDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the list restores default response func (o *ListRestoresDefault) Code() int { return o._statusCode } func (o *ListRestoresDefault) Error() string { - return fmt.Sprintf("[GET /v1/backups/restores][%d] ListRestores default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/restores][%d] ListRestores default %s", o._statusCode, payload) +} + +func (o *ListRestoresDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/backups/restores][%d] ListRestores default %s", o._statusCode, payload) } func (o *ListRestoresDefault) GetPayload() *ListRestoresDefaultBody { @@ -192,6 +259,11 @@ func (o *ListRestoresDefaultBody) ContextValidate(ctx context.Context, formats s func (o *ListRestoresDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ListRestores default" + "." + "details" + "." + strconv.Itoa(i)) @@ -231,6 +303,80 @@ swagger:model ListRestoresDefaultBodyDetailsItems0 type ListRestoresDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // list restores default body details items0 + ListRestoresDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ListRestoresDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ListRestoresDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ListRestoresDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ListRestoresDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ListRestoresDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ListRestoresDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this list restores default body details items0 @@ -327,6 +473,11 @@ func (o *ListRestoresOKBody) ContextValidate(ctx context.Context, formats strfmt func (o *ListRestoresOKBody) contextValidateItems(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Items); i++ { if o.Items[i] != nil { + + if swag.IsZero(o.Items[i]) { // not required + return nil + } + if err := o.Items[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listRestoresOk" + "." + "items" + "." + strconv.Itoa(i)) @@ -389,11 +540,11 @@ type ListRestoresOKBodyItemsItems0 struct { ServiceName string `json:"service_name,omitempty"` // DataModel is a model used for performing a backup. - // Enum: [DATA_MODEL_UNSPECIFIED DATA_MODEL_PHYSICAL DATA_MODEL_LOGICAL] + // Enum: ["DATA_MODEL_UNSPECIFIED","DATA_MODEL_PHYSICAL","DATA_MODEL_LOGICAL"] DataModel *string `json:"data_model,omitempty"` // RestoreStatus shows the current status of execution of restore. - // Enum: [RESTORE_STATUS_UNSPECIFIED RESTORE_STATUS_IN_PROGRESS RESTORE_STATUS_SUCCESS RESTORE_STATUS_ERROR] + // Enum: ["RESTORE_STATUS_UNSPECIFIED","RESTORE_STATUS_IN_PROGRESS","RESTORE_STATUS_SUCCESS","RESTORE_STATUS_ERROR"] Status *string `json:"status,omitempty"` // Restore start time. diff --git a/api/backup/v1/json/client/restore_service/restore_backup_responses.go b/api/backup/v1/json/client/restore_service/restore_backup_responses.go index a5ffc89b6b..ed2d534da1 100644 --- a/api/backup/v1/json/client/restore_service/restore_backup_responses.go +++ b/api/backup/v1/json/client/restore_service/restore_backup_responses.go @@ -7,6 +7,7 @@ package restore_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -58,8 +59,44 @@ type RestoreBackupOK struct { Payload *RestoreBackupOKBody } +// IsSuccess returns true when this restore backup Ok response has a 2xx status code +func (o *RestoreBackupOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this restore backup Ok response has a 3xx status code +func (o *RestoreBackupOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this restore backup Ok response has a 4xx status code +func (o *RestoreBackupOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this restore backup Ok response has a 5xx status code +func (o *RestoreBackupOK) IsServerError() bool { + return false +} + +// IsCode returns true when this restore backup Ok response a status code equal to that given +func (o *RestoreBackupOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the restore backup Ok response +func (o *RestoreBackupOK) Code() int { + return 200 +} + func (o *RestoreBackupOK) Error() string { - return fmt.Sprintf("[POST /v1/backups/restores:start][%d] restoreBackupOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/backups/restores:start][%d] restoreBackupOk %s", 200, payload) +} + +func (o *RestoreBackupOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/backups/restores:start][%d] restoreBackupOk %s", 200, payload) } func (o *RestoreBackupOK) GetPayload() *RestoreBackupOKBody { @@ -95,13 +132,44 @@ type RestoreBackupDefault struct { Payload *RestoreBackupDefaultBody } +// IsSuccess returns true when this restore backup default response has a 2xx status code +func (o *RestoreBackupDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this restore backup default response has a 3xx status code +func (o *RestoreBackupDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this restore backup default response has a 4xx status code +func (o *RestoreBackupDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this restore backup default response has a 5xx status code +func (o *RestoreBackupDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this restore backup default response a status code equal to that given +func (o *RestoreBackupDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the restore backup default response func (o *RestoreBackupDefault) Code() int { return o._statusCode } func (o *RestoreBackupDefault) Error() string { - return fmt.Sprintf("[POST /v1/backups/restores:start][%d] RestoreBackup default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/backups/restores:start][%d] RestoreBackup default %s", o._statusCode, payload) +} + +func (o *RestoreBackupDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/backups/restores:start][%d] RestoreBackup default %s", o._statusCode, payload) } func (o *RestoreBackupDefault) GetPayload() *RestoreBackupDefaultBody { @@ -256,6 +324,11 @@ func (o *RestoreBackupDefaultBody) ContextValidate(ctx context.Context, formats func (o *RestoreBackupDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("RestoreBackup default" + "." + "details" + "." + strconv.Itoa(i)) @@ -295,6 +368,80 @@ swagger:model RestoreBackupDefaultBodyDetailsItems0 type RestoreBackupDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // restore backup default body details items0 + RestoreBackupDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *RestoreBackupDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv RestoreBackupDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.RestoreBackupDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o RestoreBackupDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.RestoreBackupDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.RestoreBackupDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this restore backup default body details items0 diff --git a/api/backup/v1/json/client/restore_service/restore_service_client.go b/api/backup/v1/json/client/restore_service/restore_service_client.go index 88f11ed78d..30ad654e63 100644 --- a/api/backup/v1/json/client/restore_service/restore_service_client.go +++ b/api/backup/v1/json/client/restore_service/restore_service_client.go @@ -7,6 +7,7 @@ package restore_service import ( "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" ) @@ -15,6 +16,31 @@ func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientServi return &Client{transport: transport, formats: formats} } +// New creates a new restore service API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new restore service API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + /* Client for restore service API */ @@ -23,7 +49,7 @@ type Client struct { formats strfmt.Registry } -// ClientOption is the option for Client methods +// ClientOption may be used to customize the behavior of Client methods. type ClientOption func(*runtime.ClientOperation) // ClientService is the interface for Client methods diff --git a/api/backup/v1/json/v1.json b/api/backup/v1/json/v1.json index 9ff1e7ac9e..63167e3ad4 100644 --- a/api/backup/v1/json/v1.json +++ b/api/backup/v1/json/v1.json @@ -40,11 +40,35 @@ "type": "string", "x-order": 0 }, - "created_at": { - "description": "Artifact creation time.", + "name": { "type": "string", - "format": "date-time", - "x-order": 9 + "title": "Artifact name", + "x-order": 1 + }, + "vendor": { + "description": "Database vendor e.g. PostgreSQL, MongoDB, MySQL.", + "type": "string", + "x-order": 2 + }, + "location_id": { + "description": "Machine-readable location ID.", + "type": "string", + "x-order": 3 + }, + "location_name": { + "description": "Location name.", + "type": "string", + "x-order": 4 + }, + "service_id": { + "description": "Machine-readable service ID.", + "type": "string", + "x-order": 5 + }, + "service_name": { + "description": "Service name.", + "type": "string", + "x-order": 6 }, "data_model": { "description": "DataModel is a model used for performing a backup.", @@ -57,25 +81,50 @@ ], "x-order": 7 }, - "folder": { - "description": "Folder to store artifact on a storage.", + "status": { + "description": "BackupStatus shows the current status of execution of backup.", "type": "string", - "x-order": 12 + "default": "BACKUP_STATUS_UNSPECIFIED", + "enum": [ + "BACKUP_STATUS_UNSPECIFIED", + "BACKUP_STATUS_PENDING", + "BACKUP_STATUS_IN_PROGRESS", + "BACKUP_STATUS_PAUSED", + "BACKUP_STATUS_SUCCESS", + "BACKUP_STATUS_ERROR", + "BACKUP_STATUS_DELETING", + "BACKUP_STATUS_FAILED_TO_DELETE", + "BACKUP_STATUS_CLEANUP_IN_PROGRESS" + ], + "x-order": 8 + }, + "created_at": { + "description": "Artifact creation time.", + "type": "string", + "format": "date-time", + "x-order": 9 + }, + "mode": { + "description": "BackupMode specifies backup mode.", + "type": "string", + "default": "BACKUP_MODE_UNSPECIFIED", + "enum": [ + "BACKUP_MODE_UNSPECIFIED", + "BACKUP_MODE_SNAPSHOT", + "BACKUP_MODE_INCREMENTAL", + "BACKUP_MODE_PITR" + ], + "x-order": 10 }, "is_sharded_cluster": { "description": "Source database setup type.", "type": "boolean", "x-order": 11 }, - "location_id": { - "description": "Machine-readable location ID.", - "type": "string", - "x-order": 3 - }, - "location_name": { - "description": "Location name.", + "folder": { + "description": "Folder to store artifact on a storage.", "type": "string", - "x-order": 4 + "x-order": 12 }, "metadata_list": { "description": "List of artifact metadata.", @@ -91,18 +140,24 @@ "description": "File represents file or folder on a storage.", "type": "object", "properties": { - "is_directory": { - "type": "boolean", - "x-order": 1 - }, "name": { "type": "string", "x-order": 0 + }, + "is_directory": { + "type": "boolean", + "x-order": 1 } } }, "x-order": 0 }, + "restore_to": { + "description": "Exact time DB can be restored to.", + "type": "string", + "format": "date-time", + "x-order": 1 + }, "pbm_metadata": { "description": "PbmMetadata contains additional data for pbm cli tools.", "type": "object", @@ -114,65 +169,10 @@ } }, "x-order": 2 - }, - "restore_to": { - "description": "Exact time DB can be restored to.", - "type": "string", - "format": "date-time", - "x-order": 1 } } }, "x-order": 13 - }, - "mode": { - "description": "BackupMode specifies backup mode.", - "type": "string", - "default": "BACKUP_MODE_UNSPECIFIED", - "enum": [ - "BACKUP_MODE_UNSPECIFIED", - "BACKUP_MODE_SNAPSHOT", - "BACKUP_MODE_INCREMENTAL", - "BACKUP_MODE_PITR" - ], - "x-order": 10 - }, - "name": { - "type": "string", - "title": "Artifact name", - "x-order": 1 - }, - "service_id": { - "description": "Machine-readable service ID.", - "type": "string", - "x-order": 5 - }, - "service_name": { - "description": "Service name.", - "type": "string", - "x-order": 6 - }, - "status": { - "description": "BackupStatus shows the current status of execution of backup.", - "type": "string", - "default": "BACKUP_STATUS_UNSPECIFIED", - "enum": [ - "BACKUP_STATUS_UNSPECIFIED", - "BACKUP_STATUS_PENDING", - "BACKUP_STATUS_IN_PROGRESS", - "BACKUP_STATUS_PAUSED", - "BACKUP_STATUS_SUCCESS", - "BACKUP_STATUS_ERROR", - "BACKUP_STATUS_DELETING", - "BACKUP_STATUS_FAILED_TO_DELETE", - "BACKUP_STATUS_CLEANUP_IN_PROGRESS" - ], - "x-order": 8 - }, - "vendor": { - "description": "Database vendor e.g. PostgreSQL, MongoDB, MySQL.", - "type": "string", - "x-order": 2 } } }, @@ -191,6 +191,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -201,13 +205,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -255,6 +255,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -265,13 +269,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -307,17 +307,17 @@ "items": { "type": "object", "properties": { - "end_timestamp": { - "description": "end_timestamp is the time of the last event in the PITR chunk.", - "type": "string", - "format": "date-time", - "x-order": 1 - }, "start_timestamp": { "description": "start_timestamp is the time of the first event in the PITR chunk.", "type": "string", "format": "date-time", "x-order": 0 + }, + "end_timestamp": { + "description": "end_timestamp is the time of the last event in the PITR chunk.", + "type": "string", + "format": "date-time", + "x-order": 1 } } }, @@ -336,6 +336,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -346,13 +350,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -380,6 +380,16 @@ "description": "Location represents single Backup Location.", "type": "object", "properties": { + "location_id": { + "description": "Machine-readable ID.", + "type": "string", + "x-order": 0 + }, + "name": { + "type": "string", + "title": "Location name", + "x-order": 1 + }, "description": { "type": "string", "title": "Short description", @@ -396,35 +406,25 @@ }, "x-order": 3 }, - "location_id": { - "description": "Machine-readable ID.", - "type": "string", - "x-order": 0 - }, - "name": { - "type": "string", - "title": "Location name", - "x-order": 1 - }, "s3_config": { "description": "S3LocationConfig represents S3 bucket configuration.", "type": "object", "properties": { - "access_key": { - "type": "string", - "x-order": 1 - }, - "bucket_name": { - "type": "string", - "x-order": 3 - }, "endpoint": { "type": "string", "x-order": 0 }, + "access_key": { + "type": "string", + "x-order": 1 + }, "secret_key": { "type": "string", "x-order": 2 + }, + "bucket_name": { + "type": "string", + "x-order": 3 } }, "x-order": 4 @@ -446,6 +446,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -456,13 +460,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -484,6 +484,11 @@ "schema": { "type": "object", "properties": { + "name": { + "type": "string", + "title": "Location name", + "x-order": 0 + }, "description": { "type": "string", "x-order": 1 @@ -499,30 +504,25 @@ }, "x-order": 2 }, - "name": { - "type": "string", - "title": "Location name", - "x-order": 0 - }, "s3_config": { "description": "S3LocationConfig represents S3 bucket configuration.", "type": "object", "properties": { - "access_key": { - "type": "string", - "x-order": 1 - }, - "bucket_name": { - "type": "string", - "x-order": 3 - }, "endpoint": { "type": "string", "x-order": 0 }, + "access_key": { + "type": "string", + "x-order": 1 + }, "secret_key": { "type": "string", "x-order": 2 + }, + "bucket_name": { + "type": "string", + "x-order": 3 } }, "x-order": 3 @@ -555,8 +555,12 @@ "format": "int32", "x-order": 0 }, - "details": { - "type": "array", + "message": { + "type": "string", + "x-order": 1 + }, + "details": { + "type": "array", "items": { "type": "object", "properties": { @@ -565,13 +569,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -602,6 +602,11 @@ "schema": { "type": "object", "properties": { + "name": { + "type": "string", + "title": "Location name", + "x-order": 0 + }, "description": { "type": "string", "x-order": 1 @@ -617,30 +622,25 @@ }, "x-order": 2 }, - "name": { - "type": "string", - "title": "Location name", - "x-order": 0 - }, "s3_config": { "description": "S3LocationConfig represents S3 bucket configuration.", "type": "object", "properties": { - "access_key": { - "type": "string", - "x-order": 1 - }, - "bucket_name": { - "type": "string", - "x-order": 3 - }, "endpoint": { "type": "string", "x-order": 0 }, + "access_key": { + "type": "string", + "x-order": 1 + }, "secret_key": { "type": "string", "x-order": 2 + }, + "bucket_name": { + "type": "string", + "x-order": 3 } }, "x-order": 3 @@ -666,6 +666,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -676,13 +680,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -728,6 +728,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -738,13 +742,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -783,21 +783,21 @@ "description": "S3LocationConfig represents S3 bucket configuration.", "type": "object", "properties": { - "access_key": { - "type": "string", - "x-order": 1 - }, - "bucket_name": { - "type": "string", - "x-order": 3 - }, "endpoint": { "type": "string", "x-order": 0 }, + "access_key": { + "type": "string", + "x-order": 1 + }, "secret_key": { "type": "string", "x-order": 2 + }, + "bucket_name": { + "type": "string", + "x-order": 3 } }, "x-order": 1 @@ -823,6 +823,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -833,13 +837,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -867,27 +867,25 @@ "description": "RestoreHistoryItem represents single backup restore item.", "type": "object", "properties": { + "restore_id": { + "description": "Machine-readable restore id.", + "type": "string", + "x-order": 0 + }, "artifact_id": { "description": "ID of the artifact used for restore.", "type": "string", "x-order": 1 }, - "data_model": { - "description": "DataModel is a model used for performing a backup.", + "name": { + "description": "Artifact name used for restore.", "type": "string", - "default": "DATA_MODEL_UNSPECIFIED", - "enum": [ - "DATA_MODEL_UNSPECIFIED", - "DATA_MODEL_PHYSICAL", - "DATA_MODEL_LOGICAL" - ], - "x-order": 8 + "x-order": 2 }, - "finished_at": { - "description": "Restore finish time.", + "vendor": { + "description": "Database vendor e.g. PostgreSQL, MongoDB, MySQL.", "type": "string", - "format": "date-time", - "x-order": 11 + "x-order": 3 }, "location_id": { "description": "Machine-readable location ID.", @@ -899,22 +897,6 @@ "type": "string", "x-order": 5 }, - "name": { - "description": "Artifact name used for restore.", - "type": "string", - "x-order": 2 - }, - "pitr_timestamp": { - "description": "PITR timestamp is filled for PITR restores, empty otherwise.", - "type": "string", - "format": "date-time", - "x-order": 12 - }, - "restore_id": { - "description": "Machine-readable restore id.", - "type": "string", - "x-order": 0 - }, "service_id": { "description": "Machine-readable service ID.", "type": "string", @@ -925,11 +907,16 @@ "type": "string", "x-order": 7 }, - "started_at": { - "description": "Restore start time.", + "data_model": { + "description": "DataModel is a model used for performing a backup.", "type": "string", - "format": "date-time", - "x-order": 10 + "default": "DATA_MODEL_UNSPECIFIED", + "enum": [ + "DATA_MODEL_UNSPECIFIED", + "DATA_MODEL_PHYSICAL", + "DATA_MODEL_LOGICAL" + ], + "x-order": 8 }, "status": { "description": "RestoreStatus shows the current status of execution of restore.", @@ -943,10 +930,23 @@ ], "x-order": 9 }, - "vendor": { - "description": "Database vendor e.g. PostgreSQL, MongoDB, MySQL.", + "started_at": { + "description": "Restore start time.", "type": "string", - "x-order": 3 + "format": "date-time", + "x-order": 10 + }, + "finished_at": { + "description": "Restore finish time.", + "type": "string", + "format": "date-time", + "x-order": 11 + }, + "pitr_timestamp": { + "description": "PITR timestamp is filled for PITR restores, empty otherwise.", + "type": "string", + "format": "date-time", + "x-order": 12 } } }, @@ -965,6 +965,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -975,13 +979,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -1023,10 +1023,6 @@ "schema": { "type": "object", "properties": { - "end": { - "type": "boolean", - "x-order": 1 - }, "logs": { "type": "array", "items": { @@ -1045,6 +1041,10 @@ } }, "x-order": 0 + }, + "end": { + "type": "boolean", + "x-order": 1 } } } @@ -1059,6 +1059,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -1069,13 +1073,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -1099,6 +1099,11 @@ "schema": { "type": "object", "properties": { + "service_id": { + "description": "Service identifier where backup should be restored.", + "type": "string", + "x-order": 0 + }, "artifact_id": { "description": "Artifact id to restore.", "type": "string", @@ -1109,11 +1114,6 @@ "format": "date-time", "title": "Timestamp of PITR to restore to", "x-order": 2 - }, - "service_id": { - "description": "Service identifier where backup should be restored.", - "type": "string", - "x-order": 0 } } } @@ -1143,6 +1143,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -1153,13 +1157,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -1187,42 +1187,20 @@ "description": "ScheduledBackup represents scheduled task for backup.", "type": "object", "properties": { - "cron_expression": { - "description": "How often backup will be run in cron format.", - "type": "string", - "x-order": 6 - }, - "data_model": { - "description": "DataModel is a model used for performing a backup.", - "type": "string", - "default": "DATA_MODEL_UNSPECIFIED", - "enum": [ - "DATA_MODEL_UNSPECIFIED", - "DATA_MODEL_PHYSICAL", - "DATA_MODEL_LOGICAL" - ], - "x-order": 13 - }, - "description": { - "description": "Description.", + "scheduled_backup_id": { + "description": "Machine-readable ID.", "type": "string", - "x-order": 9 - }, - "enabled": { - "description": "If scheduling is enabled.", - "type": "boolean", - "x-order": 10 + "x-order": 0 }, - "folder": { - "description": "Folder on storage for artifact.", + "service_id": { + "description": "Machine-readable service ID.", "type": "string", - "x-order": 5 + "x-order": 1 }, - "last_run": { - "description": "Last run.", + "service_name": { + "description": "Service name.", "type": "string", - "format": "date-time", - "x-order": 16 + "x-order": 2 }, "location_id": { "description": "Machine-readable location ID.", @@ -1234,34 +1212,36 @@ "type": "string", "x-order": 4 }, - "mode": { - "description": "BackupMode specifies backup mode.", + "folder": { + "description": "Folder on storage for artifact.", "type": "string", - "default": "BACKUP_MODE_UNSPECIFIED", - "enum": [ - "BACKUP_MODE_UNSPECIFIED", - "BACKUP_MODE_SNAPSHOT", - "BACKUP_MODE_INCREMENTAL", - "BACKUP_MODE_PITR" - ], - "x-order": 14 + "x-order": 5 + }, + "cron_expression": { + "description": "How often backup will be run in cron format.", + "type": "string", + "x-order": 6 + }, + "start_time": { + "description": "First backup wouldn't happen before this time.", + "type": "string", + "format": "date-time", + "x-order": 7 }, "name": { "description": "Artifact name.", "type": "string", "x-order": 8 }, - "next_run": { - "description": "Next run.", + "description": { + "description": "Description.", "type": "string", - "format": "date-time", - "x-order": 17 + "x-order": 9 }, - "retention": { - "description": "How many artifacts keep. 0 - unlimited.", - "type": "integer", - "format": "int64", - "x-order": 18 + "enabled": { + "description": "If scheduling is enabled.", + "type": "boolean", + "x-order": 10 }, "retries": { "description": "How many times to retry a failed backup before giving up.", @@ -1274,31 +1254,51 @@ "type": "string", "x-order": 12 }, - "scheduled_backup_id": { - "description": "Machine-readable ID.", + "data_model": { + "description": "DataModel is a model used for performing a backup.", "type": "string", - "x-order": 0 + "default": "DATA_MODEL_UNSPECIFIED", + "enum": [ + "DATA_MODEL_UNSPECIFIED", + "DATA_MODEL_PHYSICAL", + "DATA_MODEL_LOGICAL" + ], + "x-order": 13 }, - "service_id": { - "description": "Machine-readable service ID.", + "mode": { + "description": "BackupMode specifies backup mode.", "type": "string", - "x-order": 1 + "default": "BACKUP_MODE_UNSPECIFIED", + "enum": [ + "BACKUP_MODE_UNSPECIFIED", + "BACKUP_MODE_SNAPSHOT", + "BACKUP_MODE_INCREMENTAL", + "BACKUP_MODE_PITR" + ], + "x-order": 14 }, - "service_name": { - "description": "Service name.", + "vendor": { + "description": "Database vendor e.g. PostgreSQL, MongoDB, MySQL.", "type": "string", - "x-order": 2 + "x-order": 15 }, - "start_time": { - "description": "First backup wouldn't happen before this time.", + "last_run": { + "description": "Last run.", "type": "string", "format": "date-time", - "x-order": 7 + "x-order": 16 }, - "vendor": { - "description": "Database vendor e.g. PostgreSQL, MongoDB, MySQL.", + "next_run": { + "description": "Next run.", "type": "string", - "x-order": 15 + "format": "date-time", + "x-order": 17 + }, + "retention": { + "description": "How many artifacts keep. 0 - unlimited.", + "type": "integer", + "format": "int64", + "x-order": 18 } } }, @@ -1317,6 +1317,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -1327,13 +1331,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -1364,143 +1364,143 @@ "schema": { "type": "object", "properties": { - "mongodb": { + "mysql": { "type": "array", "items": { - "description": "MongoDBService represents a generic MongoDB instance.", + "description": "MySQLService represents a generic MySQL instance.", "type": "object", "properties": { - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", + "service_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 + "x-order": 0 }, - "environment": { - "description": "Environment name.", + "service_name": { + "description": "Unique across all Services user-defined name.", "type": "string", - "x-order": 6 + "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 }, - "replication_set": { - "description": "Replication set name.", + "socket": { + "description": "Access unix socket.\nAddress (and port) or socket is required.", "type": "string", - "x-order": 8 + "x-order": 5 }, - "service_id": { - "description": "Unique randomly generated instance identifier.", + "environment": { + "description": "Environment name.", "type": "string", - "x-order": 0 + "x-order": 6 }, - "service_name": { - "description": "Unique across all Services user-defined name.", + "cluster": { + "description": "Cluster name.", "type": "string", - "x-order": 1 + "x-order": 7 }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", + "replication_set": { + "description": "Replication set name.", "type": "string", - "x-order": 5 + "x-order": 8 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 9 }, "version": { - "description": "MongoDB version.", + "description": "MySQL version.", "type": "string", "x-order": 10 } } }, - "x-order": 1 + "x-order": 0 }, - "mysql": { + "mongodb": { "type": "array", "items": { - "description": "MySQLService represents a generic MySQL instance.", + "description": "MongoDBService represents a generic MongoDB instance.", "type": "object", "properties": { - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", + "service_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 + "x-order": 0 }, - "environment": { - "description": "Environment name.", + "service_name": { + "description": "Unique across all Services user-defined name.", "type": "string", - "x-order": 6 + "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 }, - "replication_set": { - "description": "Replication set name.", + "socket": { + "description": "Access unix socket.\nAddress (and port) or socket is required.", "type": "string", - "x-order": 8 + "x-order": 5 }, - "service_id": { - "description": "Unique randomly generated instance identifier.", + "environment": { + "description": "Environment name.", "type": "string", - "x-order": 0 + "x-order": 6 }, - "service_name": { - "description": "Unique across all Services user-defined name.", + "cluster": { + "description": "Cluster name.", "type": "string", - "x-order": 1 + "x-order": 7 }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", + "replication_set": { + "description": "Replication set name.", "type": "string", - "x-order": 5 + "x-order": 8 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 9 }, "version": { - "description": "MySQL version.", + "description": "MongoDB version.", "type": "string", "x-order": 10 } } }, - "x-order": 0 + "x-order": 1 } } } @@ -1515,6 +1515,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -1525,13 +1529,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -1573,10 +1573,6 @@ "schema": { "type": "object", "properties": { - "end": { - "type": "boolean", - "x-order": 1 - }, "logs": { "type": "array", "items": { @@ -1595,6 +1591,10 @@ } }, "x-order": 0 + }, + "end": { + "type": "boolean", + "x-order": 1 } } } @@ -1609,6 +1609,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -1619,13 +1623,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -1666,6 +1666,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -1676,13 +1680,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -1706,22 +1706,26 @@ "schema": { "type": "object", "properties": { + "scheduled_backup_id": { + "type": "string", + "x-order": 0 + }, + "enabled": { + "type": "boolean", + "x-nullable": true, + "x-order": 1 + }, "cron_expression": { "description": "How often backup should be run in cron format.", "type": "string", "x-nullable": true, "x-order": 2 }, - "description": { - "description": "Human-readable description.", + "start_time": { + "description": "First backup wouldn't happen before this time.", "type": "string", - "x-nullable": true, - "x-order": 5 - }, - "enabled": { - "type": "boolean", - "x-nullable": true, - "x-order": 1 + "format": "date-time", + "x-order": 3 }, "name": { "description": "Name of backup.", @@ -1729,12 +1733,11 @@ "x-nullable": true, "x-order": 4 }, - "retention": { - "description": "How many artifacts keep. 0 - unlimited.", - "type": "integer", - "format": "int64", + "description": { + "description": "Human-readable description.", + "type": "string", "x-nullable": true, - "x-order": 8 + "x-order": 5 }, "retries": { "description": "How many times to retry a failed backup before giving up.", @@ -1748,15 +1751,12 @@ "type": "string", "x-order": 7 }, - "scheduled_backup_id": { - "type": "string", - "x-order": 0 - }, - "start_time": { - "description": "First backup wouldn't happen before this time.", - "type": "string", - "format": "date-time", - "x-order": 3 + "retention": { + "description": "How many artifacts keep. 0 - unlimited.", + "type": "integer", + "format": "int64", + "x-nullable": true, + "x-order": 8 } } } @@ -1779,6 +1779,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -1789,13 +1793,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -1819,20 +1819,35 @@ "schema": { "type": "object", "properties": { + "service_id": { + "description": "Service identifier where backup should be performed.", + "type": "string", + "x-order": 0 + }, + "location_id": { + "description": "Machine-readable location ID.", + "type": "string", + "x-order": 1 + }, + "folder": { + "description": "How often backup should be run in cron format.\nFolder on storage for artifact.", + "type": "string", + "x-order": 2 + }, "cron_expression": { "type": "string", "x-order": 3 }, - "data_model": { - "description": "DataModel is a model used for performing a backup.", + "start_time": { + "description": "First backup wouldn't happen before this time.", "type": "string", - "default": "DATA_MODEL_UNSPECIFIED", - "enum": [ - "DATA_MODEL_UNSPECIFIED", - "DATA_MODEL_PHYSICAL", - "DATA_MODEL_LOGICAL" - ], - "x-order": 11 + "format": "date-time", + "x-order": 4 + }, + "name": { + "description": "Name of backup.", + "type": "string", + "x-order": 5 }, "description": { "description": "Human-readable description.", @@ -1844,15 +1859,16 @@ "type": "boolean", "x-order": 7 }, - "folder": { - "description": "How often backup should be run in cron format.\nFolder on storage for artifact.", - "type": "string", - "x-order": 2 + "retries": { + "description": "How many times to retry a failed backup before giving up.", + "type": "integer", + "format": "int64", + "x-order": 8 }, - "location_id": { - "description": "Machine-readable location ID.", + "retry_interval": { + "description": "Delay between each retry. Should have a suffix in JSON: 1s, 1m, 1h.", "type": "string", - "x-order": 1 + "x-order": 9 }, "mode": { "description": "BackupMode specifies backup mode.", @@ -1866,38 +1882,22 @@ ], "x-order": 10 }, - "name": { - "description": "Name of backup.", + "data_model": { + "description": "DataModel is a model used for performing a backup.", "type": "string", - "x-order": 5 + "default": "DATA_MODEL_UNSPECIFIED", + "enum": [ + "DATA_MODEL_UNSPECIFIED", + "DATA_MODEL_PHYSICAL", + "DATA_MODEL_LOGICAL" + ], + "x-order": 11 }, "retention": { "description": "How many artifacts keep. 0 - unlimited.", "type": "integer", "format": "int64", "x-order": 12 - }, - "retries": { - "description": "How many times to retry a failed backup before giving up.", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "retry_interval": { - "description": "Delay between each retry. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 9 - }, - "service_id": { - "description": "Service identifier where backup should be performed.", - "type": "string", - "x-order": 0 - }, - "start_time": { - "description": "First backup wouldn't happen before this time.", - "type": "string", - "format": "date-time", - "x-order": 4 } } } @@ -1926,6 +1926,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -1936,13 +1940,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -1966,26 +1966,10 @@ "schema": { "type": "object", "properties": { - "data_model": { - "description": "DataModel is a model used for performing a backup.", - "type": "string", - "default": "DATA_MODEL_UNSPECIFIED", - "enum": [ - "DATA_MODEL_UNSPECIFIED", - "DATA_MODEL_PHYSICAL", - "DATA_MODEL_LOGICAL" - ], - "x-order": 6 - }, - "description": { - "description": "Human-readable description.", - "type": "string", - "x-order": 3 - }, - "folder": { - "description": "Folder on storage for artifact.", + "service_id": { + "description": "Service identifier.", "type": "string", - "x-order": 7 + "x-order": 0 }, "location_id": { "description": "Machine-readable location ID.", @@ -1997,21 +1981,37 @@ "type": "string", "x-order": 2 }, + "description": { + "description": "Human-readable description.", + "type": "string", + "x-order": 3 + }, + "retry_interval": { + "description": "Delay between each retry. Should have a suffix in JSON: 1s, 1m, 1h.", + "type": "string", + "x-order": 4 + }, "retries": { "description": "How many times to retry a failed backup before giving up.", "type": "integer", "format": "int64", "x-order": 5 }, - "retry_interval": { - "description": "Delay between each retry. Should have a suffix in JSON: 1s, 1m, 1h.", + "data_model": { + "description": "DataModel is a model used for performing a backup.", "type": "string", - "x-order": 4 + "default": "DATA_MODEL_UNSPECIFIED", + "enum": [ + "DATA_MODEL_UNSPECIFIED", + "DATA_MODEL_PHYSICAL", + "DATA_MODEL_LOGICAL" + ], + "x-order": 6 }, - "service_id": { - "description": "Service identifier.", + "folder": { + "description": "Folder on storage for artifact.", "type": "string", - "x-order": 0 + "x-order": 7 } } } @@ -2041,6 +2041,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -2051,13 +2055,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } diff --git a/api/dump/v1beta1/json/client/dump_service/delete_dump_responses.go b/api/dump/v1beta1/json/client/dump_service/delete_dump_responses.go index 7b0787e6ae..5d220bc48b 100644 --- a/api/dump/v1beta1/json/client/dump_service/delete_dump_responses.go +++ b/api/dump/v1beta1/json/client/dump_service/delete_dump_responses.go @@ -7,6 +7,7 @@ package dump_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type DeleteDumpOK struct { Payload interface{} } +// IsSuccess returns true when this delete dump Ok response has a 2xx status code +func (o *DeleteDumpOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this delete dump Ok response has a 3xx status code +func (o *DeleteDumpOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this delete dump Ok response has a 4xx status code +func (o *DeleteDumpOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this delete dump Ok response has a 5xx status code +func (o *DeleteDumpOK) IsServerError() bool { + return false +} + +// IsCode returns true when this delete dump Ok response a status code equal to that given +func (o *DeleteDumpOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the delete dump Ok response +func (o *DeleteDumpOK) Code() int { + return 200 +} + func (o *DeleteDumpOK) Error() string { - return fmt.Sprintf("[POST /v1/dumps:batchDelete][%d] deleteDumpOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/dumps:batchDelete][%d] deleteDumpOk %s", 200, payload) +} + +func (o *DeleteDumpOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/dumps:batchDelete][%d] deleteDumpOk %s", 200, payload) } func (o *DeleteDumpOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type DeleteDumpDefault struct { Payload *DeleteDumpDefaultBody } +// IsSuccess returns true when this delete dump default response has a 2xx status code +func (o *DeleteDumpDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this delete dump default response has a 3xx status code +func (o *DeleteDumpDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this delete dump default response has a 4xx status code +func (o *DeleteDumpDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this delete dump default response has a 5xx status code +func (o *DeleteDumpDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this delete dump default response a status code equal to that given +func (o *DeleteDumpDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the delete dump default response func (o *DeleteDumpDefault) Code() int { return o._statusCode } func (o *DeleteDumpDefault) Error() string { - return fmt.Sprintf("[POST /v1/dumps:batchDelete][%d] DeleteDump default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/dumps:batchDelete][%d] DeleteDump default %s", o._statusCode, payload) +} + +func (o *DeleteDumpDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/dumps:batchDelete][%d] DeleteDump default %s", o._statusCode, payload) } func (o *DeleteDumpDefault) GetPayload() *DeleteDumpDefaultBody { @@ -225,6 +293,11 @@ func (o *DeleteDumpDefaultBody) ContextValidate(ctx context.Context, formats str func (o *DeleteDumpDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("DeleteDump default" + "." + "details" + "." + strconv.Itoa(i)) @@ -264,6 +337,80 @@ swagger:model DeleteDumpDefaultBodyDetailsItems0 type DeleteDumpDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // delete dump default body details items0 + DeleteDumpDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *DeleteDumpDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv DeleteDumpDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.DeleteDumpDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o DeleteDumpDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.DeleteDumpDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.DeleteDumpDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this delete dump default body details items0 diff --git a/api/dump/v1beta1/json/client/dump_service/dump_service_client.go b/api/dump/v1beta1/json/client/dump_service/dump_service_client.go index b1c8797af5..4cfe0cd220 100644 --- a/api/dump/v1beta1/json/client/dump_service/dump_service_client.go +++ b/api/dump/v1beta1/json/client/dump_service/dump_service_client.go @@ -7,6 +7,7 @@ package dump_service import ( "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" ) @@ -15,6 +16,31 @@ func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientServi return &Client{transport: transport, formats: formats} } +// New creates a new dump service API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new dump service API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + /* Client for dump service API */ @@ -23,7 +49,7 @@ type Client struct { formats strfmt.Registry } -// ClientOption is the option for Client methods +// ClientOption may be used to customize the behavior of Client methods. type ClientOption func(*runtime.ClientOperation) // ClientService is the interface for Client methods diff --git a/api/dump/v1beta1/json/client/dump_service/get_dump_logs_responses.go b/api/dump/v1beta1/json/client/dump_service/get_dump_logs_responses.go index 403516e70e..0d9fa17804 100644 --- a/api/dump/v1beta1/json/client/dump_service/get_dump_logs_responses.go +++ b/api/dump/v1beta1/json/client/dump_service/get_dump_logs_responses.go @@ -7,6 +7,7 @@ package dump_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type GetDumpLogsOK struct { Payload *GetDumpLogsOKBody } +// IsSuccess returns true when this get dump logs Ok response has a 2xx status code +func (o *GetDumpLogsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get dump logs Ok response has a 3xx status code +func (o *GetDumpLogsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get dump logs Ok response has a 4xx status code +func (o *GetDumpLogsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get dump logs Ok response has a 5xx status code +func (o *GetDumpLogsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get dump logs Ok response a status code equal to that given +func (o *GetDumpLogsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get dump logs Ok response +func (o *GetDumpLogsOK) Code() int { + return 200 +} + func (o *GetDumpLogsOK) Error() string { - return fmt.Sprintf("[GET /v1/dumps/{dump_id}/logs][%d] getDumpLogsOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/dumps/{dump_id}/logs][%d] getDumpLogsOk %s", 200, payload) +} + +func (o *GetDumpLogsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/dumps/{dump_id}/logs][%d] getDumpLogsOk %s", 200, payload) } func (o *GetDumpLogsOK) GetPayload() *GetDumpLogsOKBody { @@ -94,13 +131,44 @@ type GetDumpLogsDefault struct { Payload *GetDumpLogsDefaultBody } +// IsSuccess returns true when this get dump logs default response has a 2xx status code +func (o *GetDumpLogsDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this get dump logs default response has a 3xx status code +func (o *GetDumpLogsDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this get dump logs default response has a 4xx status code +func (o *GetDumpLogsDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this get dump logs default response has a 5xx status code +func (o *GetDumpLogsDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this get dump logs default response a status code equal to that given +func (o *GetDumpLogsDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the get dump logs default response func (o *GetDumpLogsDefault) Code() int { return o._statusCode } func (o *GetDumpLogsDefault) Error() string { - return fmt.Sprintf("[GET /v1/dumps/{dump_id}/logs][%d] GetDumpLogs default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/dumps/{dump_id}/logs][%d] GetDumpLogs default %s", o._statusCode, payload) +} + +func (o *GetDumpLogsDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/dumps/{dump_id}/logs][%d] GetDumpLogs default %s", o._statusCode, payload) } func (o *GetDumpLogsDefault) GetPayload() *GetDumpLogsDefaultBody { @@ -190,6 +258,11 @@ func (o *GetDumpLogsDefaultBody) ContextValidate(ctx context.Context, formats st func (o *GetDumpLogsDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("GetDumpLogs default" + "." + "details" + "." + strconv.Itoa(i)) @@ -229,6 +302,80 @@ swagger:model GetDumpLogsDefaultBodyDetailsItems0 type GetDumpLogsDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // get dump logs default body details items0 + GetDumpLogsDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *GetDumpLogsDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv GetDumpLogsDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.GetDumpLogsDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o GetDumpLogsDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.GetDumpLogsDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.GetDumpLogsDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this get dump logs default body details items0 @@ -328,6 +475,11 @@ func (o *GetDumpLogsOKBody) ContextValidate(ctx context.Context, formats strfmt. func (o *GetDumpLogsOKBody) contextValidateLogs(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Logs); i++ { if o.Logs[i] != nil { + + if swag.IsZero(o.Logs[i]) { // not required + return nil + } + if err := o.Logs[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getDumpLogsOk" + "." + "logs" + "." + strconv.Itoa(i)) diff --git a/api/dump/v1beta1/json/client/dump_service/list_dumps_responses.go b/api/dump/v1beta1/json/client/dump_service/list_dumps_responses.go index 530626f983..994f89d8d0 100644 --- a/api/dump/v1beta1/json/client/dump_service/list_dumps_responses.go +++ b/api/dump/v1beta1/json/client/dump_service/list_dumps_responses.go @@ -59,8 +59,44 @@ type ListDumpsOK struct { Payload *ListDumpsOKBody } +// IsSuccess returns true when this list dumps Ok response has a 2xx status code +func (o *ListDumpsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this list dumps Ok response has a 3xx status code +func (o *ListDumpsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this list dumps Ok response has a 4xx status code +func (o *ListDumpsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this list dumps Ok response has a 5xx status code +func (o *ListDumpsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this list dumps Ok response a status code equal to that given +func (o *ListDumpsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the list dumps Ok response +func (o *ListDumpsOK) Code() int { + return 200 +} + func (o *ListDumpsOK) Error() string { - return fmt.Sprintf("[GET /v1/dumps][%d] listDumpsOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/dumps][%d] listDumpsOk %s", 200, payload) +} + +func (o *ListDumpsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/dumps][%d] listDumpsOk %s", 200, payload) } func (o *ListDumpsOK) GetPayload() *ListDumpsOKBody { @@ -96,13 +132,44 @@ type ListDumpsDefault struct { Payload *ListDumpsDefaultBody } +// IsSuccess returns true when this list dumps default response has a 2xx status code +func (o *ListDumpsDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this list dumps default response has a 3xx status code +func (o *ListDumpsDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this list dumps default response has a 4xx status code +func (o *ListDumpsDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this list dumps default response has a 5xx status code +func (o *ListDumpsDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this list dumps default response a status code equal to that given +func (o *ListDumpsDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the list dumps default response func (o *ListDumpsDefault) Code() int { return o._statusCode } func (o *ListDumpsDefault) Error() string { - return fmt.Sprintf("[GET /v1/dumps][%d] ListDumps default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/dumps][%d] ListDumps default %s", o._statusCode, payload) +} + +func (o *ListDumpsDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/dumps][%d] ListDumps default %s", o._statusCode, payload) } func (o *ListDumpsDefault) GetPayload() *ListDumpsDefaultBody { @@ -192,6 +259,11 @@ func (o *ListDumpsDefaultBody) ContextValidate(ctx context.Context, formats strf func (o *ListDumpsDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ListDumps default" + "." + "details" + "." + strconv.Itoa(i)) @@ -231,6 +303,80 @@ swagger:model ListDumpsDefaultBodyDetailsItems0 type ListDumpsDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // list dumps default body details items0 + ListDumpsDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ListDumpsDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ListDumpsDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ListDumpsDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ListDumpsDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ListDumpsDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ListDumpsDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this list dumps default body details items0 @@ -327,6 +473,11 @@ func (o *ListDumpsOKBody) ContextValidate(ctx context.Context, formats strfmt.Re func (o *ListDumpsOKBody) contextValidateDumps(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Dumps); i++ { if o.Dumps[i] != nil { + + if swag.IsZero(o.Dumps[i]) { // not required + return nil + } + if err := o.Dumps[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listDumpsOk" + "." + "dumps" + "." + strconv.Itoa(i)) @@ -368,7 +519,7 @@ type ListDumpsOKBodyDumpsItems0 struct { DumpID string `json:"dump_id,omitempty"` // status - // Enum: [DUMP_STATUS_UNSPECIFIED DUMP_STATUS_IN_PROGRESS DUMP_STATUS_SUCCESS DUMP_STATUS_ERROR] + // Enum: ["DUMP_STATUS_UNSPECIFIED","DUMP_STATUS_IN_PROGRESS","DUMP_STATUS_SUCCESS","DUMP_STATUS_ERROR"] Status *string `json:"status,omitempty"` // service names diff --git a/api/dump/v1beta1/json/client/dump_service/start_dump_responses.go b/api/dump/v1beta1/json/client/dump_service/start_dump_responses.go index e5044795e3..2833719e04 100644 --- a/api/dump/v1beta1/json/client/dump_service/start_dump_responses.go +++ b/api/dump/v1beta1/json/client/dump_service/start_dump_responses.go @@ -7,6 +7,7 @@ package dump_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -58,8 +59,44 @@ type StartDumpOK struct { Payload *StartDumpOKBody } +// IsSuccess returns true when this start dump Ok response has a 2xx status code +func (o *StartDumpOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this start dump Ok response has a 3xx status code +func (o *StartDumpOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this start dump Ok response has a 4xx status code +func (o *StartDumpOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this start dump Ok response has a 5xx status code +func (o *StartDumpOK) IsServerError() bool { + return false +} + +// IsCode returns true when this start dump Ok response a status code equal to that given +func (o *StartDumpOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the start dump Ok response +func (o *StartDumpOK) Code() int { + return 200 +} + func (o *StartDumpOK) Error() string { - return fmt.Sprintf("[POST /v1/dumps:start][%d] startDumpOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/dumps:start][%d] startDumpOk %s", 200, payload) +} + +func (o *StartDumpOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/dumps:start][%d] startDumpOk %s", 200, payload) } func (o *StartDumpOK) GetPayload() *StartDumpOKBody { @@ -95,13 +132,44 @@ type StartDumpDefault struct { Payload *StartDumpDefaultBody } +// IsSuccess returns true when this start dump default response has a 2xx status code +func (o *StartDumpDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this start dump default response has a 3xx status code +func (o *StartDumpDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this start dump default response has a 4xx status code +func (o *StartDumpDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this start dump default response has a 5xx status code +func (o *StartDumpDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this start dump default response a status code equal to that given +func (o *StartDumpDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the start dump default response func (o *StartDumpDefault) Code() int { return o._statusCode } func (o *StartDumpDefault) Error() string { - return fmt.Sprintf("[POST /v1/dumps:start][%d] StartDump default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/dumps:start][%d] StartDump default %s", o._statusCode, payload) +} + +func (o *StartDumpDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/dumps:start][%d] StartDump default %s", o._statusCode, payload) } func (o *StartDumpDefault) GetPayload() *StartDumpDefaultBody { @@ -279,6 +347,11 @@ func (o *StartDumpDefaultBody) ContextValidate(ctx context.Context, formats strf func (o *StartDumpDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("StartDump default" + "." + "details" + "." + strconv.Itoa(i)) @@ -318,6 +391,80 @@ swagger:model StartDumpDefaultBodyDetailsItems0 type StartDumpDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // start dump default body details items0 + StartDumpDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *StartDumpDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv StartDumpDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.StartDumpDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o StartDumpDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.StartDumpDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.StartDumpDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this start dump default body details items0 diff --git a/api/dump/v1beta1/json/client/dump_service/upload_dump_responses.go b/api/dump/v1beta1/json/client/dump_service/upload_dump_responses.go index fc58967780..d1db708bc7 100644 --- a/api/dump/v1beta1/json/client/dump_service/upload_dump_responses.go +++ b/api/dump/v1beta1/json/client/dump_service/upload_dump_responses.go @@ -7,6 +7,7 @@ package dump_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type UploadDumpOK struct { Payload interface{} } +// IsSuccess returns true when this upload dump Ok response has a 2xx status code +func (o *UploadDumpOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this upload dump Ok response has a 3xx status code +func (o *UploadDumpOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this upload dump Ok response has a 4xx status code +func (o *UploadDumpOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this upload dump Ok response has a 5xx status code +func (o *UploadDumpOK) IsServerError() bool { + return false +} + +// IsCode returns true when this upload dump Ok response a status code equal to that given +func (o *UploadDumpOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the upload dump Ok response +func (o *UploadDumpOK) Code() int { + return 200 +} + func (o *UploadDumpOK) Error() string { - return fmt.Sprintf("[POST /v1/dumps:upload][%d] uploadDumpOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/dumps:upload][%d] uploadDumpOk %s", 200, payload) +} + +func (o *UploadDumpOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/dumps:upload][%d] uploadDumpOk %s", 200, payload) } func (o *UploadDumpOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type UploadDumpDefault struct { Payload *UploadDumpDefaultBody } +// IsSuccess returns true when this upload dump default response has a 2xx status code +func (o *UploadDumpDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this upload dump default response has a 3xx status code +func (o *UploadDumpDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this upload dump default response has a 4xx status code +func (o *UploadDumpDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this upload dump default response has a 5xx status code +func (o *UploadDumpDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this upload dump default response a status code equal to that given +func (o *UploadDumpDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the upload dump default response func (o *UploadDumpDefault) Code() int { return o._statusCode } func (o *UploadDumpDefault) Error() string { - return fmt.Sprintf("[POST /v1/dumps:upload][%d] UploadDump default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/dumps:upload][%d] UploadDump default %s", o._statusCode, payload) +} + +func (o *UploadDumpDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/dumps:upload][%d] UploadDump default %s", o._statusCode, payload) } func (o *UploadDumpDefault) GetPayload() *UploadDumpDefaultBody { @@ -177,6 +245,11 @@ func (o *UploadDumpBody) ContextValidate(ctx context.Context, formats strfmt.Reg func (o *UploadDumpBody) contextValidateSftpParameters(ctx context.Context, formats strfmt.Registry) error { if o.SftpParameters != nil { + + if swag.IsZero(o.SftpParameters) { // not required + return nil + } + if err := o.SftpParameters.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "sftp_parameters") @@ -280,6 +353,11 @@ func (o *UploadDumpDefaultBody) ContextValidate(ctx context.Context, formats str func (o *UploadDumpDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("UploadDump default" + "." + "details" + "." + strconv.Itoa(i)) @@ -319,6 +397,80 @@ swagger:model UploadDumpDefaultBodyDetailsItems0 type UploadDumpDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // upload dump default body details items0 + UploadDumpDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *UploadDumpDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv UploadDumpDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.UploadDumpDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o UploadDumpDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.UploadDumpDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.UploadDumpDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this upload dump default body details items0 diff --git a/api/dump/v1beta1/json/v1beta1.json b/api/dump/v1beta1/json/v1beta1.json index 30693f20d9..c36e0941f4 100644 --- a/api/dump/v1beta1/json/v1beta1.json +++ b/api/dump/v1beta1/json/v1beta1.json @@ -34,19 +34,20 @@ "items": { "type": "object", "properties": { - "created_at": { - "type": "string", - "format": "date-time", - "x-order": 5 - }, "dump_id": { "type": "string", "x-order": 0 }, - "end_time": { + "status": { "type": "string", - "format": "date-time", - "x-order": 4 + "default": "DUMP_STATUS_UNSPECIFIED", + "enum": [ + "DUMP_STATUS_UNSPECIFIED", + "DUMP_STATUS_IN_PROGRESS", + "DUMP_STATUS_SUCCESS", + "DUMP_STATUS_ERROR" + ], + "x-order": 1 }, "service_names": { "type": "array", @@ -60,16 +61,15 @@ "format": "date-time", "x-order": 3 }, - "status": { + "end_time": { "type": "string", - "default": "DUMP_STATUS_UNSPECIFIED", - "enum": [ - "DUMP_STATUS_UNSPECIFIED", - "DUMP_STATUS_IN_PROGRESS", - "DUMP_STATUS_SUCCESS", - "DUMP_STATUS_ERROR" - ], - "x-order": 1 + "format": "date-time", + "x-order": 4 + }, + "created_at": { + "type": "string", + "format": "date-time", + "x-order": 5 } } }, @@ -88,6 +88,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -98,13 +102,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -146,10 +146,6 @@ "schema": { "type": "object", "properties": { - "end": { - "type": "boolean", - "x-order": 1 - }, "logs": { "type": "array", "items": { @@ -168,6 +164,10 @@ } }, "x-order": 0 + }, + "end": { + "type": "boolean", + "x-order": 1 } } } @@ -182,6 +182,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -192,13 +196,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -250,6 +250,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -260,13 +264,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -290,6 +290,18 @@ "schema": { "type": "object", "properties": { + "service_names": { + "type": "array", + "items": { + "type": "string" + }, + "x-order": 0 + }, + "start_time": { + "type": "string", + "format": "date-time", + "x-order": 1 + }, "end_time": { "type": "string", "format": "date-time", @@ -302,18 +314,6 @@ "ignore_load": { "type": "boolean", "x-order": 4 - }, - "service_names": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 0 - }, - "start_time": { - "type": "string", - "format": "date-time", - "x-order": 1 } } } @@ -342,6 +342,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -352,13 +356,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -396,17 +396,17 @@ "type": "string", "x-order": 0 }, - "directory": { + "user": { "type": "string", - "x-order": 3 + "x-order": 1 }, "password": { "type": "string", "x-order": 2 }, - "user": { + "directory": { "type": "string", - "x-order": 1 + "x-order": 3 } }, "x-order": 1 @@ -432,6 +432,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -442,13 +446,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } 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 dfa56c5716..8be01beb6a 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 @@ -59,8 +59,44 @@ type AddAgentOK struct { Payload *AddAgentOKBody } +// IsSuccess returns true when this add agent Ok response has a 2xx status code +func (o *AddAgentOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this add agent Ok response has a 3xx status code +func (o *AddAgentOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this add agent Ok response has a 4xx status code +func (o *AddAgentOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this add agent Ok response has a 5xx status code +func (o *AddAgentOK) IsServerError() bool { + return false +} + +// IsCode returns true when this add agent Ok response a status code equal to that given +func (o *AddAgentOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the add agent Ok response +func (o *AddAgentOK) Code() int { + return 200 +} + func (o *AddAgentOK) Error() string { - return fmt.Sprintf("[POST /v1/inventory/agents][%d] addAgentOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/inventory/agents][%d] addAgentOk %s", 200, payload) +} + +func (o *AddAgentOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/inventory/agents][%d] addAgentOk %s", 200, payload) } func (o *AddAgentOK) GetPayload() *AddAgentOKBody { @@ -96,13 +132,44 @@ type AddAgentDefault struct { Payload *AddAgentDefaultBody } +// IsSuccess returns true when this add agent default response has a 2xx status code +func (o *AddAgentDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this add agent default response has a 3xx status code +func (o *AddAgentDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this add agent default response has a 4xx status code +func (o *AddAgentDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this add agent default response has a 5xx status code +func (o *AddAgentDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this add agent default response a status code equal to that given +func (o *AddAgentDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the add agent default response func (o *AddAgentDefault) Code() int { return o._statusCode } func (o *AddAgentDefault) Error() string { - return fmt.Sprintf("[POST /v1/inventory/agents][%d] AddAgent default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/inventory/agents][%d] AddAgent default %s", o._statusCode, payload) +} + +func (o *AddAgentDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/inventory/agents][%d] AddAgent default %s", o._statusCode, payload) } func (o *AddAgentDefault) GetPayload() *AddAgentDefaultBody { @@ -568,6 +635,11 @@ func (o *AddAgentBody) ContextValidate(ctx context.Context, formats strfmt.Regis func (o *AddAgentBody) contextValidateAzureDatabaseExporter(ctx context.Context, formats strfmt.Registry) error { if o.AzureDatabaseExporter != nil { + + if swag.IsZero(o.AzureDatabaseExporter) { // not required + return nil + } + if err := o.AzureDatabaseExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "azure_database_exporter") @@ -583,6 +655,11 @@ func (o *AddAgentBody) contextValidateAzureDatabaseExporter(ctx context.Context, func (o *AddAgentBody) contextValidateExternalExporter(ctx context.Context, formats strfmt.Registry) error { if o.ExternalExporter != nil { + + if swag.IsZero(o.ExternalExporter) { // not required + return nil + } + if err := o.ExternalExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "external_exporter") @@ -598,6 +675,11 @@ func (o *AddAgentBody) contextValidateExternalExporter(ctx context.Context, form func (o *AddAgentBody) contextValidateMongodbExporter(ctx context.Context, formats strfmt.Registry) error { if o.MongodbExporter != nil { + + if swag.IsZero(o.MongodbExporter) { // not required + return nil + } + if err := o.MongodbExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "mongodb_exporter") @@ -613,6 +695,11 @@ func (o *AddAgentBody) contextValidateMongodbExporter(ctx context.Context, forma func (o *AddAgentBody) contextValidateMysqldExporter(ctx context.Context, formats strfmt.Registry) error { if o.MysqldExporter != nil { + + if swag.IsZero(o.MysqldExporter) { // not required + return nil + } + if err := o.MysqldExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "mysqld_exporter") @@ -628,6 +715,11 @@ func (o *AddAgentBody) contextValidateMysqldExporter(ctx context.Context, format func (o *AddAgentBody) contextValidateNodeExporter(ctx context.Context, formats strfmt.Registry) error { if o.NodeExporter != nil { + + if swag.IsZero(o.NodeExporter) { // not required + return nil + } + if err := o.NodeExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "node_exporter") @@ -643,6 +735,11 @@ func (o *AddAgentBody) contextValidateNodeExporter(ctx context.Context, formats func (o *AddAgentBody) contextValidatePMMAgent(ctx context.Context, formats strfmt.Registry) error { if o.PMMAgent != nil { + + if swag.IsZero(o.PMMAgent) { // not required + return nil + } + if err := o.PMMAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "pmm_agent") @@ -658,6 +755,11 @@ func (o *AddAgentBody) contextValidatePMMAgent(ctx context.Context, formats strf func (o *AddAgentBody) contextValidatePostgresExporter(ctx context.Context, formats strfmt.Registry) error { if o.PostgresExporter != nil { + + if swag.IsZero(o.PostgresExporter) { // not required + return nil + } + if err := o.PostgresExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "postgres_exporter") @@ -673,6 +775,11 @@ func (o *AddAgentBody) contextValidatePostgresExporter(ctx context.Context, form func (o *AddAgentBody) contextValidateProxysqlExporter(ctx context.Context, formats strfmt.Registry) error { if o.ProxysqlExporter != nil { + + if swag.IsZero(o.ProxysqlExporter) { // not required + return nil + } + if err := o.ProxysqlExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "proxysql_exporter") @@ -688,6 +795,11 @@ func (o *AddAgentBody) contextValidateProxysqlExporter(ctx context.Context, form func (o *AddAgentBody) contextValidateQANMongodbProfilerAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANMongodbProfilerAgent != nil { + + if swag.IsZero(o.QANMongodbProfilerAgent) { // not required + return nil + } + if err := o.QANMongodbProfilerAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "qan_mongodb_profiler_agent") @@ -703,6 +815,11 @@ func (o *AddAgentBody) contextValidateQANMongodbProfilerAgent(ctx context.Contex func (o *AddAgentBody) contextValidateQANMysqlPerfschemaAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANMysqlPerfschemaAgent != nil { + + if swag.IsZero(o.QANMysqlPerfschemaAgent) { // not required + return nil + } + if err := o.QANMysqlPerfschemaAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "qan_mysql_perfschema_agent") @@ -718,6 +835,11 @@ func (o *AddAgentBody) contextValidateQANMysqlPerfschemaAgent(ctx context.Contex func (o *AddAgentBody) contextValidateQANMysqlSlowlogAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANMysqlSlowlogAgent != nil { + + if swag.IsZero(o.QANMysqlSlowlogAgent) { // not required + return nil + } + if err := o.QANMysqlSlowlogAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "qan_mysql_slowlog_agent") @@ -733,6 +855,11 @@ func (o *AddAgentBody) contextValidateQANMysqlSlowlogAgent(ctx context.Context, func (o *AddAgentBody) contextValidateQANPostgresqlPgstatementsAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANPostgresqlPgstatementsAgent != nil { + + if swag.IsZero(o.QANPostgresqlPgstatementsAgent) { // not required + return nil + } + if err := o.QANPostgresqlPgstatementsAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "qan_postgresql_pgstatements_agent") @@ -748,6 +875,11 @@ func (o *AddAgentBody) contextValidateQANPostgresqlPgstatementsAgent(ctx context func (o *AddAgentBody) contextValidateQANPostgresqlPgstatmonitorAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANPostgresqlPgstatmonitorAgent != nil { + + if swag.IsZero(o.QANPostgresqlPgstatmonitorAgent) { // not required + return nil + } + if err := o.QANPostgresqlPgstatmonitorAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "qan_postgresql_pgstatmonitor_agent") @@ -763,6 +895,11 @@ func (o *AddAgentBody) contextValidateQANPostgresqlPgstatmonitorAgent(ctx contex func (o *AddAgentBody) contextValidateRDSExporter(ctx context.Context, formats strfmt.Registry) error { if o.RDSExporter != nil { + + if swag.IsZero(o.RDSExporter) { // not required + return nil + } + if err := o.RDSExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "rds_exporter") @@ -866,6 +1003,11 @@ func (o *AddAgentDefaultBody) ContextValidate(ctx context.Context, formats strfm func (o *AddAgentDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("AddAgent default" + "." + "details" + "." + strconv.Itoa(i)) @@ -905,6 +1047,80 @@ swagger:model AddAgentDefaultBodyDetailsItems0 type AddAgentDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // add agent default body details items0 + AddAgentDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *AddAgentDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv AddAgentDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.AddAgentDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o AddAgentDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.AddAgentDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.AddAgentDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this add agent default body details items0 @@ -1383,6 +1599,11 @@ func (o *AddAgentOKBody) ContextValidate(ctx context.Context, formats strfmt.Reg func (o *AddAgentOKBody) contextValidateAzureDatabaseExporter(ctx context.Context, formats strfmt.Registry) error { if o.AzureDatabaseExporter != nil { + + if swag.IsZero(o.AzureDatabaseExporter) { // not required + return nil + } + if err := o.AzureDatabaseExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addAgentOk" + "." + "azure_database_exporter") @@ -1398,6 +1619,11 @@ func (o *AddAgentOKBody) contextValidateAzureDatabaseExporter(ctx context.Contex func (o *AddAgentOKBody) contextValidateExternalExporter(ctx context.Context, formats strfmt.Registry) error { if o.ExternalExporter != nil { + + if swag.IsZero(o.ExternalExporter) { // not required + return nil + } + if err := o.ExternalExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addAgentOk" + "." + "external_exporter") @@ -1413,6 +1639,11 @@ func (o *AddAgentOKBody) contextValidateExternalExporter(ctx context.Context, fo func (o *AddAgentOKBody) contextValidateMongodbExporter(ctx context.Context, formats strfmt.Registry) error { if o.MongodbExporter != nil { + + if swag.IsZero(o.MongodbExporter) { // not required + return nil + } + if err := o.MongodbExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addAgentOk" + "." + "mongodb_exporter") @@ -1428,6 +1659,11 @@ func (o *AddAgentOKBody) contextValidateMongodbExporter(ctx context.Context, for func (o *AddAgentOKBody) contextValidateMysqldExporter(ctx context.Context, formats strfmt.Registry) error { if o.MysqldExporter != nil { + + if swag.IsZero(o.MysqldExporter) { // not required + return nil + } + if err := o.MysqldExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addAgentOk" + "." + "mysqld_exporter") @@ -1443,6 +1679,11 @@ func (o *AddAgentOKBody) contextValidateMysqldExporter(ctx context.Context, form func (o *AddAgentOKBody) contextValidateNodeExporter(ctx context.Context, formats strfmt.Registry) error { if o.NodeExporter != nil { + + if swag.IsZero(o.NodeExporter) { // not required + return nil + } + if err := o.NodeExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addAgentOk" + "." + "node_exporter") @@ -1458,6 +1699,11 @@ func (o *AddAgentOKBody) contextValidateNodeExporter(ctx context.Context, format func (o *AddAgentOKBody) contextValidatePMMAgent(ctx context.Context, formats strfmt.Registry) error { if o.PMMAgent != nil { + + if swag.IsZero(o.PMMAgent) { // not required + return nil + } + if err := o.PMMAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addAgentOk" + "." + "pmm_agent") @@ -1473,6 +1719,11 @@ func (o *AddAgentOKBody) contextValidatePMMAgent(ctx context.Context, formats st func (o *AddAgentOKBody) contextValidatePostgresExporter(ctx context.Context, formats strfmt.Registry) error { if o.PostgresExporter != nil { + + if swag.IsZero(o.PostgresExporter) { // not required + return nil + } + if err := o.PostgresExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addAgentOk" + "." + "postgres_exporter") @@ -1488,6 +1739,11 @@ func (o *AddAgentOKBody) contextValidatePostgresExporter(ctx context.Context, fo func (o *AddAgentOKBody) contextValidateProxysqlExporter(ctx context.Context, formats strfmt.Registry) error { if o.ProxysqlExporter != nil { + + if swag.IsZero(o.ProxysqlExporter) { // not required + return nil + } + if err := o.ProxysqlExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addAgentOk" + "." + "proxysql_exporter") @@ -1503,6 +1759,11 @@ func (o *AddAgentOKBody) contextValidateProxysqlExporter(ctx context.Context, fo func (o *AddAgentOKBody) contextValidateQANMongodbProfilerAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANMongodbProfilerAgent != nil { + + if swag.IsZero(o.QANMongodbProfilerAgent) { // not required + return nil + } + if err := o.QANMongodbProfilerAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addAgentOk" + "." + "qan_mongodb_profiler_agent") @@ -1518,6 +1779,11 @@ func (o *AddAgentOKBody) contextValidateQANMongodbProfilerAgent(ctx context.Cont func (o *AddAgentOKBody) contextValidateQANMysqlPerfschemaAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANMysqlPerfschemaAgent != nil { + + if swag.IsZero(o.QANMysqlPerfschemaAgent) { // not required + return nil + } + if err := o.QANMysqlPerfschemaAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addAgentOk" + "." + "qan_mysql_perfschema_agent") @@ -1533,6 +1799,11 @@ func (o *AddAgentOKBody) contextValidateQANMysqlPerfschemaAgent(ctx context.Cont func (o *AddAgentOKBody) contextValidateQANMysqlSlowlogAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANMysqlSlowlogAgent != nil { + + if swag.IsZero(o.QANMysqlSlowlogAgent) { // not required + return nil + } + if err := o.QANMysqlSlowlogAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addAgentOk" + "." + "qan_mysql_slowlog_agent") @@ -1548,6 +1819,11 @@ func (o *AddAgentOKBody) contextValidateQANMysqlSlowlogAgent(ctx context.Context func (o *AddAgentOKBody) contextValidateQANPostgresqlPgstatementsAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANPostgresqlPgstatementsAgent != nil { + + if swag.IsZero(o.QANPostgresqlPgstatementsAgent) { // not required + return nil + } + if err := o.QANPostgresqlPgstatementsAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addAgentOk" + "." + "qan_postgresql_pgstatements_agent") @@ -1563,6 +1839,11 @@ func (o *AddAgentOKBody) contextValidateQANPostgresqlPgstatementsAgent(ctx conte func (o *AddAgentOKBody) contextValidateQANPostgresqlPgstatmonitorAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANPostgresqlPgstatmonitorAgent != nil { + + if swag.IsZero(o.QANPostgresqlPgstatmonitorAgent) { // not required + return nil + } + if err := o.QANPostgresqlPgstatmonitorAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addAgentOk" + "." + "qan_postgresql_pgstatmonitor_agent") @@ -1578,6 +1859,11 @@ func (o *AddAgentOKBody) contextValidateQANPostgresqlPgstatmonitorAgent(ctx cont func (o *AddAgentOKBody) contextValidateRDSExporter(ctx context.Context, formats strfmt.Registry) error { if o.RDSExporter != nil { + + if swag.IsZero(o.RDSExporter) { // not required + return nil + } + if err := o.RDSExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addAgentOk" + "." + "rds_exporter") @@ -1644,7 +1930,7 @@ type AddAgentOKBodyAzureDatabaseExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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 (the same for several configurations). @@ -1659,7 +1945,7 @@ type AddAgentOKBodyAzureDatabaseExporter struct { // 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] + // 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 @@ -1837,6 +2123,11 @@ func (o *AddAgentOKBodyAzureDatabaseExporter) ContextValidate(ctx context.Contex func (o *AddAgentOKBodyAzureDatabaseExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addAgentOk" + "." + "azure_database_exporter" + "." + "metrics_resolutions") @@ -2002,6 +2293,11 @@ func (o *AddAgentOKBodyExternalExporter) ContextValidate(ctx context.Context, fo func (o *AddAgentOKBodyExternalExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addAgentOk" + "." + "external_exporter" + "." + "metrics_resolutions") @@ -2120,7 +2416,7 @@ type AddAgentOKBodyMongodbExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -2142,7 +2438,7 @@ type AddAgentOKBodyMongodbExporter struct { // 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] + // 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 @@ -2323,6 +2619,11 @@ func (o *AddAgentOKBodyMongodbExporter) ContextValidate(ctx context.Context, for func (o *AddAgentOKBodyMongodbExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addAgentOk" + "." + "mongodb_exporter" + "." + "metrics_resolutions") @@ -2458,7 +2759,7 @@ type AddAgentOKBodyMysqldExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -2473,7 +2774,7 @@ type AddAgentOKBodyMysqldExporter struct { // 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] + // 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 @@ -2654,6 +2955,11 @@ func (o *AddAgentOKBodyMysqldExporter) ContextValidate(ctx context.Context, form func (o *AddAgentOKBodyMysqldExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addAgentOk" + "." + "mysqld_exporter" + "." + "metrics_resolutions") @@ -2760,7 +3066,7 @@ type AddAgentOKBodyNodeExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -2772,7 +3078,7 @@ type AddAgentOKBodyNodeExporter struct { // 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] + // 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 @@ -2953,6 +3259,11 @@ func (o *AddAgentOKBodyNodeExporter) ContextValidate(ctx context.Context, format func (o *AddAgentOKBodyNodeExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addAgentOk" + "." + "node_exporter" + "." + "metrics_resolutions") @@ -3120,7 +3431,7 @@ type AddAgentOKBodyPostgresExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -3132,7 +3443,7 @@ type AddAgentOKBodyPostgresExporter struct { // 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] + // 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. @@ -3319,6 +3630,11 @@ func (o *AddAgentOKBodyPostgresExporter) ContextValidate(ctx context.Context, fo func (o *AddAgentOKBodyPostgresExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addAgentOk" + "." + "postgres_exporter" + "." + "metrics_resolutions") @@ -3437,7 +3753,7 @@ type AddAgentOKBodyProxysqlExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -3449,7 +3765,7 @@ type AddAgentOKBodyProxysqlExporter struct { // 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] + // 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 @@ -3630,6 +3946,11 @@ func (o *AddAgentOKBodyProxysqlExporter) ContextValidate(ctx context.Context, fo func (o *AddAgentOKBodyProxysqlExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addAgentOk" + "." + "proxysql_exporter" + "." + "metrics_resolutions") @@ -3745,7 +4066,7 @@ type AddAgentOKBodyQANMongodbProfilerAgent struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. @@ -3754,7 +4075,7 @@ type AddAgentOKBodyQANMongodbProfilerAgent struct { // 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] + // 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"` } @@ -3969,7 +4290,7 @@ type AddAgentOKBodyQANMysqlPerfschemaAgent struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. @@ -3978,7 +4299,7 @@ type AddAgentOKBodyQANMysqlPerfschemaAgent struct { // 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] + // 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"` } @@ -4196,7 +4517,7 @@ type AddAgentOKBodyQANMysqlSlowlogAgent struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // mod tidy @@ -4205,7 +4526,7 @@ type AddAgentOKBodyQANMysqlSlowlogAgent struct { // 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] + // 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"` } @@ -4408,7 +4729,7 @@ type AddAgentOKBodyQANPostgresqlPgstatementsAgent struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. @@ -4417,7 +4738,7 @@ type AddAgentOKBodyQANPostgresqlPgstatementsAgent struct { // 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] + // 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"` } @@ -4623,7 +4944,7 @@ type AddAgentOKBodyQANPostgresqlPgstatmonitorAgent struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. @@ -4632,7 +4953,7 @@ type AddAgentOKBodyQANPostgresqlPgstatmonitorAgent struct { // 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] + // 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"` } @@ -4823,7 +5144,7 @@ type AddAgentOKBodyRDSExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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 (the same for several configurations). @@ -4844,7 +5165,7 @@ type AddAgentOKBodyRDSExporter struct { // 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] + // 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. @@ -5025,6 +5346,11 @@ func (o *AddAgentOKBodyRDSExporter) ContextValidate(ctx context.Context, formats func (o *AddAgentOKBodyRDSExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addAgentOk" + "." + "rds_exporter" + "." + "metrics_resolutions") @@ -5140,7 +5466,7 @@ type AddAgentParamsBodyAzureDatabaseExporter struct { // 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] + // 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"` } @@ -5361,7 +5687,7 @@ type AddAgentParamsBodyMongodbExporter struct { // 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] + // 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 @@ -5514,7 +5840,7 @@ type AddAgentParamsBodyMysqldExporter struct { // 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] + // 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 @@ -5632,7 +5958,7 @@ type AddAgentParamsBodyNodeExporter struct { // 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] + // 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 @@ -5820,7 +6146,7 @@ type AddAgentParamsBodyPostgresExporter struct { // 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] + // 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. @@ -5965,7 +6291,7 @@ type AddAgentParamsBodyProxysqlExporter struct { // 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] + // 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 @@ -6115,7 +6441,7 @@ type AddAgentParamsBodyQANMongodbProfilerAgent struct { // 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] + // 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"` } @@ -6260,7 +6586,7 @@ type AddAgentParamsBodyQANMysqlPerfschemaAgent struct { // 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] + // 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"` } @@ -6409,7 +6735,7 @@ type AddAgentParamsBodyQANMysqlSlowlogAgent struct { // 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] + // 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"` } @@ -6551,7 +6877,7 @@ type AddAgentParamsBodyQANPostgresqlPgstatementsAgent struct { // 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] + // 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"` } @@ -6696,7 +7022,7 @@ type AddAgentParamsBodyQANPostgresqlPgstatmonitorAgent struct { // 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] + // 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"` } @@ -6826,7 +7152,7 @@ type AddAgentParamsBodyRDSExporter struct { // 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] + // 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"` } diff --git a/api/inventory/v1/json/client/agents_service/agents_service_client.go b/api/inventory/v1/json/client/agents_service/agents_service_client.go index 86974b6cc8..d0fb1a268e 100644 --- a/api/inventory/v1/json/client/agents_service/agents_service_client.go +++ b/api/inventory/v1/json/client/agents_service/agents_service_client.go @@ -7,6 +7,7 @@ package agents_service import ( "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" ) @@ -15,6 +16,31 @@ func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientServi return &Client{transport: transport, formats: formats} } +// New creates a new agents service API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new agents service API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + /* Client for agents service API */ @@ -23,7 +49,7 @@ type Client struct { formats strfmt.Registry } -// ClientOption is the option for Client methods +// ClientOption may be used to customize the behavior of Client methods. type ClientOption func(*runtime.ClientOperation) // ClientService is the interface for Client methods 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 5b7ba1f8e5..b9fa681e38 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 @@ -59,8 +59,44 @@ type ChangeAgentOK struct { Payload *ChangeAgentOKBody } +// IsSuccess returns true when this change agent Ok response has a 2xx status code +func (o *ChangeAgentOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this change agent Ok response has a 3xx status code +func (o *ChangeAgentOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this change agent Ok response has a 4xx status code +func (o *ChangeAgentOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this change agent Ok response has a 5xx status code +func (o *ChangeAgentOK) IsServerError() bool { + return false +} + +// IsCode returns true when this change agent Ok response a status code equal to that given +func (o *ChangeAgentOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the change agent Ok response +func (o *ChangeAgentOK) Code() int { + return 200 +} + func (o *ChangeAgentOK) Error() string { - return fmt.Sprintf("[PUT /v1/inventory/agents/{agent_id}][%d] changeAgentOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/inventory/agents/{agent_id}][%d] changeAgentOk %s", 200, payload) +} + +func (o *ChangeAgentOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/inventory/agents/{agent_id}][%d] changeAgentOk %s", 200, payload) } func (o *ChangeAgentOK) GetPayload() *ChangeAgentOKBody { @@ -96,13 +132,44 @@ type ChangeAgentDefault struct { Payload *ChangeAgentDefaultBody } +// IsSuccess returns true when this change agent default response has a 2xx status code +func (o *ChangeAgentDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this change agent default response has a 3xx status code +func (o *ChangeAgentDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this change agent default response has a 4xx status code +func (o *ChangeAgentDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this change agent default response has a 5xx status code +func (o *ChangeAgentDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this change agent default response a status code equal to that given +func (o *ChangeAgentDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the change agent default response func (o *ChangeAgentDefault) Code() int { return o._statusCode } func (o *ChangeAgentDefault) Error() string { - return fmt.Sprintf("[PUT /v1/inventory/agents/{agent_id}][%d] ChangeAgent default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/inventory/agents/{agent_id}][%d] ChangeAgent default %s", o._statusCode, payload) +} + +func (o *ChangeAgentDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/inventory/agents/{agent_id}][%d] ChangeAgent default %s", o._statusCode, payload) } func (o *ChangeAgentDefault) GetPayload() *ChangeAgentDefaultBody { @@ -538,6 +605,11 @@ func (o *ChangeAgentBody) ContextValidate(ctx context.Context, formats strfmt.Re func (o *ChangeAgentBody) contextValidateAzureDatabaseExporter(ctx context.Context, formats strfmt.Registry) error { if o.AzureDatabaseExporter != nil { + + if swag.IsZero(o.AzureDatabaseExporter) { // not required + return nil + } + if err := o.AzureDatabaseExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "azure_database_exporter") @@ -553,6 +625,11 @@ func (o *ChangeAgentBody) contextValidateAzureDatabaseExporter(ctx context.Conte func (o *ChangeAgentBody) contextValidateExternalExporter(ctx context.Context, formats strfmt.Registry) error { if o.ExternalExporter != nil { + + if swag.IsZero(o.ExternalExporter) { // not required + return nil + } + if err := o.ExternalExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "external_exporter") @@ -568,6 +645,11 @@ func (o *ChangeAgentBody) contextValidateExternalExporter(ctx context.Context, f func (o *ChangeAgentBody) contextValidateMongodbExporter(ctx context.Context, formats strfmt.Registry) error { if o.MongodbExporter != nil { + + if swag.IsZero(o.MongodbExporter) { // not required + return nil + } + if err := o.MongodbExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "mongodb_exporter") @@ -583,6 +665,11 @@ func (o *ChangeAgentBody) contextValidateMongodbExporter(ctx context.Context, fo func (o *ChangeAgentBody) contextValidateMysqldExporter(ctx context.Context, formats strfmt.Registry) error { if o.MysqldExporter != nil { + + if swag.IsZero(o.MysqldExporter) { // not required + return nil + } + if err := o.MysqldExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "mysqld_exporter") @@ -598,6 +685,11 @@ func (o *ChangeAgentBody) contextValidateMysqldExporter(ctx context.Context, for func (o *ChangeAgentBody) contextValidateNodeExporter(ctx context.Context, formats strfmt.Registry) error { if o.NodeExporter != nil { + + if swag.IsZero(o.NodeExporter) { // not required + return nil + } + if err := o.NodeExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "node_exporter") @@ -613,6 +705,11 @@ func (o *ChangeAgentBody) contextValidateNodeExporter(ctx context.Context, forma func (o *ChangeAgentBody) contextValidatePostgresExporter(ctx context.Context, formats strfmt.Registry) error { if o.PostgresExporter != nil { + + if swag.IsZero(o.PostgresExporter) { // not required + return nil + } + if err := o.PostgresExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "postgres_exporter") @@ -628,6 +725,11 @@ func (o *ChangeAgentBody) contextValidatePostgresExporter(ctx context.Context, f func (o *ChangeAgentBody) contextValidateProxysqlExporter(ctx context.Context, formats strfmt.Registry) error { if o.ProxysqlExporter != nil { + + if swag.IsZero(o.ProxysqlExporter) { // not required + return nil + } + if err := o.ProxysqlExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "proxysql_exporter") @@ -643,6 +745,11 @@ func (o *ChangeAgentBody) contextValidateProxysqlExporter(ctx context.Context, f func (o *ChangeAgentBody) contextValidateQANMongodbProfilerAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANMongodbProfilerAgent != nil { + + if swag.IsZero(o.QANMongodbProfilerAgent) { // not required + return nil + } + if err := o.QANMongodbProfilerAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "qan_mongodb_profiler_agent") @@ -658,6 +765,11 @@ func (o *ChangeAgentBody) contextValidateQANMongodbProfilerAgent(ctx context.Con func (o *ChangeAgentBody) contextValidateQANMysqlPerfschemaAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANMysqlPerfschemaAgent != nil { + + if swag.IsZero(o.QANMysqlPerfschemaAgent) { // not required + return nil + } + if err := o.QANMysqlPerfschemaAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "qan_mysql_perfschema_agent") @@ -673,6 +785,11 @@ func (o *ChangeAgentBody) contextValidateQANMysqlPerfschemaAgent(ctx context.Con func (o *ChangeAgentBody) contextValidateQANMysqlSlowlogAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANMysqlSlowlogAgent != nil { + + if swag.IsZero(o.QANMysqlSlowlogAgent) { // not required + return nil + } + if err := o.QANMysqlSlowlogAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "qan_mysql_slowlog_agent") @@ -688,6 +805,11 @@ func (o *ChangeAgentBody) contextValidateQANMysqlSlowlogAgent(ctx context.Contex func (o *ChangeAgentBody) contextValidateQANPostgresqlPgstatementsAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANPostgresqlPgstatementsAgent != nil { + + if swag.IsZero(o.QANPostgresqlPgstatementsAgent) { // not required + return nil + } + if err := o.QANPostgresqlPgstatementsAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "qan_postgresql_pgstatements_agent") @@ -703,6 +825,11 @@ func (o *ChangeAgentBody) contextValidateQANPostgresqlPgstatementsAgent(ctx cont func (o *ChangeAgentBody) contextValidateQANPostgresqlPgstatmonitorAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANPostgresqlPgstatmonitorAgent != nil { + + if swag.IsZero(o.QANPostgresqlPgstatmonitorAgent) { // not required + return nil + } + if err := o.QANPostgresqlPgstatmonitorAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "qan_postgresql_pgstatmonitor_agent") @@ -718,6 +845,11 @@ func (o *ChangeAgentBody) contextValidateQANPostgresqlPgstatmonitorAgent(ctx con func (o *ChangeAgentBody) contextValidateRDSExporter(ctx context.Context, formats strfmt.Registry) error { if o.RDSExporter != nil { + + if swag.IsZero(o.RDSExporter) { // not required + return nil + } + if err := o.RDSExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "rds_exporter") @@ -821,6 +953,11 @@ func (o *ChangeAgentDefaultBody) ContextValidate(ctx context.Context, formats st func (o *ChangeAgentDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ChangeAgent default" + "." + "details" + "." + strconv.Itoa(i)) @@ -860,6 +997,80 @@ swagger:model ChangeAgentDefaultBodyDetailsItems0 type ChangeAgentDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // change agent default body details items0 + ChangeAgentDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ChangeAgentDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ChangeAgentDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ChangeAgentDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ChangeAgentDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ChangeAgentDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ChangeAgentDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this change agent default body details items0 @@ -1308,6 +1519,11 @@ func (o *ChangeAgentOKBody) ContextValidate(ctx context.Context, formats strfmt. func (o *ChangeAgentOKBody) contextValidateAzureDatabaseExporter(ctx context.Context, formats strfmt.Registry) error { if o.AzureDatabaseExporter != nil { + + if swag.IsZero(o.AzureDatabaseExporter) { // not required + return nil + } + if err := o.AzureDatabaseExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeAgentOk" + "." + "azure_database_exporter") @@ -1323,6 +1539,11 @@ func (o *ChangeAgentOKBody) contextValidateAzureDatabaseExporter(ctx context.Con func (o *ChangeAgentOKBody) contextValidateExternalExporter(ctx context.Context, formats strfmt.Registry) error { if o.ExternalExporter != nil { + + if swag.IsZero(o.ExternalExporter) { // not required + return nil + } + if err := o.ExternalExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeAgentOk" + "." + "external_exporter") @@ -1338,6 +1559,11 @@ func (o *ChangeAgentOKBody) contextValidateExternalExporter(ctx context.Context, func (o *ChangeAgentOKBody) contextValidateMongodbExporter(ctx context.Context, formats strfmt.Registry) error { if o.MongodbExporter != nil { + + if swag.IsZero(o.MongodbExporter) { // not required + return nil + } + if err := o.MongodbExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeAgentOk" + "." + "mongodb_exporter") @@ -1353,6 +1579,11 @@ func (o *ChangeAgentOKBody) contextValidateMongodbExporter(ctx context.Context, func (o *ChangeAgentOKBody) contextValidateMysqldExporter(ctx context.Context, formats strfmt.Registry) error { if o.MysqldExporter != nil { + + if swag.IsZero(o.MysqldExporter) { // not required + return nil + } + if err := o.MysqldExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeAgentOk" + "." + "mysqld_exporter") @@ -1368,6 +1599,11 @@ func (o *ChangeAgentOKBody) contextValidateMysqldExporter(ctx context.Context, f func (o *ChangeAgentOKBody) contextValidateNodeExporter(ctx context.Context, formats strfmt.Registry) error { if o.NodeExporter != nil { + + if swag.IsZero(o.NodeExporter) { // not required + return nil + } + if err := o.NodeExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeAgentOk" + "." + "node_exporter") @@ -1383,6 +1619,11 @@ func (o *ChangeAgentOKBody) contextValidateNodeExporter(ctx context.Context, for func (o *ChangeAgentOKBody) contextValidatePostgresExporter(ctx context.Context, formats strfmt.Registry) error { if o.PostgresExporter != nil { + + if swag.IsZero(o.PostgresExporter) { // not required + return nil + } + if err := o.PostgresExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeAgentOk" + "." + "postgres_exporter") @@ -1398,6 +1639,11 @@ func (o *ChangeAgentOKBody) contextValidatePostgresExporter(ctx context.Context, func (o *ChangeAgentOKBody) contextValidateProxysqlExporter(ctx context.Context, formats strfmt.Registry) error { if o.ProxysqlExporter != nil { + + if swag.IsZero(o.ProxysqlExporter) { // not required + return nil + } + if err := o.ProxysqlExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeAgentOk" + "." + "proxysql_exporter") @@ -1413,6 +1659,11 @@ func (o *ChangeAgentOKBody) contextValidateProxysqlExporter(ctx context.Context, func (o *ChangeAgentOKBody) contextValidateQANMongodbProfilerAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANMongodbProfilerAgent != nil { + + if swag.IsZero(o.QANMongodbProfilerAgent) { // not required + return nil + } + if err := o.QANMongodbProfilerAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeAgentOk" + "." + "qan_mongodb_profiler_agent") @@ -1428,6 +1679,11 @@ func (o *ChangeAgentOKBody) contextValidateQANMongodbProfilerAgent(ctx context.C func (o *ChangeAgentOKBody) contextValidateQANMysqlPerfschemaAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANMysqlPerfschemaAgent != nil { + + if swag.IsZero(o.QANMysqlPerfschemaAgent) { // not required + return nil + } + if err := o.QANMysqlPerfschemaAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeAgentOk" + "." + "qan_mysql_perfschema_agent") @@ -1443,6 +1699,11 @@ func (o *ChangeAgentOKBody) contextValidateQANMysqlPerfschemaAgent(ctx context.C func (o *ChangeAgentOKBody) contextValidateQANMysqlSlowlogAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANMysqlSlowlogAgent != nil { + + if swag.IsZero(o.QANMysqlSlowlogAgent) { // not required + return nil + } + if err := o.QANMysqlSlowlogAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeAgentOk" + "." + "qan_mysql_slowlog_agent") @@ -1458,6 +1719,11 @@ func (o *ChangeAgentOKBody) contextValidateQANMysqlSlowlogAgent(ctx context.Cont func (o *ChangeAgentOKBody) contextValidateQANPostgresqlPgstatementsAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANPostgresqlPgstatementsAgent != nil { + + if swag.IsZero(o.QANPostgresqlPgstatementsAgent) { // not required + return nil + } + if err := o.QANPostgresqlPgstatementsAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeAgentOk" + "." + "qan_postgresql_pgstatements_agent") @@ -1473,6 +1739,11 @@ func (o *ChangeAgentOKBody) contextValidateQANPostgresqlPgstatementsAgent(ctx co func (o *ChangeAgentOKBody) contextValidateQANPostgresqlPgstatmonitorAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANPostgresqlPgstatmonitorAgent != nil { + + if swag.IsZero(o.QANPostgresqlPgstatmonitorAgent) { // not required + return nil + } + if err := o.QANPostgresqlPgstatmonitorAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeAgentOk" + "." + "qan_postgresql_pgstatmonitor_agent") @@ -1488,6 +1759,11 @@ func (o *ChangeAgentOKBody) contextValidateQANPostgresqlPgstatmonitorAgent(ctx c func (o *ChangeAgentOKBody) contextValidateRDSExporter(ctx context.Context, formats strfmt.Registry) error { if o.RDSExporter != nil { + + if swag.IsZero(o.RDSExporter) { // not required + return nil + } + if err := o.RDSExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeAgentOk" + "." + "rds_exporter") @@ -1554,7 +1830,7 @@ type ChangeAgentOKBodyAzureDatabaseExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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 (the same for several configurations). @@ -1569,7 +1845,7 @@ type ChangeAgentOKBodyAzureDatabaseExporter struct { // 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] + // 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 @@ -1747,6 +2023,11 @@ func (o *ChangeAgentOKBodyAzureDatabaseExporter) ContextValidate(ctx context.Con func (o *ChangeAgentOKBodyAzureDatabaseExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeAgentOk" + "." + "azure_database_exporter" + "." + "metrics_resolutions") @@ -1912,6 +2193,11 @@ func (o *ChangeAgentOKBodyExternalExporter) ContextValidate(ctx context.Context, func (o *ChangeAgentOKBodyExternalExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeAgentOk" + "." + "external_exporter" + "." + "metrics_resolutions") @@ -2030,7 +2316,7 @@ type ChangeAgentOKBodyMongodbExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -2052,7 +2338,7 @@ type ChangeAgentOKBodyMongodbExporter struct { // 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] + // 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 @@ -2233,6 +2519,11 @@ func (o *ChangeAgentOKBodyMongodbExporter) ContextValidate(ctx context.Context, func (o *ChangeAgentOKBodyMongodbExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeAgentOk" + "." + "mongodb_exporter" + "." + "metrics_resolutions") @@ -2368,7 +2659,7 @@ type ChangeAgentOKBodyMysqldExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -2383,7 +2674,7 @@ type ChangeAgentOKBodyMysqldExporter struct { // 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] + // 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 @@ -2564,6 +2855,11 @@ func (o *ChangeAgentOKBodyMysqldExporter) ContextValidate(ctx context.Context, f func (o *ChangeAgentOKBodyMysqldExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeAgentOk" + "." + "mysqld_exporter" + "." + "metrics_resolutions") @@ -2670,7 +2966,7 @@ type ChangeAgentOKBodyNodeExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -2682,7 +2978,7 @@ type ChangeAgentOKBodyNodeExporter struct { // 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] + // 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 @@ -2863,6 +3159,11 @@ func (o *ChangeAgentOKBodyNodeExporter) ContextValidate(ctx context.Context, for func (o *ChangeAgentOKBodyNodeExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeAgentOk" + "." + "node_exporter" + "." + "metrics_resolutions") @@ -2981,7 +3282,7 @@ type ChangeAgentOKBodyPostgresExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -2993,7 +3294,7 @@ type ChangeAgentOKBodyPostgresExporter struct { // 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] + // 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. @@ -3180,6 +3481,11 @@ func (o *ChangeAgentOKBodyPostgresExporter) ContextValidate(ctx context.Context, func (o *ChangeAgentOKBodyPostgresExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeAgentOk" + "." + "postgres_exporter" + "." + "metrics_resolutions") @@ -3298,7 +3604,7 @@ type ChangeAgentOKBodyProxysqlExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -3310,7 +3616,7 @@ type ChangeAgentOKBodyProxysqlExporter struct { // 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] + // 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 @@ -3491,6 +3797,11 @@ func (o *ChangeAgentOKBodyProxysqlExporter) ContextValidate(ctx context.Context, func (o *ChangeAgentOKBodyProxysqlExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeAgentOk" + "." + "proxysql_exporter" + "." + "metrics_resolutions") @@ -3606,7 +3917,7 @@ type ChangeAgentOKBodyQANMongodbProfilerAgent struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. @@ -3615,7 +3926,7 @@ type ChangeAgentOKBodyQANMongodbProfilerAgent struct { // 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] + // 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"` } @@ -3830,7 +4141,7 @@ type ChangeAgentOKBodyQANMysqlPerfschemaAgent struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. @@ -3839,7 +4150,7 @@ type ChangeAgentOKBodyQANMysqlPerfschemaAgent struct { // 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] + // 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"` } @@ -4057,7 +4368,7 @@ type ChangeAgentOKBodyQANMysqlSlowlogAgent struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // mod tidy @@ -4066,7 +4377,7 @@ type ChangeAgentOKBodyQANMysqlSlowlogAgent struct { // 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] + // 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"` } @@ -4269,7 +4580,7 @@ type ChangeAgentOKBodyQANPostgresqlPgstatementsAgent struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. @@ -4278,7 +4589,7 @@ type ChangeAgentOKBodyQANPostgresqlPgstatementsAgent struct { // 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] + // 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"` } @@ -4484,7 +4795,7 @@ type ChangeAgentOKBodyQANPostgresqlPgstatmonitorAgent struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. @@ -4493,7 +4804,7 @@ type ChangeAgentOKBodyQANPostgresqlPgstatmonitorAgent struct { // 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] + // 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"` } @@ -4684,7 +4995,7 @@ type ChangeAgentOKBodyRDSExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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 (the same for several configurations). @@ -4705,7 +5016,7 @@ type ChangeAgentOKBodyRDSExporter struct { // 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] + // 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. @@ -4886,6 +5197,11 @@ func (o *ChangeAgentOKBodyRDSExporter) ContextValidate(ctx context.Context, form func (o *ChangeAgentOKBodyRDSExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeAgentOk" + "." + "rds_exporter" + "." + "metrics_resolutions") @@ -5054,6 +5370,11 @@ func (o *ChangeAgentParamsBodyAzureDatabaseExporter) ContextValidate(ctx context 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "azure_database_exporter" + "." + "custom_labels") @@ -5069,6 +5390,11 @@ func (o *ChangeAgentParamsBodyAzureDatabaseExporter) contextValidateCustomLabels 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "azure_database_exporter" + "." + "metrics_resolutions") @@ -5274,6 +5600,11 @@ func (o *ChangeAgentParamsBodyExternalExporter) ContextValidate(ctx context.Cont func (o *ChangeAgentParamsBodyExternalExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "external_exporter" + "." + "custom_labels") @@ -5289,6 +5620,11 @@ func (o *ChangeAgentParamsBodyExternalExporter) contextValidateCustomLabels(ctx func (o *ChangeAgentParamsBodyExternalExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "external_exporter" + "." + "metrics_resolutions") @@ -5494,6 +5830,11 @@ func (o *ChangeAgentParamsBodyMongodbExporter) ContextValidate(ctx context.Conte func (o *ChangeAgentParamsBodyMongodbExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "mongodb_exporter" + "." + "custom_labels") @@ -5509,6 +5850,11 @@ func (o *ChangeAgentParamsBodyMongodbExporter) contextValidateCustomLabels(ctx c func (o *ChangeAgentParamsBodyMongodbExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "mongodb_exporter" + "." + "metrics_resolutions") @@ -5714,6 +6060,11 @@ func (o *ChangeAgentParamsBodyMysqldExporter) ContextValidate(ctx context.Contex func (o *ChangeAgentParamsBodyMysqldExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "mysqld_exporter" + "." + "custom_labels") @@ -5729,6 +6080,11 @@ func (o *ChangeAgentParamsBodyMysqldExporter) contextValidateCustomLabels(ctx co func (o *ChangeAgentParamsBodyMysqldExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "mysqld_exporter" + "." + "metrics_resolutions") @@ -5934,6 +6290,11 @@ func (o *ChangeAgentParamsBodyNodeExporter) ContextValidate(ctx context.Context, func (o *ChangeAgentParamsBodyNodeExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "node_exporter" + "." + "custom_labels") @@ -5949,6 +6310,11 @@ func (o *ChangeAgentParamsBodyNodeExporter) contextValidateCustomLabels(ctx cont func (o *ChangeAgentParamsBodyNodeExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "node_exporter" + "." + "metrics_resolutions") @@ -6154,6 +6520,11 @@ func (o *ChangeAgentParamsBodyPostgresExporter) ContextValidate(ctx context.Cont func (o *ChangeAgentParamsBodyPostgresExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "postgres_exporter" + "." + "custom_labels") @@ -6169,6 +6540,11 @@ func (o *ChangeAgentParamsBodyPostgresExporter) contextValidateCustomLabels(ctx func (o *ChangeAgentParamsBodyPostgresExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "postgres_exporter" + "." + "metrics_resolutions") @@ -6374,6 +6750,11 @@ func (o *ChangeAgentParamsBodyProxysqlExporter) ContextValidate(ctx context.Cont func (o *ChangeAgentParamsBodyProxysqlExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "proxysql_exporter" + "." + "custom_labels") @@ -6389,6 +6770,11 @@ func (o *ChangeAgentParamsBodyProxysqlExporter) contextValidateCustomLabels(ctx func (o *ChangeAgentParamsBodyProxysqlExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "proxysql_exporter" + "." + "metrics_resolutions") @@ -6594,6 +6980,11 @@ func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) ContextValidate(ctx conte func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "qan_mongodb_profiler_agent" + "." + "custom_labels") @@ -6609,6 +7000,11 @@ func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) contextValidateCustomLabe func (o *ChangeAgentParamsBodyQANMongodbProfilerAgent) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "qan_mongodb_profiler_agent" + "." + "metrics_resolutions") @@ -6814,6 +7210,11 @@ func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) ContextValidate(ctx conte func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "qan_mysql_perfschema_agent" + "." + "custom_labels") @@ -6829,6 +7230,11 @@ func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) contextValidateCustomLabe func (o *ChangeAgentParamsBodyQANMysqlPerfschemaAgent) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "qan_mysql_perfschema_agent" + "." + "metrics_resolutions") @@ -7034,6 +7440,11 @@ func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) ContextValidate(ctx context. func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "qan_mysql_slowlog_agent" + "." + "custom_labels") @@ -7049,6 +7460,11 @@ func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) contextValidateCustomLabels( func (o *ChangeAgentParamsBodyQANMysqlSlowlogAgent) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "qan_mysql_slowlog_agent" + "." + "metrics_resolutions") @@ -7254,6 +7670,11 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) ContextValidate(ct func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "qan_postgresql_pgstatements_agent" + "." + "custom_labels") @@ -7269,6 +7690,11 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) contextValidateCus func (o *ChangeAgentParamsBodyQANPostgresqlPgstatementsAgent) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "qan_postgresql_pgstatements_agent" + "." + "metrics_resolutions") @@ -7474,6 +7900,11 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) ContextValidate(c func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "qan_postgresql_pgstatmonitor_agent" + "." + "custom_labels") @@ -7489,6 +7920,11 @@ func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) contextValidateCu func (o *ChangeAgentParamsBodyQANPostgresqlPgstatmonitorAgent) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "qan_postgresql_pgstatmonitor_agent" + "." + "metrics_resolutions") @@ -7694,6 +8130,11 @@ func (o *ChangeAgentParamsBodyRDSExporter) ContextValidate(ctx context.Context, func (o *ChangeAgentParamsBodyRDSExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "rds_exporter" + "." + "custom_labels") @@ -7709,6 +8150,11 @@ func (o *ChangeAgentParamsBodyRDSExporter) contextValidateCustomLabels(ctx conte func (o *ChangeAgentParamsBodyRDSExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "rds_exporter" + "." + "metrics_resolutions") diff --git a/api/inventory/v1/json/client/agents_service/get_agent_logs_responses.go b/api/inventory/v1/json/client/agents_service/get_agent_logs_responses.go index fbcb5345e5..3a2fd7aeed 100644 --- a/api/inventory/v1/json/client/agents_service/get_agent_logs_responses.go +++ b/api/inventory/v1/json/client/agents_service/get_agent_logs_responses.go @@ -7,6 +7,7 @@ package agents_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type GetAgentLogsOK struct { Payload *GetAgentLogsOKBody } +// IsSuccess returns true when this get agent logs Ok response has a 2xx status code +func (o *GetAgentLogsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get agent logs Ok response has a 3xx status code +func (o *GetAgentLogsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get agent logs Ok response has a 4xx status code +func (o *GetAgentLogsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get agent logs Ok response has a 5xx status code +func (o *GetAgentLogsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get agent logs Ok response a status code equal to that given +func (o *GetAgentLogsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get agent logs Ok response +func (o *GetAgentLogsOK) Code() int { + return 200 +} + func (o *GetAgentLogsOK) Error() string { - return fmt.Sprintf("[GET /v1/inventory/agents/{agent_id}/logs][%d] getAgentLogsOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/agents/{agent_id}/logs][%d] getAgentLogsOk %s", 200, payload) +} + +func (o *GetAgentLogsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/agents/{agent_id}/logs][%d] getAgentLogsOk %s", 200, payload) } func (o *GetAgentLogsOK) GetPayload() *GetAgentLogsOKBody { @@ -94,13 +131,44 @@ type GetAgentLogsDefault struct { Payload *GetAgentLogsDefaultBody } +// IsSuccess returns true when this get agent logs default response has a 2xx status code +func (o *GetAgentLogsDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this get agent logs default response has a 3xx status code +func (o *GetAgentLogsDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this get agent logs default response has a 4xx status code +func (o *GetAgentLogsDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this get agent logs default response has a 5xx status code +func (o *GetAgentLogsDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this get agent logs default response a status code equal to that given +func (o *GetAgentLogsDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the get agent logs default response func (o *GetAgentLogsDefault) Code() int { return o._statusCode } func (o *GetAgentLogsDefault) Error() string { - return fmt.Sprintf("[GET /v1/inventory/agents/{agent_id}/logs][%d] GetAgentLogs default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/agents/{agent_id}/logs][%d] GetAgentLogs default %s", o._statusCode, payload) +} + +func (o *GetAgentLogsDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/agents/{agent_id}/logs][%d] GetAgentLogs default %s", o._statusCode, payload) } func (o *GetAgentLogsDefault) GetPayload() *GetAgentLogsDefaultBody { @@ -190,6 +258,11 @@ func (o *GetAgentLogsDefaultBody) ContextValidate(ctx context.Context, formats s func (o *GetAgentLogsDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("GetAgentLogs default" + "." + "details" + "." + strconv.Itoa(i)) @@ -229,6 +302,80 @@ swagger:model GetAgentLogsDefaultBodyDetailsItems0 type GetAgentLogsDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // get agent logs default body details items0 + GetAgentLogsDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *GetAgentLogsDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv GetAgentLogsDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.GetAgentLogsDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o GetAgentLogsDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.GetAgentLogsDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.GetAgentLogsDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this get agent logs default body details items0 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 374f25330b..0dd59aaadb 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 @@ -59,8 +59,44 @@ type GetAgentOK struct { Payload *GetAgentOKBody } +// IsSuccess returns true when this get agent Ok response has a 2xx status code +func (o *GetAgentOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get agent Ok response has a 3xx status code +func (o *GetAgentOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get agent Ok response has a 4xx status code +func (o *GetAgentOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get agent Ok response has a 5xx status code +func (o *GetAgentOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get agent Ok response a status code equal to that given +func (o *GetAgentOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get agent Ok response +func (o *GetAgentOK) Code() int { + return 200 +} + func (o *GetAgentOK) Error() string { - return fmt.Sprintf("[GET /v1/inventory/agents/{agent_id}][%d] getAgentOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/agents/{agent_id}][%d] getAgentOk %s", 200, payload) +} + +func (o *GetAgentOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/agents/{agent_id}][%d] getAgentOk %s", 200, payload) } func (o *GetAgentOK) GetPayload() *GetAgentOKBody { @@ -96,13 +132,44 @@ type GetAgentDefault struct { Payload *GetAgentDefaultBody } +// IsSuccess returns true when this get agent default response has a 2xx status code +func (o *GetAgentDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this get agent default response has a 3xx status code +func (o *GetAgentDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this get agent default response has a 4xx status code +func (o *GetAgentDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this get agent default response has a 5xx status code +func (o *GetAgentDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this get agent default response a status code equal to that given +func (o *GetAgentDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the get agent default response func (o *GetAgentDefault) Code() int { return o._statusCode } func (o *GetAgentDefault) Error() string { - return fmt.Sprintf("[GET /v1/inventory/agents/{agent_id}][%d] GetAgent default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/agents/{agent_id}][%d] GetAgent default %s", o._statusCode, payload) +} + +func (o *GetAgentDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/agents/{agent_id}][%d] GetAgent default %s", o._statusCode, payload) } func (o *GetAgentDefault) GetPayload() *GetAgentDefaultBody { @@ -192,6 +259,11 @@ func (o *GetAgentDefaultBody) ContextValidate(ctx context.Context, formats strfm func (o *GetAgentDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("GetAgent default" + "." + "details" + "." + strconv.Itoa(i)) @@ -231,6 +303,80 @@ swagger:model GetAgentDefaultBodyDetailsItems0 type GetAgentDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // get agent default body details items0 + GetAgentDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *GetAgentDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv GetAgentDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.GetAgentDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o GetAgentDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.GetAgentDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.GetAgentDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this get agent default body details items0 @@ -739,6 +885,11 @@ func (o *GetAgentOKBody) ContextValidate(ctx context.Context, formats strfmt.Reg func (o *GetAgentOKBody) contextValidateAzureDatabaseExporter(ctx context.Context, formats strfmt.Registry) error { if o.AzureDatabaseExporter != nil { + + if swag.IsZero(o.AzureDatabaseExporter) { // not required + return nil + } + if err := o.AzureDatabaseExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getAgentOk" + "." + "azure_database_exporter") @@ -754,6 +905,11 @@ func (o *GetAgentOKBody) contextValidateAzureDatabaseExporter(ctx context.Contex func (o *GetAgentOKBody) contextValidateExternalExporter(ctx context.Context, formats strfmt.Registry) error { if o.ExternalExporter != nil { + + if swag.IsZero(o.ExternalExporter) { // not required + return nil + } + if err := o.ExternalExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getAgentOk" + "." + "external_exporter") @@ -769,6 +925,11 @@ func (o *GetAgentOKBody) contextValidateExternalExporter(ctx context.Context, fo func (o *GetAgentOKBody) contextValidateMongodbExporter(ctx context.Context, formats strfmt.Registry) error { if o.MongodbExporter != nil { + + if swag.IsZero(o.MongodbExporter) { // not required + return nil + } + if err := o.MongodbExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getAgentOk" + "." + "mongodb_exporter") @@ -784,6 +945,11 @@ func (o *GetAgentOKBody) contextValidateMongodbExporter(ctx context.Context, for func (o *GetAgentOKBody) contextValidateMysqldExporter(ctx context.Context, formats strfmt.Registry) error { if o.MysqldExporter != nil { + + if swag.IsZero(o.MysqldExporter) { // not required + return nil + } + if err := o.MysqldExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getAgentOk" + "." + "mysqld_exporter") @@ -799,6 +965,11 @@ func (o *GetAgentOKBody) contextValidateMysqldExporter(ctx context.Context, form func (o *GetAgentOKBody) contextValidateNodeExporter(ctx context.Context, formats strfmt.Registry) error { if o.NodeExporter != nil { + + if swag.IsZero(o.NodeExporter) { // not required + return nil + } + if err := o.NodeExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getAgentOk" + "." + "node_exporter") @@ -814,6 +985,11 @@ func (o *GetAgentOKBody) contextValidateNodeExporter(ctx context.Context, format func (o *GetAgentOKBody) contextValidatePMMAgent(ctx context.Context, formats strfmt.Registry) error { if o.PMMAgent != nil { + + if swag.IsZero(o.PMMAgent) { // not required + return nil + } + if err := o.PMMAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getAgentOk" + "." + "pmm_agent") @@ -829,6 +1005,11 @@ func (o *GetAgentOKBody) contextValidatePMMAgent(ctx context.Context, formats st func (o *GetAgentOKBody) contextValidatePostgresExporter(ctx context.Context, formats strfmt.Registry) error { if o.PostgresExporter != nil { + + if swag.IsZero(o.PostgresExporter) { // not required + return nil + } + if err := o.PostgresExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getAgentOk" + "." + "postgres_exporter") @@ -844,6 +1025,11 @@ func (o *GetAgentOKBody) contextValidatePostgresExporter(ctx context.Context, fo func (o *GetAgentOKBody) contextValidateProxysqlExporter(ctx context.Context, formats strfmt.Registry) error { if o.ProxysqlExporter != nil { + + if swag.IsZero(o.ProxysqlExporter) { // not required + return nil + } + if err := o.ProxysqlExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getAgentOk" + "." + "proxysql_exporter") @@ -859,6 +1045,11 @@ func (o *GetAgentOKBody) contextValidateProxysqlExporter(ctx context.Context, fo func (o *GetAgentOKBody) contextValidateQANMongodbProfilerAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANMongodbProfilerAgent != nil { + + if swag.IsZero(o.QANMongodbProfilerAgent) { // not required + return nil + } + if err := o.QANMongodbProfilerAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getAgentOk" + "." + "qan_mongodb_profiler_agent") @@ -874,6 +1065,11 @@ func (o *GetAgentOKBody) contextValidateQANMongodbProfilerAgent(ctx context.Cont func (o *GetAgentOKBody) contextValidateQANMysqlPerfschemaAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANMysqlPerfschemaAgent != nil { + + if swag.IsZero(o.QANMysqlPerfschemaAgent) { // not required + return nil + } + if err := o.QANMysqlPerfschemaAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getAgentOk" + "." + "qan_mysql_perfschema_agent") @@ -889,6 +1085,11 @@ func (o *GetAgentOKBody) contextValidateQANMysqlPerfschemaAgent(ctx context.Cont func (o *GetAgentOKBody) contextValidateQANMysqlSlowlogAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANMysqlSlowlogAgent != nil { + + if swag.IsZero(o.QANMysqlSlowlogAgent) { // not required + return nil + } + if err := o.QANMysqlSlowlogAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getAgentOk" + "." + "qan_mysql_slowlog_agent") @@ -904,6 +1105,11 @@ func (o *GetAgentOKBody) contextValidateQANMysqlSlowlogAgent(ctx context.Context func (o *GetAgentOKBody) contextValidateQANPostgresqlPgstatementsAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANPostgresqlPgstatementsAgent != nil { + + if swag.IsZero(o.QANPostgresqlPgstatementsAgent) { // not required + return nil + } + if err := o.QANPostgresqlPgstatementsAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getAgentOk" + "." + "qan_postgresql_pgstatements_agent") @@ -919,6 +1125,11 @@ func (o *GetAgentOKBody) contextValidateQANPostgresqlPgstatementsAgent(ctx conte func (o *GetAgentOKBody) contextValidateQANPostgresqlPgstatmonitorAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANPostgresqlPgstatmonitorAgent != nil { + + if swag.IsZero(o.QANPostgresqlPgstatmonitorAgent) { // not required + return nil + } + if err := o.QANPostgresqlPgstatmonitorAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getAgentOk" + "." + "qan_postgresql_pgstatmonitor_agent") @@ -934,6 +1145,11 @@ func (o *GetAgentOKBody) contextValidateQANPostgresqlPgstatmonitorAgent(ctx cont func (o *GetAgentOKBody) contextValidateRDSExporter(ctx context.Context, formats strfmt.Registry) error { if o.RDSExporter != nil { + + if swag.IsZero(o.RDSExporter) { // not required + return nil + } + if err := o.RDSExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getAgentOk" + "." + "rds_exporter") @@ -949,6 +1165,11 @@ func (o *GetAgentOKBody) contextValidateRDSExporter(ctx context.Context, formats func (o *GetAgentOKBody) contextValidateVmagent(ctx context.Context, formats strfmt.Registry) error { if o.Vmagent != nil { + + if swag.IsZero(o.Vmagent) { // not required + return nil + } + if err := o.Vmagent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getAgentOk" + "." + "vmagent") @@ -1015,7 +1236,7 @@ type GetAgentOKBodyAzureDatabaseExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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 (the same for several configurations). @@ -1030,7 +1251,7 @@ type GetAgentOKBodyAzureDatabaseExporter struct { // 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] + // 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 @@ -1208,6 +1429,11 @@ func (o *GetAgentOKBodyAzureDatabaseExporter) ContextValidate(ctx context.Contex func (o *GetAgentOKBodyAzureDatabaseExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getAgentOk" + "." + "azure_database_exporter" + "." + "metrics_resolutions") @@ -1373,6 +1599,11 @@ func (o *GetAgentOKBodyExternalExporter) ContextValidate(ctx context.Context, fo func (o *GetAgentOKBodyExternalExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getAgentOk" + "." + "external_exporter" + "." + "metrics_resolutions") @@ -1491,7 +1722,7 @@ type GetAgentOKBodyMongodbExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -1513,7 +1744,7 @@ type GetAgentOKBodyMongodbExporter struct { // 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] + // 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 @@ -1694,6 +1925,11 @@ func (o *GetAgentOKBodyMongodbExporter) ContextValidate(ctx context.Context, for func (o *GetAgentOKBodyMongodbExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getAgentOk" + "." + "mongodb_exporter" + "." + "metrics_resolutions") @@ -1829,7 +2065,7 @@ type GetAgentOKBodyMysqldExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -1844,7 +2080,7 @@ type GetAgentOKBodyMysqldExporter struct { // 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] + // 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 @@ -2025,6 +2261,11 @@ func (o *GetAgentOKBodyMysqldExporter) ContextValidate(ctx context.Context, form func (o *GetAgentOKBodyMysqldExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getAgentOk" + "." + "mysqld_exporter" + "." + "metrics_resolutions") @@ -2131,7 +2372,7 @@ type GetAgentOKBodyNodeExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -2143,7 +2384,7 @@ type GetAgentOKBodyNodeExporter struct { // 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] + // 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 @@ -2324,6 +2565,11 @@ func (o *GetAgentOKBodyNodeExporter) ContextValidate(ctx context.Context, format func (o *GetAgentOKBodyNodeExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getAgentOk" + "." + "node_exporter" + "." + "metrics_resolutions") @@ -2491,7 +2737,7 @@ type GetAgentOKBodyPostgresExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -2503,7 +2749,7 @@ type GetAgentOKBodyPostgresExporter struct { // 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] + // 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. @@ -2690,6 +2936,11 @@ func (o *GetAgentOKBodyPostgresExporter) ContextValidate(ctx context.Context, fo func (o *GetAgentOKBodyPostgresExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getAgentOk" + "." + "postgres_exporter" + "." + "metrics_resolutions") @@ -2808,7 +3059,7 @@ type GetAgentOKBodyProxysqlExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -2820,7 +3071,7 @@ type GetAgentOKBodyProxysqlExporter struct { // 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] + // 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 @@ -3001,6 +3252,11 @@ func (o *GetAgentOKBodyProxysqlExporter) ContextValidate(ctx context.Context, fo func (o *GetAgentOKBodyProxysqlExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getAgentOk" + "." + "proxysql_exporter" + "." + "metrics_resolutions") @@ -3116,7 +3372,7 @@ type GetAgentOKBodyQANMongodbProfilerAgent struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. @@ -3125,7 +3381,7 @@ type GetAgentOKBodyQANMongodbProfilerAgent struct { // 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] + // 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"` } @@ -3340,7 +3596,7 @@ type GetAgentOKBodyQANMysqlPerfschemaAgent struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. @@ -3349,7 +3605,7 @@ type GetAgentOKBodyQANMysqlPerfschemaAgent struct { // 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] + // 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"` } @@ -3567,7 +3823,7 @@ type GetAgentOKBodyQANMysqlSlowlogAgent struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // mod tidy @@ -3576,7 +3832,7 @@ type GetAgentOKBodyQANMysqlSlowlogAgent struct { // 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] + // 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"` } @@ -3779,7 +4035,7 @@ type GetAgentOKBodyQANPostgresqlPgstatementsAgent struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. @@ -3788,7 +4044,7 @@ type GetAgentOKBodyQANPostgresqlPgstatementsAgent struct { // 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] + // 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"` } @@ -3994,7 +4250,7 @@ type GetAgentOKBodyQANPostgresqlPgstatmonitorAgent struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. @@ -4003,7 +4259,7 @@ type GetAgentOKBodyQANPostgresqlPgstatmonitorAgent struct { // 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] + // 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"` } @@ -4194,7 +4450,7 @@ type GetAgentOKBodyRDSExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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 (the same for several configurations). @@ -4215,7 +4471,7 @@ type GetAgentOKBodyRDSExporter struct { // 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] + // 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. @@ -4396,6 +4652,11 @@ func (o *GetAgentOKBodyRDSExporter) ContextValidate(ctx context.Context, formats func (o *GetAgentOKBodyRDSExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getAgentOk" + "." + "rds_exporter" + "." + "metrics_resolutions") @@ -4492,7 +4753,7 @@ type GetAgentOKBodyVmagent struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. 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 7ae4613067..99d43b0071 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 @@ -59,8 +59,44 @@ type ListAgentsOK struct { Payload *ListAgentsOKBody } +// IsSuccess returns true when this list agents Ok response has a 2xx status code +func (o *ListAgentsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this list agents Ok response has a 3xx status code +func (o *ListAgentsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this list agents Ok response has a 4xx status code +func (o *ListAgentsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this list agents Ok response has a 5xx status code +func (o *ListAgentsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this list agents Ok response a status code equal to that given +func (o *ListAgentsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the list agents Ok response +func (o *ListAgentsOK) Code() int { + return 200 +} + func (o *ListAgentsOK) Error() string { - return fmt.Sprintf("[GET /v1/inventory/agents][%d] listAgentsOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/agents][%d] listAgentsOk %s", 200, payload) +} + +func (o *ListAgentsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/agents][%d] listAgentsOk %s", 200, payload) } func (o *ListAgentsOK) GetPayload() *ListAgentsOKBody { @@ -96,13 +132,44 @@ type ListAgentsDefault struct { Payload *ListAgentsDefaultBody } +// IsSuccess returns true when this list agents default response has a 2xx status code +func (o *ListAgentsDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this list agents default response has a 3xx status code +func (o *ListAgentsDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this list agents default response has a 4xx status code +func (o *ListAgentsDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this list agents default response has a 5xx status code +func (o *ListAgentsDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this list agents default response a status code equal to that given +func (o *ListAgentsDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the list agents default response func (o *ListAgentsDefault) Code() int { return o._statusCode } func (o *ListAgentsDefault) Error() string { - return fmt.Sprintf("[GET /v1/inventory/agents][%d] ListAgents default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/agents][%d] ListAgents default %s", o._statusCode, payload) +} + +func (o *ListAgentsDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/agents][%d] ListAgents default %s", o._statusCode, payload) } func (o *ListAgentsDefault) GetPayload() *ListAgentsDefaultBody { @@ -192,6 +259,11 @@ func (o *ListAgentsDefaultBody) ContextValidate(ctx context.Context, formats str func (o *ListAgentsDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ListAgents default" + "." + "details" + "." + strconv.Itoa(i)) @@ -231,6 +303,80 @@ swagger:model ListAgentsDefaultBodyDetailsItems0 type ListAgentsDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // list agents default body details items0 + ListAgentsDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ListAgentsDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ListAgentsDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ListAgentsDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ListAgentsDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ListAgentsDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ListAgentsDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this list agents default body details items0 @@ -845,6 +991,11 @@ func (o *ListAgentsOKBody) ContextValidate(ctx context.Context, formats strfmt.R func (o *ListAgentsOKBody) contextValidatePMMAgent(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.PMMAgent); i++ { if o.PMMAgent[i] != nil { + + if swag.IsZero(o.PMMAgent[i]) { // not required + return nil + } + if err := o.PMMAgent[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listAgentsOk" + "." + "pmm_agent" + "." + strconv.Itoa(i)) @@ -862,6 +1013,11 @@ func (o *ListAgentsOKBody) contextValidatePMMAgent(ctx context.Context, formats func (o *ListAgentsOKBody) contextValidateVMAgent(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.VMAgent); i++ { if o.VMAgent[i] != nil { + + if swag.IsZero(o.VMAgent[i]) { // not required + return nil + } + if err := o.VMAgent[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listAgentsOk" + "." + "vm_agent" + "." + strconv.Itoa(i)) @@ -879,6 +1035,11 @@ func (o *ListAgentsOKBody) contextValidateVMAgent(ctx context.Context, formats s func (o *ListAgentsOKBody) contextValidateNodeExporter(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.NodeExporter); i++ { if o.NodeExporter[i] != nil { + + if swag.IsZero(o.NodeExporter[i]) { // not required + return nil + } + if err := o.NodeExporter[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listAgentsOk" + "." + "node_exporter" + "." + strconv.Itoa(i)) @@ -896,6 +1057,11 @@ func (o *ListAgentsOKBody) contextValidateNodeExporter(ctx context.Context, form func (o *ListAgentsOKBody) contextValidateMysqldExporter(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.MysqldExporter); i++ { if o.MysqldExporter[i] != nil { + + if swag.IsZero(o.MysqldExporter[i]) { // not required + return nil + } + if err := o.MysqldExporter[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listAgentsOk" + "." + "mysqld_exporter" + "." + strconv.Itoa(i)) @@ -913,6 +1079,11 @@ func (o *ListAgentsOKBody) contextValidateMysqldExporter(ctx context.Context, fo func (o *ListAgentsOKBody) contextValidateMongodbExporter(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.MongodbExporter); i++ { if o.MongodbExporter[i] != nil { + + if swag.IsZero(o.MongodbExporter[i]) { // not required + return nil + } + if err := o.MongodbExporter[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listAgentsOk" + "." + "mongodb_exporter" + "." + strconv.Itoa(i)) @@ -930,6 +1101,11 @@ func (o *ListAgentsOKBody) contextValidateMongodbExporter(ctx context.Context, f func (o *ListAgentsOKBody) contextValidatePostgresExporter(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.PostgresExporter); i++ { if o.PostgresExporter[i] != nil { + + if swag.IsZero(o.PostgresExporter[i]) { // not required + return nil + } + if err := o.PostgresExporter[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listAgentsOk" + "." + "postgres_exporter" + "." + strconv.Itoa(i)) @@ -947,6 +1123,11 @@ func (o *ListAgentsOKBody) contextValidatePostgresExporter(ctx context.Context, func (o *ListAgentsOKBody) contextValidateProxysqlExporter(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.ProxysqlExporter); i++ { if o.ProxysqlExporter[i] != nil { + + if swag.IsZero(o.ProxysqlExporter[i]) { // not required + return nil + } + if err := o.ProxysqlExporter[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listAgentsOk" + "." + "proxysql_exporter" + "." + strconv.Itoa(i)) @@ -964,6 +1145,11 @@ func (o *ListAgentsOKBody) contextValidateProxysqlExporter(ctx context.Context, func (o *ListAgentsOKBody) contextValidateQANMysqlPerfschemaAgent(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.QANMysqlPerfschemaAgent); i++ { if o.QANMysqlPerfschemaAgent[i] != nil { + + if swag.IsZero(o.QANMysqlPerfschemaAgent[i]) { // not required + return nil + } + if err := o.QANMysqlPerfschemaAgent[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listAgentsOk" + "." + "qan_mysql_perfschema_agent" + "." + strconv.Itoa(i)) @@ -981,6 +1167,11 @@ func (o *ListAgentsOKBody) contextValidateQANMysqlPerfschemaAgent(ctx context.Co func (o *ListAgentsOKBody) contextValidateQANMysqlSlowlogAgent(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.QANMysqlSlowlogAgent); i++ { if o.QANMysqlSlowlogAgent[i] != nil { + + if swag.IsZero(o.QANMysqlSlowlogAgent[i]) { // not required + return nil + } + if err := o.QANMysqlSlowlogAgent[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listAgentsOk" + "." + "qan_mysql_slowlog_agent" + "." + strconv.Itoa(i)) @@ -998,6 +1189,11 @@ func (o *ListAgentsOKBody) contextValidateQANMysqlSlowlogAgent(ctx context.Conte func (o *ListAgentsOKBody) contextValidateQANMongodbProfilerAgent(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.QANMongodbProfilerAgent); i++ { if o.QANMongodbProfilerAgent[i] != nil { + + if swag.IsZero(o.QANMongodbProfilerAgent[i]) { // not required + return nil + } + if err := o.QANMongodbProfilerAgent[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listAgentsOk" + "." + "qan_mongodb_profiler_agent" + "." + strconv.Itoa(i)) @@ -1015,6 +1211,11 @@ func (o *ListAgentsOKBody) contextValidateQANMongodbProfilerAgent(ctx context.Co func (o *ListAgentsOKBody) contextValidateQANPostgresqlPgstatementsAgent(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.QANPostgresqlPgstatementsAgent); i++ { if o.QANPostgresqlPgstatementsAgent[i] != nil { + + if swag.IsZero(o.QANPostgresqlPgstatementsAgent[i]) { // not required + return nil + } + if err := o.QANPostgresqlPgstatementsAgent[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listAgentsOk" + "." + "qan_postgresql_pgstatements_agent" + "." + strconv.Itoa(i)) @@ -1032,6 +1233,11 @@ func (o *ListAgentsOKBody) contextValidateQANPostgresqlPgstatementsAgent(ctx con func (o *ListAgentsOKBody) contextValidateQANPostgresqlPgstatmonitorAgent(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.QANPostgresqlPgstatmonitorAgent); i++ { if o.QANPostgresqlPgstatmonitorAgent[i] != nil { + + if swag.IsZero(o.QANPostgresqlPgstatmonitorAgent[i]) { // not required + return nil + } + if err := o.QANPostgresqlPgstatmonitorAgent[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listAgentsOk" + "." + "qan_postgresql_pgstatmonitor_agent" + "." + strconv.Itoa(i)) @@ -1049,6 +1255,11 @@ func (o *ListAgentsOKBody) contextValidateQANPostgresqlPgstatmonitorAgent(ctx co func (o *ListAgentsOKBody) contextValidateExternalExporter(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.ExternalExporter); i++ { if o.ExternalExporter[i] != nil { + + if swag.IsZero(o.ExternalExporter[i]) { // not required + return nil + } + if err := o.ExternalExporter[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listAgentsOk" + "." + "external_exporter" + "." + strconv.Itoa(i)) @@ -1066,6 +1277,11 @@ func (o *ListAgentsOKBody) contextValidateExternalExporter(ctx context.Context, func (o *ListAgentsOKBody) contextValidateRDSExporter(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.RDSExporter); i++ { if o.RDSExporter[i] != nil { + + if swag.IsZero(o.RDSExporter[i]) { // not required + return nil + } + if err := o.RDSExporter[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listAgentsOk" + "." + "rds_exporter" + "." + strconv.Itoa(i)) @@ -1083,6 +1299,11 @@ func (o *ListAgentsOKBody) contextValidateRDSExporter(ctx context.Context, forma func (o *ListAgentsOKBody) contextValidateAzureDatabaseExporter(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.AzureDatabaseExporter); i++ { if o.AzureDatabaseExporter[i] != nil { + + if swag.IsZero(o.AzureDatabaseExporter[i]) { // not required + return nil + } + if err := o.AzureDatabaseExporter[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listAgentsOk" + "." + "azure_database_exporter" + "." + strconv.Itoa(i)) @@ -1150,7 +1371,7 @@ type ListAgentsOKBodyAzureDatabaseExporterItems0 struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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 (the same for several configurations). @@ -1165,7 +1386,7 @@ type ListAgentsOKBodyAzureDatabaseExporterItems0 struct { // 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] + // 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 @@ -1343,6 +1564,11 @@ func (o *ListAgentsOKBodyAzureDatabaseExporterItems0) ContextValidate(ctx contex func (o *ListAgentsOKBodyAzureDatabaseExporterItems0) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("metrics_resolutions") @@ -1508,6 +1734,11 @@ func (o *ListAgentsOKBodyExternalExporterItems0) ContextValidate(ctx context.Con func (o *ListAgentsOKBodyExternalExporterItems0) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("metrics_resolutions") @@ -1626,7 +1857,7 @@ type ListAgentsOKBodyMongodbExporterItems0 struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -1648,7 +1879,7 @@ type ListAgentsOKBodyMongodbExporterItems0 struct { // 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] + // 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 @@ -1829,6 +2060,11 @@ func (o *ListAgentsOKBodyMongodbExporterItems0) ContextValidate(ctx context.Cont func (o *ListAgentsOKBodyMongodbExporterItems0) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("metrics_resolutions") @@ -1964,7 +2200,7 @@ type ListAgentsOKBodyMysqldExporterItems0 struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -1979,7 +2215,7 @@ type ListAgentsOKBodyMysqldExporterItems0 struct { // 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] + // 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 @@ -2160,6 +2396,11 @@ func (o *ListAgentsOKBodyMysqldExporterItems0) ContextValidate(ctx context.Conte func (o *ListAgentsOKBodyMysqldExporterItems0) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("metrics_resolutions") @@ -2266,7 +2507,7 @@ type ListAgentsOKBodyNodeExporterItems0 struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -2278,7 +2519,7 @@ type ListAgentsOKBodyNodeExporterItems0 struct { // 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] + // 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 @@ -2459,6 +2700,11 @@ func (o *ListAgentsOKBodyNodeExporterItems0) ContextValidate(ctx context.Context func (o *ListAgentsOKBodyNodeExporterItems0) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("metrics_resolutions") @@ -2626,7 +2872,7 @@ type ListAgentsOKBodyPostgresExporterItems0 struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -2638,7 +2884,7 @@ type ListAgentsOKBodyPostgresExporterItems0 struct { // 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] + // 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. @@ -2825,6 +3071,11 @@ func (o *ListAgentsOKBodyPostgresExporterItems0) ContextValidate(ctx context.Con func (o *ListAgentsOKBodyPostgresExporterItems0) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("metrics_resolutions") @@ -2943,7 +3194,7 @@ type ListAgentsOKBodyProxysqlExporterItems0 struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -2955,7 +3206,7 @@ type ListAgentsOKBodyProxysqlExporterItems0 struct { // 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] + // 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 @@ -3136,6 +3387,11 @@ func (o *ListAgentsOKBodyProxysqlExporterItems0) ContextValidate(ctx context.Con func (o *ListAgentsOKBodyProxysqlExporterItems0) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("metrics_resolutions") @@ -3251,7 +3507,7 @@ type ListAgentsOKBodyQANMongodbProfilerAgentItems0 struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. @@ -3260,7 +3516,7 @@ type ListAgentsOKBodyQANMongodbProfilerAgentItems0 struct { // 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] + // 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"` } @@ -3475,7 +3731,7 @@ type ListAgentsOKBodyQANMysqlPerfschemaAgentItems0 struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. @@ -3484,7 +3740,7 @@ type ListAgentsOKBodyQANMysqlPerfschemaAgentItems0 struct { // 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] + // 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"` } @@ -3702,7 +3958,7 @@ type ListAgentsOKBodyQANMysqlSlowlogAgentItems0 struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // mod tidy @@ -3711,7 +3967,7 @@ type ListAgentsOKBodyQANMysqlSlowlogAgentItems0 struct { // 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] + // 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"` } @@ -3914,7 +4170,7 @@ type ListAgentsOKBodyQANPostgresqlPgstatementsAgentItems0 struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. @@ -3923,7 +4179,7 @@ type ListAgentsOKBodyQANPostgresqlPgstatementsAgentItems0 struct { // 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] + // 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"` } @@ -4129,7 +4385,7 @@ type ListAgentsOKBodyQANPostgresqlPgstatmonitorAgentItems0 struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. @@ -4138,7 +4394,7 @@ type ListAgentsOKBodyQANPostgresqlPgstatmonitorAgentItems0 struct { // 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] + // 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"` } @@ -4329,7 +4585,7 @@ type ListAgentsOKBodyRDSExporterItems0 struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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 (the same for several configurations). @@ -4350,7 +4606,7 @@ type ListAgentsOKBodyRDSExporterItems0 struct { // 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] + // 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. @@ -4531,6 +4787,11 @@ func (o *ListAgentsOKBodyRDSExporterItems0) ContextValidate(ctx context.Context, func (o *ListAgentsOKBodyRDSExporterItems0) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("metrics_resolutions") @@ -4627,7 +4888,7 @@ type ListAgentsOKBodyVMAgentItems0 struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. diff --git a/api/inventory/v1/json/client/agents_service/remove_agent_responses.go b/api/inventory/v1/json/client/agents_service/remove_agent_responses.go index f9c8316fc8..6861c9c705 100644 --- a/api/inventory/v1/json/client/agents_service/remove_agent_responses.go +++ b/api/inventory/v1/json/client/agents_service/remove_agent_responses.go @@ -7,6 +7,7 @@ package agents_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type RemoveAgentOK struct { Payload interface{} } +// IsSuccess returns true when this remove agent Ok response has a 2xx status code +func (o *RemoveAgentOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this remove agent Ok response has a 3xx status code +func (o *RemoveAgentOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this remove agent Ok response has a 4xx status code +func (o *RemoveAgentOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this remove agent Ok response has a 5xx status code +func (o *RemoveAgentOK) IsServerError() bool { + return false +} + +// IsCode returns true when this remove agent Ok response a status code equal to that given +func (o *RemoveAgentOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the remove agent Ok response +func (o *RemoveAgentOK) Code() int { + return 200 +} + func (o *RemoveAgentOK) Error() string { - return fmt.Sprintf("[DELETE /v1/inventory/agents/{agent_id}][%d] removeAgentOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/inventory/agents/{agent_id}][%d] removeAgentOk %s", 200, payload) +} + +func (o *RemoveAgentOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/inventory/agents/{agent_id}][%d] removeAgentOk %s", 200, payload) } func (o *RemoveAgentOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type RemoveAgentDefault struct { Payload *RemoveAgentDefaultBody } +// IsSuccess returns true when this remove agent default response has a 2xx status code +func (o *RemoveAgentDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this remove agent default response has a 3xx status code +func (o *RemoveAgentDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this remove agent default response has a 4xx status code +func (o *RemoveAgentDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this remove agent default response has a 5xx status code +func (o *RemoveAgentDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this remove agent default response a status code equal to that given +func (o *RemoveAgentDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the remove agent default response func (o *RemoveAgentDefault) Code() int { return o._statusCode } func (o *RemoveAgentDefault) Error() string { - return fmt.Sprintf("[DELETE /v1/inventory/agents/{agent_id}][%d] RemoveAgent default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/inventory/agents/{agent_id}][%d] RemoveAgent default %s", o._statusCode, payload) +} + +func (o *RemoveAgentDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/inventory/agents/{agent_id}][%d] RemoveAgent default %s", o._statusCode, payload) } func (o *RemoveAgentDefault) GetPayload() *RemoveAgentDefaultBody { @@ -188,6 +256,11 @@ func (o *RemoveAgentDefaultBody) ContextValidate(ctx context.Context, formats st func (o *RemoveAgentDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("RemoveAgent default" + "." + "details" + "." + strconv.Itoa(i)) @@ -227,6 +300,80 @@ swagger:model RemoveAgentDefaultBodyDetailsItems0 type RemoveAgentDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // remove agent default body details items0 + RemoveAgentDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *RemoveAgentDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv RemoveAgentDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.RemoveAgentDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o RemoveAgentDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.RemoveAgentDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.RemoveAgentDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this remove agent default body details items0 diff --git a/api/inventory/v1/json/client/nodes_service/add_node_responses.go b/api/inventory/v1/json/client/nodes_service/add_node_responses.go index f1f41ef77e..1170cb0781 100644 --- a/api/inventory/v1/json/client/nodes_service/add_node_responses.go +++ b/api/inventory/v1/json/client/nodes_service/add_node_responses.go @@ -7,6 +7,7 @@ package nodes_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type AddNodeOK struct { Payload *AddNodeOKBody } +// IsSuccess returns true when this add node Ok response has a 2xx status code +func (o *AddNodeOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this add node Ok response has a 3xx status code +func (o *AddNodeOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this add node Ok response has a 4xx status code +func (o *AddNodeOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this add node Ok response has a 5xx status code +func (o *AddNodeOK) IsServerError() bool { + return false +} + +// IsCode returns true when this add node Ok response a status code equal to that given +func (o *AddNodeOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the add node Ok response +func (o *AddNodeOK) Code() int { + return 200 +} + func (o *AddNodeOK) Error() string { - return fmt.Sprintf("[POST /v1/inventory/nodes][%d] addNodeOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/inventory/nodes][%d] addNodeOk %s", 200, payload) +} + +func (o *AddNodeOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/inventory/nodes][%d] addNodeOk %s", 200, payload) } func (o *AddNodeOK) GetPayload() *AddNodeOKBody { @@ -94,13 +131,44 @@ type AddNodeDefault struct { Payload *AddNodeDefaultBody } +// IsSuccess returns true when this add node default response has a 2xx status code +func (o *AddNodeDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this add node default response has a 3xx status code +func (o *AddNodeDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this add node default response has a 4xx status code +func (o *AddNodeDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this add node default response has a 5xx status code +func (o *AddNodeDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this add node default response a status code equal to that given +func (o *AddNodeDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the add node default response func (o *AddNodeDefault) Code() int { return o._statusCode } func (o *AddNodeDefault) Error() string { - return fmt.Sprintf("[POST /v1/inventory/nodes][%d] AddNode default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/inventory/nodes][%d] AddNode default %s", o._statusCode, payload) +} + +func (o *AddNodeDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/inventory/nodes][%d] AddNode default %s", o._statusCode, payload) } func (o *AddNodeDefault) GetPayload() *AddNodeDefaultBody { @@ -296,6 +364,11 @@ func (o *AddNodeBody) ContextValidate(ctx context.Context, formats strfmt.Regist func (o *AddNodeBody) contextValidateContainer(ctx context.Context, formats strfmt.Registry) error { if o.Container != nil { + + if swag.IsZero(o.Container) { // not required + return nil + } + if err := o.Container.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "container") @@ -311,6 +384,11 @@ func (o *AddNodeBody) contextValidateContainer(ctx context.Context, formats strf func (o *AddNodeBody) contextValidateGeneric(ctx context.Context, formats strfmt.Registry) error { if o.Generic != nil { + + if swag.IsZero(o.Generic) { // not required + return nil + } + if err := o.Generic.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "generic") @@ -326,6 +404,11 @@ func (o *AddNodeBody) contextValidateGeneric(ctx context.Context, formats strfmt func (o *AddNodeBody) contextValidateRemote(ctx context.Context, formats strfmt.Registry) error { if o.Remote != nil { + + if swag.IsZero(o.Remote) { // not required + return nil + } + if err := o.Remote.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "remote") @@ -341,6 +424,11 @@ func (o *AddNodeBody) contextValidateRemote(ctx context.Context, formats strfmt. func (o *AddNodeBody) contextValidateRemoteAzure(ctx context.Context, formats strfmt.Registry) error { if o.RemoteAzure != nil { + + if swag.IsZero(o.RemoteAzure) { // not required + return nil + } + if err := o.RemoteAzure.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "remote_azure") @@ -356,6 +444,11 @@ func (o *AddNodeBody) contextValidateRemoteAzure(ctx context.Context, formats st func (o *AddNodeBody) contextValidateRemoteRDS(ctx context.Context, formats strfmt.Registry) error { if o.RemoteRDS != nil { + + if swag.IsZero(o.RemoteRDS) { // not required + return nil + } + if err := o.RemoteRDS.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "remote_rds") @@ -459,6 +552,11 @@ func (o *AddNodeDefaultBody) ContextValidate(ctx context.Context, formats strfmt func (o *AddNodeDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("AddNode default" + "." + "details" + "." + strconv.Itoa(i)) @@ -498,6 +596,80 @@ swagger:model AddNodeDefaultBodyDetailsItems0 type AddNodeDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // add node default body details items0 + AddNodeDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *AddNodeDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv AddNodeDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.AddNodeDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o AddNodeDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.AddNodeDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.AddNodeDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this add node default body details items0 @@ -706,6 +878,11 @@ func (o *AddNodeOKBody) ContextValidate(ctx context.Context, formats strfmt.Regi func (o *AddNodeOKBody) contextValidateContainer(ctx context.Context, formats strfmt.Registry) error { if o.Container != nil { + + if swag.IsZero(o.Container) { // not required + return nil + } + if err := o.Container.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addNodeOk" + "." + "container") @@ -721,6 +898,11 @@ func (o *AddNodeOKBody) contextValidateContainer(ctx context.Context, formats st func (o *AddNodeOKBody) contextValidateGeneric(ctx context.Context, formats strfmt.Registry) error { if o.Generic != nil { + + if swag.IsZero(o.Generic) { // not required + return nil + } + if err := o.Generic.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addNodeOk" + "." + "generic") @@ -736,6 +918,11 @@ func (o *AddNodeOKBody) contextValidateGeneric(ctx context.Context, formats strf func (o *AddNodeOKBody) contextValidateRemote(ctx context.Context, formats strfmt.Registry) error { if o.Remote != nil { + + if swag.IsZero(o.Remote) { // not required + return nil + } + if err := o.Remote.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addNodeOk" + "." + "remote") @@ -751,6 +938,11 @@ func (o *AddNodeOKBody) contextValidateRemote(ctx context.Context, formats strfm func (o *AddNodeOKBody) contextValidateRemoteAzureDatabase(ctx context.Context, formats strfmt.Registry) error { if o.RemoteAzureDatabase != nil { + + if swag.IsZero(o.RemoteAzureDatabase) { // not required + return nil + } + if err := o.RemoteAzureDatabase.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addNodeOk" + "." + "remote_azure_database") @@ -766,6 +958,11 @@ func (o *AddNodeOKBody) contextValidateRemoteAzureDatabase(ctx context.Context, func (o *AddNodeOKBody) contextValidateRemoteRDS(ctx context.Context, formats strfmt.Registry) error { if o.RemoteRDS != nil { + + if swag.IsZero(o.RemoteRDS) { // not required + return nil + } + if err := o.RemoteRDS.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addNodeOk" + "." + "remote_rds") diff --git a/api/inventory/v1/json/client/nodes_service/get_node_responses.go b/api/inventory/v1/json/client/nodes_service/get_node_responses.go index 805d894543..cae578625e 100644 --- a/api/inventory/v1/json/client/nodes_service/get_node_responses.go +++ b/api/inventory/v1/json/client/nodes_service/get_node_responses.go @@ -7,6 +7,7 @@ package nodes_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type GetNodeOK struct { Payload *GetNodeOKBody } +// IsSuccess returns true when this get node Ok response has a 2xx status code +func (o *GetNodeOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get node Ok response has a 3xx status code +func (o *GetNodeOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get node Ok response has a 4xx status code +func (o *GetNodeOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get node Ok response has a 5xx status code +func (o *GetNodeOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get node Ok response a status code equal to that given +func (o *GetNodeOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get node Ok response +func (o *GetNodeOK) Code() int { + return 200 +} + func (o *GetNodeOK) Error() string { - return fmt.Sprintf("[GET /v1/inventory/nodes/{node_id}][%d] getNodeOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/nodes/{node_id}][%d] getNodeOk %s", 200, payload) +} + +func (o *GetNodeOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/nodes/{node_id}][%d] getNodeOk %s", 200, payload) } func (o *GetNodeOK) GetPayload() *GetNodeOKBody { @@ -94,13 +131,44 @@ type GetNodeDefault struct { Payload *GetNodeDefaultBody } +// IsSuccess returns true when this get node default response has a 2xx status code +func (o *GetNodeDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this get node default response has a 3xx status code +func (o *GetNodeDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this get node default response has a 4xx status code +func (o *GetNodeDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this get node default response has a 5xx status code +func (o *GetNodeDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this get node default response a status code equal to that given +func (o *GetNodeDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the get node default response func (o *GetNodeDefault) Code() int { return o._statusCode } func (o *GetNodeDefault) Error() string { - return fmt.Sprintf("[GET /v1/inventory/nodes/{node_id}][%d] GetNode default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/nodes/{node_id}][%d] GetNode default %s", o._statusCode, payload) +} + +func (o *GetNodeDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/nodes/{node_id}][%d] GetNode default %s", o._statusCode, payload) } func (o *GetNodeDefault) GetPayload() *GetNodeDefaultBody { @@ -190,6 +258,11 @@ func (o *GetNodeDefaultBody) ContextValidate(ctx context.Context, formats strfmt func (o *GetNodeDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("GetNode default" + "." + "details" + "." + strconv.Itoa(i)) @@ -229,6 +302,80 @@ swagger:model GetNodeDefaultBodyDetailsItems0 type GetNodeDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // get node default body details items0 + GetNodeDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *GetNodeDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv GetNodeDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.GetNodeDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o GetNodeDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.GetNodeDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.GetNodeDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this get node default body details items0 @@ -437,6 +584,11 @@ func (o *GetNodeOKBody) ContextValidate(ctx context.Context, formats strfmt.Regi func (o *GetNodeOKBody) contextValidateContainer(ctx context.Context, formats strfmt.Registry) error { if o.Container != nil { + + if swag.IsZero(o.Container) { // not required + return nil + } + if err := o.Container.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getNodeOk" + "." + "container") @@ -452,6 +604,11 @@ func (o *GetNodeOKBody) contextValidateContainer(ctx context.Context, formats st func (o *GetNodeOKBody) contextValidateGeneric(ctx context.Context, formats strfmt.Registry) error { if o.Generic != nil { + + if swag.IsZero(o.Generic) { // not required + return nil + } + if err := o.Generic.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getNodeOk" + "." + "generic") @@ -467,6 +624,11 @@ func (o *GetNodeOKBody) contextValidateGeneric(ctx context.Context, formats strf func (o *GetNodeOKBody) contextValidateRemote(ctx context.Context, formats strfmt.Registry) error { if o.Remote != nil { + + if swag.IsZero(o.Remote) { // not required + return nil + } + if err := o.Remote.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getNodeOk" + "." + "remote") @@ -482,6 +644,11 @@ func (o *GetNodeOKBody) contextValidateRemote(ctx context.Context, formats strfm func (o *GetNodeOKBody) contextValidateRemoteAzureDatabase(ctx context.Context, formats strfmt.Registry) error { if o.RemoteAzureDatabase != nil { + + if swag.IsZero(o.RemoteAzureDatabase) { // not required + return nil + } + if err := o.RemoteAzureDatabase.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getNodeOk" + "." + "remote_azure_database") @@ -497,6 +664,11 @@ func (o *GetNodeOKBody) contextValidateRemoteAzureDatabase(ctx context.Context, func (o *GetNodeOKBody) contextValidateRemoteRDS(ctx context.Context, formats strfmt.Registry) error { if o.RemoteRDS != nil { + + if swag.IsZero(o.RemoteRDS) { // not required + return nil + } + if err := o.RemoteRDS.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getNodeOk" + "." + "remote_rds") diff --git a/api/inventory/v1/json/client/nodes_service/list_nodes_responses.go b/api/inventory/v1/json/client/nodes_service/list_nodes_responses.go index 28c0f07b35..7182f2aca7 100644 --- a/api/inventory/v1/json/client/nodes_service/list_nodes_responses.go +++ b/api/inventory/v1/json/client/nodes_service/list_nodes_responses.go @@ -7,6 +7,7 @@ package nodes_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type ListNodesOK struct { Payload *ListNodesOKBody } +// IsSuccess returns true when this list nodes Ok response has a 2xx status code +func (o *ListNodesOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this list nodes Ok response has a 3xx status code +func (o *ListNodesOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this list nodes Ok response has a 4xx status code +func (o *ListNodesOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this list nodes Ok response has a 5xx status code +func (o *ListNodesOK) IsServerError() bool { + return false +} + +// IsCode returns true when this list nodes Ok response a status code equal to that given +func (o *ListNodesOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the list nodes Ok response +func (o *ListNodesOK) Code() int { + return 200 +} + func (o *ListNodesOK) Error() string { - return fmt.Sprintf("[GET /v1/inventory/nodes][%d] listNodesOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/nodes][%d] listNodesOk %s", 200, payload) +} + +func (o *ListNodesOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/nodes][%d] listNodesOk %s", 200, payload) } func (o *ListNodesOK) GetPayload() *ListNodesOKBody { @@ -94,13 +131,44 @@ type ListNodesDefault struct { Payload *ListNodesDefaultBody } +// IsSuccess returns true when this list nodes default response has a 2xx status code +func (o *ListNodesDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this list nodes default response has a 3xx status code +func (o *ListNodesDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this list nodes default response has a 4xx status code +func (o *ListNodesDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this list nodes default response has a 5xx status code +func (o *ListNodesDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this list nodes default response a status code equal to that given +func (o *ListNodesDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the list nodes default response func (o *ListNodesDefault) Code() int { return o._statusCode } func (o *ListNodesDefault) Error() string { - return fmt.Sprintf("[GET /v1/inventory/nodes][%d] ListNodes default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/nodes][%d] ListNodes default %s", o._statusCode, payload) +} + +func (o *ListNodesDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/nodes][%d] ListNodes default %s", o._statusCode, payload) } func (o *ListNodesDefault) GetPayload() *ListNodesDefaultBody { @@ -190,6 +258,11 @@ func (o *ListNodesDefaultBody) ContextValidate(ctx context.Context, formats strf func (o *ListNodesDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ListNodes default" + "." + "details" + "." + strconv.Itoa(i)) @@ -229,6 +302,80 @@ swagger:model ListNodesDefaultBodyDetailsItems0 type ListNodesDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // list nodes default body details items0 + ListNodesDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ListNodesDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ListNodesDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ListNodesDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ListNodesDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ListNodesDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ListNodesDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this list nodes default body details items0 @@ -473,6 +620,11 @@ func (o *ListNodesOKBody) ContextValidate(ctx context.Context, formats strfmt.Re func (o *ListNodesOKBody) contextValidateGeneric(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Generic); i++ { if o.Generic[i] != nil { + + if swag.IsZero(o.Generic[i]) { // not required + return nil + } + if err := o.Generic[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listNodesOk" + "." + "generic" + "." + strconv.Itoa(i)) @@ -490,6 +642,11 @@ func (o *ListNodesOKBody) contextValidateGeneric(ctx context.Context, formats st func (o *ListNodesOKBody) contextValidateContainer(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Container); i++ { if o.Container[i] != nil { + + if swag.IsZero(o.Container[i]) { // not required + return nil + } + if err := o.Container[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listNodesOk" + "." + "container" + "." + strconv.Itoa(i)) @@ -507,6 +664,11 @@ func (o *ListNodesOKBody) contextValidateContainer(ctx context.Context, formats func (o *ListNodesOKBody) contextValidateRemote(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Remote); i++ { if o.Remote[i] != nil { + + if swag.IsZero(o.Remote[i]) { // not required + return nil + } + if err := o.Remote[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listNodesOk" + "." + "remote" + "." + strconv.Itoa(i)) @@ -524,6 +686,11 @@ func (o *ListNodesOKBody) contextValidateRemote(ctx context.Context, formats str func (o *ListNodesOKBody) contextValidateRemoteRDS(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.RemoteRDS); i++ { if o.RemoteRDS[i] != nil { + + if swag.IsZero(o.RemoteRDS[i]) { // not required + return nil + } + if err := o.RemoteRDS[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listNodesOk" + "." + "remote_rds" + "." + strconv.Itoa(i)) @@ -541,6 +708,11 @@ func (o *ListNodesOKBody) contextValidateRemoteRDS(ctx context.Context, formats func (o *ListNodesOKBody) contextValidateRemoteAzureDatabase(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.RemoteAzureDatabase); i++ { if o.RemoteAzureDatabase[i] != nil { + + if swag.IsZero(o.RemoteAzureDatabase[i]) { // not required + return nil + } + if err := o.RemoteAzureDatabase[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listNodesOk" + "." + "remote_azure_database" + "." + strconv.Itoa(i)) diff --git a/api/inventory/v1/json/client/nodes_service/nodes_service_client.go b/api/inventory/v1/json/client/nodes_service/nodes_service_client.go index e951a2e7f3..621901563f 100644 --- a/api/inventory/v1/json/client/nodes_service/nodes_service_client.go +++ b/api/inventory/v1/json/client/nodes_service/nodes_service_client.go @@ -7,6 +7,7 @@ package nodes_service import ( "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" ) @@ -15,6 +16,31 @@ func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientServi return &Client{transport: transport, formats: formats} } +// New creates a new nodes service API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new nodes service API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + /* Client for nodes service API */ @@ -23,7 +49,7 @@ type Client struct { formats strfmt.Registry } -// ClientOption is the option for Client methods +// ClientOption may be used to customize the behavior of Client methods. type ClientOption func(*runtime.ClientOperation) // ClientService is the interface for Client methods diff --git a/api/inventory/v1/json/client/nodes_service/remove_node_responses.go b/api/inventory/v1/json/client/nodes_service/remove_node_responses.go index c1b94b61bd..80f2e26ef2 100644 --- a/api/inventory/v1/json/client/nodes_service/remove_node_responses.go +++ b/api/inventory/v1/json/client/nodes_service/remove_node_responses.go @@ -7,6 +7,7 @@ package nodes_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type RemoveNodeOK struct { Payload interface{} } +// IsSuccess returns true when this remove node Ok response has a 2xx status code +func (o *RemoveNodeOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this remove node Ok response has a 3xx status code +func (o *RemoveNodeOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this remove node Ok response has a 4xx status code +func (o *RemoveNodeOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this remove node Ok response has a 5xx status code +func (o *RemoveNodeOK) IsServerError() bool { + return false +} + +// IsCode returns true when this remove node Ok response a status code equal to that given +func (o *RemoveNodeOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the remove node Ok response +func (o *RemoveNodeOK) Code() int { + return 200 +} + func (o *RemoveNodeOK) Error() string { - return fmt.Sprintf("[DELETE /v1/inventory/nodes/{node_id}][%d] removeNodeOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/inventory/nodes/{node_id}][%d] removeNodeOk %s", 200, payload) +} + +func (o *RemoveNodeOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/inventory/nodes/{node_id}][%d] removeNodeOk %s", 200, payload) } func (o *RemoveNodeOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type RemoveNodeDefault struct { Payload *RemoveNodeDefaultBody } +// IsSuccess returns true when this remove node default response has a 2xx status code +func (o *RemoveNodeDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this remove node default response has a 3xx status code +func (o *RemoveNodeDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this remove node default response has a 4xx status code +func (o *RemoveNodeDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this remove node default response has a 5xx status code +func (o *RemoveNodeDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this remove node default response a status code equal to that given +func (o *RemoveNodeDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the remove node default response func (o *RemoveNodeDefault) Code() int { return o._statusCode } func (o *RemoveNodeDefault) Error() string { - return fmt.Sprintf("[DELETE /v1/inventory/nodes/{node_id}][%d] RemoveNode default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/inventory/nodes/{node_id}][%d] RemoveNode default %s", o._statusCode, payload) +} + +func (o *RemoveNodeDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/inventory/nodes/{node_id}][%d] RemoveNode default %s", o._statusCode, payload) } func (o *RemoveNodeDefault) GetPayload() *RemoveNodeDefaultBody { @@ -188,6 +256,11 @@ func (o *RemoveNodeDefaultBody) ContextValidate(ctx context.Context, formats str func (o *RemoveNodeDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("RemoveNode default" + "." + "details" + "." + strconv.Itoa(i)) @@ -227,6 +300,80 @@ swagger:model RemoveNodeDefaultBodyDetailsItems0 type RemoveNodeDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // remove node default body details items0 + RemoveNodeDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *RemoveNodeDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv RemoveNodeDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.RemoveNodeDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o RemoveNodeDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.RemoveNodeDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.RemoveNodeDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this remove node default body details items0 diff --git a/api/inventory/v1/json/client/services_service/add_service_responses.go b/api/inventory/v1/json/client/services_service/add_service_responses.go index 186b4acdf0..87767c8a51 100644 --- a/api/inventory/v1/json/client/services_service/add_service_responses.go +++ b/api/inventory/v1/json/client/services_service/add_service_responses.go @@ -7,6 +7,7 @@ package services_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type AddServiceOK struct { Payload *AddServiceOKBody } +// IsSuccess returns true when this add service Ok response has a 2xx status code +func (o *AddServiceOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this add service Ok response has a 3xx status code +func (o *AddServiceOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this add service Ok response has a 4xx status code +func (o *AddServiceOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this add service Ok response has a 5xx status code +func (o *AddServiceOK) IsServerError() bool { + return false +} + +// IsCode returns true when this add service Ok response a status code equal to that given +func (o *AddServiceOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the add service Ok response +func (o *AddServiceOK) Code() int { + return 200 +} + func (o *AddServiceOK) Error() string { - return fmt.Sprintf("[POST /v1/inventory/services][%d] addServiceOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/inventory/services][%d] addServiceOk %s", 200, payload) +} + +func (o *AddServiceOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/inventory/services][%d] addServiceOk %s", 200, payload) } func (o *AddServiceOK) GetPayload() *AddServiceOKBody { @@ -94,13 +131,44 @@ type AddServiceDefault struct { Payload *AddServiceDefaultBody } +// IsSuccess returns true when this add service default response has a 2xx status code +func (o *AddServiceDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this add service default response has a 3xx status code +func (o *AddServiceDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this add service default response has a 4xx status code +func (o *AddServiceDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this add service default response has a 5xx status code +func (o *AddServiceDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this add service default response a status code equal to that given +func (o *AddServiceDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the add service default response func (o *AddServiceDefault) Code() int { return o._statusCode } func (o *AddServiceDefault) Error() string { - return fmt.Sprintf("[POST /v1/inventory/services][%d] AddService default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/inventory/services][%d] AddService default %s", o._statusCode, payload) +} + +func (o *AddServiceDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/inventory/services][%d] AddService default %s", o._statusCode, payload) } func (o *AddServiceDefault) GetPayload() *AddServiceDefaultBody { @@ -326,6 +394,11 @@ func (o *AddServiceBody) ContextValidate(ctx context.Context, formats strfmt.Reg func (o *AddServiceBody) contextValidateExternal(ctx context.Context, formats strfmt.Registry) error { if o.External != nil { + + if swag.IsZero(o.External) { // not required + return nil + } + if err := o.External.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "external") @@ -341,6 +414,11 @@ func (o *AddServiceBody) contextValidateExternal(ctx context.Context, formats st func (o *AddServiceBody) contextValidateHaproxy(ctx context.Context, formats strfmt.Registry) error { if o.Haproxy != nil { + + if swag.IsZero(o.Haproxy) { // not required + return nil + } + if err := o.Haproxy.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "haproxy") @@ -356,6 +434,11 @@ func (o *AddServiceBody) contextValidateHaproxy(ctx context.Context, formats str func (o *AddServiceBody) contextValidateMongodb(ctx context.Context, formats strfmt.Registry) error { if o.Mongodb != nil { + + if swag.IsZero(o.Mongodb) { // not required + return nil + } + if err := o.Mongodb.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "mongodb") @@ -371,6 +454,11 @@ func (o *AddServiceBody) contextValidateMongodb(ctx context.Context, formats str func (o *AddServiceBody) contextValidateMysql(ctx context.Context, formats strfmt.Registry) error { if o.Mysql != nil { + + if swag.IsZero(o.Mysql) { // not required + return nil + } + if err := o.Mysql.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "mysql") @@ -386,6 +474,11 @@ func (o *AddServiceBody) contextValidateMysql(ctx context.Context, formats strfm func (o *AddServiceBody) contextValidatePostgresql(ctx context.Context, formats strfmt.Registry) error { if o.Postgresql != nil { + + if swag.IsZero(o.Postgresql) { // not required + return nil + } + if err := o.Postgresql.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "postgresql") @@ -401,6 +494,11 @@ func (o *AddServiceBody) contextValidatePostgresql(ctx context.Context, formats func (o *AddServiceBody) contextValidateProxysql(ctx context.Context, formats strfmt.Registry) error { if o.Proxysql != nil { + + if swag.IsZero(o.Proxysql) { // not required + return nil + } + if err := o.Proxysql.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "proxysql") @@ -504,6 +602,11 @@ func (o *AddServiceDefaultBody) ContextValidate(ctx context.Context, formats str func (o *AddServiceDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("AddService default" + "." + "details" + "." + strconv.Itoa(i)) @@ -543,6 +646,80 @@ swagger:model AddServiceDefaultBodyDetailsItems0 type AddServiceDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // add service default body details items0 + AddServiceDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *AddServiceDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv AddServiceDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.AddServiceDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o AddServiceDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.AddServiceDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.AddServiceDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this add service default body details items0 @@ -781,6 +958,11 @@ func (o *AddServiceOKBody) ContextValidate(ctx context.Context, formats strfmt.R func (o *AddServiceOKBody) contextValidateExternal(ctx context.Context, formats strfmt.Registry) error { if o.External != nil { + + if swag.IsZero(o.External) { // not required + return nil + } + if err := o.External.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "external") @@ -796,6 +978,11 @@ func (o *AddServiceOKBody) contextValidateExternal(ctx context.Context, formats func (o *AddServiceOKBody) contextValidateHaproxy(ctx context.Context, formats strfmt.Registry) error { if o.Haproxy != nil { + + if swag.IsZero(o.Haproxy) { // not required + return nil + } + if err := o.Haproxy.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "haproxy") @@ -811,6 +998,11 @@ func (o *AddServiceOKBody) contextValidateHaproxy(ctx context.Context, formats s func (o *AddServiceOKBody) contextValidateMongodb(ctx context.Context, formats strfmt.Registry) error { if o.Mongodb != nil { + + if swag.IsZero(o.Mongodb) { // not required + return nil + } + if err := o.Mongodb.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "mongodb") @@ -826,6 +1018,11 @@ func (o *AddServiceOKBody) contextValidateMongodb(ctx context.Context, formats s func (o *AddServiceOKBody) contextValidateMysql(ctx context.Context, formats strfmt.Registry) error { if o.Mysql != nil { + + if swag.IsZero(o.Mysql) { // not required + return nil + } + if err := o.Mysql.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "mysql") @@ -841,6 +1038,11 @@ func (o *AddServiceOKBody) contextValidateMysql(ctx context.Context, formats str func (o *AddServiceOKBody) contextValidatePostgresql(ctx context.Context, formats strfmt.Registry) error { if o.Postgresql != nil { + + if swag.IsZero(o.Postgresql) { // not required + return nil + } + if err := o.Postgresql.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "postgresql") @@ -856,6 +1058,11 @@ func (o *AddServiceOKBody) contextValidatePostgresql(ctx context.Context, format func (o *AddServiceOKBody) contextValidateProxysql(ctx context.Context, formats strfmt.Registry) error { if o.Proxysql != nil { + + if swag.IsZero(o.Proxysql) { // not required + return nil + } + if err := o.Proxysql.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "proxysql") diff --git a/api/inventory/v1/json/client/services_service/change_service_responses.go b/api/inventory/v1/json/client/services_service/change_service_responses.go index 3729b23df2..c6f61609b7 100644 --- a/api/inventory/v1/json/client/services_service/change_service_responses.go +++ b/api/inventory/v1/json/client/services_service/change_service_responses.go @@ -7,6 +7,7 @@ package services_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type ChangeServiceOK struct { Payload *ChangeServiceOKBody } +// IsSuccess returns true when this change service Ok response has a 2xx status code +func (o *ChangeServiceOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this change service Ok response has a 3xx status code +func (o *ChangeServiceOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this change service Ok response has a 4xx status code +func (o *ChangeServiceOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this change service Ok response has a 5xx status code +func (o *ChangeServiceOK) IsServerError() bool { + return false +} + +// IsCode returns true when this change service Ok response a status code equal to that given +func (o *ChangeServiceOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the change service Ok response +func (o *ChangeServiceOK) Code() int { + return 200 +} + func (o *ChangeServiceOK) Error() string { - return fmt.Sprintf("[PUT /v1/inventory/services/{service_id}][%d] changeServiceOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/inventory/services/{service_id}][%d] changeServiceOk %s", 200, payload) +} + +func (o *ChangeServiceOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/inventory/services/{service_id}][%d] changeServiceOk %s", 200, payload) } func (o *ChangeServiceOK) GetPayload() *ChangeServiceOKBody { @@ -94,13 +131,44 @@ type ChangeServiceDefault struct { Payload *ChangeServiceDefaultBody } +// IsSuccess returns true when this change service default response has a 2xx status code +func (o *ChangeServiceDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this change service default response has a 3xx status code +func (o *ChangeServiceDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this change service default response has a 4xx status code +func (o *ChangeServiceDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this change service default response has a 5xx status code +func (o *ChangeServiceDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this change service default response a status code equal to that given +func (o *ChangeServiceDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the change service default response func (o *ChangeServiceDefault) Code() int { return o._statusCode } func (o *ChangeServiceDefault) Error() string { - return fmt.Sprintf("[PUT /v1/inventory/services/{service_id}][%d] ChangeService default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/inventory/services/{service_id}][%d] ChangeService default %s", o._statusCode, payload) +} + +func (o *ChangeServiceDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/inventory/services/{service_id}][%d] ChangeService default %s", o._statusCode, payload) } func (o *ChangeServiceDefault) GetPayload() *ChangeServiceDefaultBody { @@ -188,6 +256,11 @@ func (o *ChangeServiceBody) ContextValidate(ctx context.Context, formats strfmt. func (o *ChangeServiceBody) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "custom_labels") @@ -291,6 +364,11 @@ func (o *ChangeServiceDefaultBody) ContextValidate(ctx context.Context, formats func (o *ChangeServiceDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ChangeService default" + "." + "details" + "." + strconv.Itoa(i)) @@ -330,6 +408,80 @@ swagger:model ChangeServiceDefaultBodyDetailsItems0 type ChangeServiceDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // change service default body details items0 + ChangeServiceDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ChangeServiceDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ChangeServiceDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ChangeServiceDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ChangeServiceDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ChangeServiceDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ChangeServiceDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this change service default body details items0 @@ -568,6 +720,11 @@ func (o *ChangeServiceOKBody) ContextValidate(ctx context.Context, formats strfm func (o *ChangeServiceOKBody) contextValidateExternal(ctx context.Context, formats strfmt.Registry) error { if o.External != nil { + + if swag.IsZero(o.External) { // not required + return nil + } + if err := o.External.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeServiceOk" + "." + "external") @@ -583,6 +740,11 @@ func (o *ChangeServiceOKBody) contextValidateExternal(ctx context.Context, forma func (o *ChangeServiceOKBody) contextValidateHaproxy(ctx context.Context, formats strfmt.Registry) error { if o.Haproxy != nil { + + if swag.IsZero(o.Haproxy) { // not required + return nil + } + if err := o.Haproxy.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeServiceOk" + "." + "haproxy") @@ -598,6 +760,11 @@ func (o *ChangeServiceOKBody) contextValidateHaproxy(ctx context.Context, format func (o *ChangeServiceOKBody) contextValidateMongodb(ctx context.Context, formats strfmt.Registry) error { if o.Mongodb != nil { + + if swag.IsZero(o.Mongodb) { // not required + return nil + } + if err := o.Mongodb.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeServiceOk" + "." + "mongodb") @@ -613,6 +780,11 @@ func (o *ChangeServiceOKBody) contextValidateMongodb(ctx context.Context, format func (o *ChangeServiceOKBody) contextValidateMysql(ctx context.Context, formats strfmt.Registry) error { if o.Mysql != nil { + + if swag.IsZero(o.Mysql) { // not required + return nil + } + if err := o.Mysql.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeServiceOk" + "." + "mysql") @@ -628,6 +800,11 @@ func (o *ChangeServiceOKBody) contextValidateMysql(ctx context.Context, formats func (o *ChangeServiceOKBody) contextValidatePostgresql(ctx context.Context, formats strfmt.Registry) error { if o.Postgresql != nil { + + if swag.IsZero(o.Postgresql) { // not required + return nil + } + if err := o.Postgresql.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeServiceOk" + "." + "postgresql") @@ -643,6 +820,11 @@ func (o *ChangeServiceOKBody) contextValidatePostgresql(ctx context.Context, for func (o *ChangeServiceOKBody) contextValidateProxysql(ctx context.Context, formats strfmt.Registry) error { if o.Proxysql != nil { + + if swag.IsZero(o.Proxysql) { // not required + return nil + } + if err := o.Proxysql.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeServiceOk" + "." + "proxysql") diff --git a/api/inventory/v1/json/client/services_service/get_service_responses.go b/api/inventory/v1/json/client/services_service/get_service_responses.go index deeec26b8a..ac73582902 100644 --- a/api/inventory/v1/json/client/services_service/get_service_responses.go +++ b/api/inventory/v1/json/client/services_service/get_service_responses.go @@ -7,6 +7,7 @@ package services_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type GetServiceOK struct { Payload *GetServiceOKBody } +// IsSuccess returns true when this get service Ok response has a 2xx status code +func (o *GetServiceOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get service Ok response has a 3xx status code +func (o *GetServiceOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get service Ok response has a 4xx status code +func (o *GetServiceOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get service Ok response has a 5xx status code +func (o *GetServiceOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get service Ok response a status code equal to that given +func (o *GetServiceOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get service Ok response +func (o *GetServiceOK) Code() int { + return 200 +} + func (o *GetServiceOK) Error() string { - return fmt.Sprintf("[GET /v1/inventory/services/{service_id}][%d] getServiceOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/services/{service_id}][%d] getServiceOk %s", 200, payload) +} + +func (o *GetServiceOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/services/{service_id}][%d] getServiceOk %s", 200, payload) } func (o *GetServiceOK) GetPayload() *GetServiceOKBody { @@ -94,13 +131,44 @@ type GetServiceDefault struct { Payload *GetServiceDefaultBody } +// IsSuccess returns true when this get service default response has a 2xx status code +func (o *GetServiceDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this get service default response has a 3xx status code +func (o *GetServiceDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this get service default response has a 4xx status code +func (o *GetServiceDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this get service default response has a 5xx status code +func (o *GetServiceDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this get service default response a status code equal to that given +func (o *GetServiceDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the get service default response func (o *GetServiceDefault) Code() int { return o._statusCode } func (o *GetServiceDefault) Error() string { - return fmt.Sprintf("[GET /v1/inventory/services/{service_id}][%d] GetService default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/services/{service_id}][%d] GetService default %s", o._statusCode, payload) +} + +func (o *GetServiceDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/services/{service_id}][%d] GetService default %s", o._statusCode, payload) } func (o *GetServiceDefault) GetPayload() *GetServiceDefaultBody { @@ -190,6 +258,11 @@ func (o *GetServiceDefaultBody) ContextValidate(ctx context.Context, formats str func (o *GetServiceDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("GetService default" + "." + "details" + "." + strconv.Itoa(i)) @@ -229,6 +302,80 @@ swagger:model GetServiceDefaultBodyDetailsItems0 type GetServiceDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // get service default body details items0 + GetServiceDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *GetServiceDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv GetServiceDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.GetServiceDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o GetServiceDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.GetServiceDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.GetServiceDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this get service default body details items0 @@ -467,6 +614,11 @@ func (o *GetServiceOKBody) ContextValidate(ctx context.Context, formats strfmt.R func (o *GetServiceOKBody) contextValidateExternal(ctx context.Context, formats strfmt.Registry) error { if o.External != nil { + + if swag.IsZero(o.External) { // not required + return nil + } + if err := o.External.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getServiceOk" + "." + "external") @@ -482,6 +634,11 @@ func (o *GetServiceOKBody) contextValidateExternal(ctx context.Context, formats func (o *GetServiceOKBody) contextValidateHaproxy(ctx context.Context, formats strfmt.Registry) error { if o.Haproxy != nil { + + if swag.IsZero(o.Haproxy) { // not required + return nil + } + if err := o.Haproxy.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getServiceOk" + "." + "haproxy") @@ -497,6 +654,11 @@ func (o *GetServiceOKBody) contextValidateHaproxy(ctx context.Context, formats s func (o *GetServiceOKBody) contextValidateMongodb(ctx context.Context, formats strfmt.Registry) error { if o.Mongodb != nil { + + if swag.IsZero(o.Mongodb) { // not required + return nil + } + if err := o.Mongodb.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getServiceOk" + "." + "mongodb") @@ -512,6 +674,11 @@ func (o *GetServiceOKBody) contextValidateMongodb(ctx context.Context, formats s func (o *GetServiceOKBody) contextValidateMysql(ctx context.Context, formats strfmt.Registry) error { if o.Mysql != nil { + + if swag.IsZero(o.Mysql) { // not required + return nil + } + if err := o.Mysql.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getServiceOk" + "." + "mysql") @@ -527,6 +694,11 @@ func (o *GetServiceOKBody) contextValidateMysql(ctx context.Context, formats str func (o *GetServiceOKBody) contextValidatePostgresql(ctx context.Context, formats strfmt.Registry) error { if o.Postgresql != nil { + + if swag.IsZero(o.Postgresql) { // not required + return nil + } + if err := o.Postgresql.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getServiceOk" + "." + "postgresql") @@ -542,6 +714,11 @@ func (o *GetServiceOKBody) contextValidatePostgresql(ctx context.Context, format func (o *GetServiceOKBody) contextValidateProxysql(ctx context.Context, formats strfmt.Registry) error { if o.Proxysql != nil { + + if swag.IsZero(o.Proxysql) { // not required + return nil + } + if err := o.Proxysql.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getServiceOk" + "." + "proxysql") diff --git a/api/inventory/v1/json/client/services_service/list_active_service_types_responses.go b/api/inventory/v1/json/client/services_service/list_active_service_types_responses.go index d4ec0260cf..992e691c94 100644 --- a/api/inventory/v1/json/client/services_service/list_active_service_types_responses.go +++ b/api/inventory/v1/json/client/services_service/list_active_service_types_responses.go @@ -59,8 +59,44 @@ type ListActiveServiceTypesOK struct { Payload *ListActiveServiceTypesOKBody } +// IsSuccess returns true when this list active service types Ok response has a 2xx status code +func (o *ListActiveServiceTypesOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this list active service types Ok response has a 3xx status code +func (o *ListActiveServiceTypesOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this list active service types Ok response has a 4xx status code +func (o *ListActiveServiceTypesOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this list active service types Ok response has a 5xx status code +func (o *ListActiveServiceTypesOK) IsServerError() bool { + return false +} + +// IsCode returns true when this list active service types Ok response a status code equal to that given +func (o *ListActiveServiceTypesOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the list active service types Ok response +func (o *ListActiveServiceTypesOK) Code() int { + return 200 +} + func (o *ListActiveServiceTypesOK) Error() string { - return fmt.Sprintf("[POST /v1/inventory/services:getTypes][%d] listActiveServiceTypesOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/inventory/services:getTypes][%d] listActiveServiceTypesOk %s", 200, payload) +} + +func (o *ListActiveServiceTypesOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/inventory/services:getTypes][%d] listActiveServiceTypesOk %s", 200, payload) } func (o *ListActiveServiceTypesOK) GetPayload() *ListActiveServiceTypesOKBody { @@ -96,13 +132,44 @@ type ListActiveServiceTypesDefault struct { Payload *ListActiveServiceTypesDefaultBody } +// IsSuccess returns true when this list active service types default response has a 2xx status code +func (o *ListActiveServiceTypesDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this list active service types default response has a 3xx status code +func (o *ListActiveServiceTypesDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this list active service types default response has a 4xx status code +func (o *ListActiveServiceTypesDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this list active service types default response has a 5xx status code +func (o *ListActiveServiceTypesDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this list active service types default response a status code equal to that given +func (o *ListActiveServiceTypesDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the list active service types default response func (o *ListActiveServiceTypesDefault) Code() int { return o._statusCode } func (o *ListActiveServiceTypesDefault) Error() string { - return fmt.Sprintf("[POST /v1/inventory/services:getTypes][%d] ListActiveServiceTypes default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/inventory/services:getTypes][%d] ListActiveServiceTypes default %s", o._statusCode, payload) +} + +func (o *ListActiveServiceTypesDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/inventory/services:getTypes][%d] ListActiveServiceTypes default %s", o._statusCode, payload) } func (o *ListActiveServiceTypesDefault) GetPayload() *ListActiveServiceTypesDefaultBody { @@ -192,6 +259,11 @@ func (o *ListActiveServiceTypesDefaultBody) ContextValidate(ctx context.Context, func (o *ListActiveServiceTypesDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ListActiveServiceTypes default" + "." + "details" + "." + strconv.Itoa(i)) @@ -231,6 +303,80 @@ swagger:model ListActiveServiceTypesDefaultBodyDetailsItems0 type ListActiveServiceTypesDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // list active service types default body details items0 + ListActiveServiceTypesDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ListActiveServiceTypesDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ListActiveServiceTypesDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ListActiveServiceTypesDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ListActiveServiceTypesDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ListActiveServiceTypesDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ListActiveServiceTypesDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this list active service types default body details items0 diff --git a/api/inventory/v1/json/client/services_service/list_services_responses.go b/api/inventory/v1/json/client/services_service/list_services_responses.go index 94ef085446..ceffebc60e 100644 --- a/api/inventory/v1/json/client/services_service/list_services_responses.go +++ b/api/inventory/v1/json/client/services_service/list_services_responses.go @@ -7,6 +7,7 @@ package services_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type ListServicesOK struct { Payload *ListServicesOKBody } +// IsSuccess returns true when this list services Ok response has a 2xx status code +func (o *ListServicesOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this list services Ok response has a 3xx status code +func (o *ListServicesOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this list services Ok response has a 4xx status code +func (o *ListServicesOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this list services Ok response has a 5xx status code +func (o *ListServicesOK) IsServerError() bool { + return false +} + +// IsCode returns true when this list services Ok response a status code equal to that given +func (o *ListServicesOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the list services Ok response +func (o *ListServicesOK) Code() int { + return 200 +} + func (o *ListServicesOK) Error() string { - return fmt.Sprintf("[GET /v1/inventory/services][%d] listServicesOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/services][%d] listServicesOk %s", 200, payload) +} + +func (o *ListServicesOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/services][%d] listServicesOk %s", 200, payload) } func (o *ListServicesOK) GetPayload() *ListServicesOKBody { @@ -94,13 +131,44 @@ type ListServicesDefault struct { Payload *ListServicesDefaultBody } +// IsSuccess returns true when this list services default response has a 2xx status code +func (o *ListServicesDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this list services default response has a 3xx status code +func (o *ListServicesDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this list services default response has a 4xx status code +func (o *ListServicesDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this list services default response has a 5xx status code +func (o *ListServicesDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this list services default response a status code equal to that given +func (o *ListServicesDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the list services default response func (o *ListServicesDefault) Code() int { return o._statusCode } func (o *ListServicesDefault) Error() string { - return fmt.Sprintf("[GET /v1/inventory/services][%d] ListServices default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/services][%d] ListServices default %s", o._statusCode, payload) +} + +func (o *ListServicesDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/inventory/services][%d] ListServices default %s", o._statusCode, payload) } func (o *ListServicesDefault) GetPayload() *ListServicesDefaultBody { @@ -190,6 +258,11 @@ func (o *ListServicesDefaultBody) ContextValidate(ctx context.Context, formats s func (o *ListServicesDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ListServices default" + "." + "details" + "." + strconv.Itoa(i)) @@ -229,6 +302,80 @@ swagger:model ListServicesDefaultBodyDetailsItems0 type ListServicesDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // list services default body details items0 + ListServicesDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ListServicesDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ListServicesDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ListServicesDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ListServicesDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ListServicesDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ListServicesDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this list services default body details items0 @@ -510,6 +657,11 @@ func (o *ListServicesOKBody) ContextValidate(ctx context.Context, formats strfmt 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listServicesOk" + "." + "mysql" + "." + strconv.Itoa(i)) @@ -527,6 +679,11 @@ func (o *ListServicesOKBody) contextValidateMysql(ctx context.Context, formats s func (o *ListServicesOKBody) contextValidateMongodb(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Mongodb); i++ { if o.Mongodb[i] != nil { + + if swag.IsZero(o.Mongodb[i]) { // not required + return nil + } + if err := o.Mongodb[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listServicesOk" + "." + "mongodb" + "." + strconv.Itoa(i)) @@ -544,6 +701,11 @@ func (o *ListServicesOKBody) contextValidateMongodb(ctx context.Context, formats func (o *ListServicesOKBody) contextValidatePostgresql(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Postgresql); i++ { if o.Postgresql[i] != nil { + + if swag.IsZero(o.Postgresql[i]) { // not required + return nil + } + if err := o.Postgresql[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listServicesOk" + "." + "postgresql" + "." + strconv.Itoa(i)) @@ -561,6 +723,11 @@ func (o *ListServicesOKBody) contextValidatePostgresql(ctx context.Context, form func (o *ListServicesOKBody) contextValidateProxysql(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Proxysql); i++ { if o.Proxysql[i] != nil { + + if swag.IsZero(o.Proxysql[i]) { // not required + return nil + } + if err := o.Proxysql[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listServicesOk" + "." + "proxysql" + "." + strconv.Itoa(i)) @@ -578,6 +745,11 @@ func (o *ListServicesOKBody) contextValidateProxysql(ctx context.Context, format func (o *ListServicesOKBody) contextValidateHaproxy(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Haproxy); i++ { if o.Haproxy[i] != nil { + + if swag.IsZero(o.Haproxy[i]) { // not required + return nil + } + if err := o.Haproxy[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listServicesOk" + "." + "haproxy" + "." + strconv.Itoa(i)) @@ -595,6 +767,11 @@ func (o *ListServicesOKBody) contextValidateHaproxy(ctx context.Context, formats func (o *ListServicesOKBody) contextValidateExternal(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.External); i++ { if o.External[i] != nil { + + if swag.IsZero(o.External[i]) { // not required + return nil + } + if err := o.External[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listServicesOk" + "." + "external" + "." + strconv.Itoa(i)) diff --git a/api/inventory/v1/json/client/services_service/remove_service_responses.go b/api/inventory/v1/json/client/services_service/remove_service_responses.go index 58acecfbd7..554e2978f7 100644 --- a/api/inventory/v1/json/client/services_service/remove_service_responses.go +++ b/api/inventory/v1/json/client/services_service/remove_service_responses.go @@ -7,6 +7,7 @@ package services_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type RemoveServiceOK struct { Payload interface{} } +// IsSuccess returns true when this remove service Ok response has a 2xx status code +func (o *RemoveServiceOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this remove service Ok response has a 3xx status code +func (o *RemoveServiceOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this remove service Ok response has a 4xx status code +func (o *RemoveServiceOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this remove service Ok response has a 5xx status code +func (o *RemoveServiceOK) IsServerError() bool { + return false +} + +// IsCode returns true when this remove service Ok response a status code equal to that given +func (o *RemoveServiceOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the remove service Ok response +func (o *RemoveServiceOK) Code() int { + return 200 +} + func (o *RemoveServiceOK) Error() string { - return fmt.Sprintf("[DELETE /v1/inventory/services/{service_id}][%d] removeServiceOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/inventory/services/{service_id}][%d] removeServiceOk %s", 200, payload) +} + +func (o *RemoveServiceOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/inventory/services/{service_id}][%d] removeServiceOk %s", 200, payload) } func (o *RemoveServiceOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type RemoveServiceDefault struct { Payload *RemoveServiceDefaultBody } +// IsSuccess returns true when this remove service default response has a 2xx status code +func (o *RemoveServiceDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this remove service default response has a 3xx status code +func (o *RemoveServiceDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this remove service default response has a 4xx status code +func (o *RemoveServiceDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this remove service default response has a 5xx status code +func (o *RemoveServiceDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this remove service default response a status code equal to that given +func (o *RemoveServiceDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the remove service default response func (o *RemoveServiceDefault) Code() int { return o._statusCode } func (o *RemoveServiceDefault) Error() string { - return fmt.Sprintf("[DELETE /v1/inventory/services/{service_id}][%d] RemoveService default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/inventory/services/{service_id}][%d] RemoveService default %s", o._statusCode, payload) +} + +func (o *RemoveServiceDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/inventory/services/{service_id}][%d] RemoveService default %s", o._statusCode, payload) } func (o *RemoveServiceDefault) GetPayload() *RemoveServiceDefaultBody { @@ -188,6 +256,11 @@ func (o *RemoveServiceDefaultBody) ContextValidate(ctx context.Context, formats func (o *RemoveServiceDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("RemoveService default" + "." + "details" + "." + strconv.Itoa(i)) @@ -227,6 +300,80 @@ swagger:model RemoveServiceDefaultBodyDetailsItems0 type RemoveServiceDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // remove service default body details items0 + RemoveServiceDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *RemoveServiceDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv RemoveServiceDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.RemoveServiceDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o RemoveServiceDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.RemoveServiceDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.RemoveServiceDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this remove service default body details items0 diff --git a/api/inventory/v1/json/client/services_service/services_service_client.go b/api/inventory/v1/json/client/services_service/services_service_client.go index a806798d6f..d55dd5c76d 100644 --- a/api/inventory/v1/json/client/services_service/services_service_client.go +++ b/api/inventory/v1/json/client/services_service/services_service_client.go @@ -7,6 +7,7 @@ package services_service import ( "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" ) @@ -15,6 +16,31 @@ func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientServi return &Client{transport: transport, formats: formats} } +// New creates a new services service API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new services service API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + /* Client for services service API */ @@ -23,7 +49,7 @@ type Client struct { formats strfmt.Registry } -// ClientOption is the option for Client methods +// ClientOption may be used to customize the behavior of Client methods. type ClientOption func(*runtime.ClientOperation) // ClientService is the interface for Client methods diff --git a/api/inventory/v1/json/v1.json b/api/inventory/v1/json/v1.json index 03b0b05515..fb44bab32f 100644 --- a/api/inventory/v1/json/v1.json +++ b/api/inventory/v1/json/v1.json @@ -74,10 +74,10 @@ "schema": { "type": "object", "properties": { - "azure_database_exporter": { + "pmm_agent": { "type": "array", "items": { - "description": "AzureDatabaseExporter runs on Generic or Container Node and exposes RemoteAzure Node metrics.", + "description": "PMMAgent runs on Generic or Container Node.", "type": "object", "properties": { "agent_id": { @@ -85,15 +85,10 @@ "type": "string", "x-order": 0 }, - "azure_database_resource_type": { - "type": "string", - "title": "Azure database resource type (mysql, maria, postgres)", - "x-order": 5 - }, - "azure_database_subscription_id": { - "description": "Azure database subscription ID.", + "runs_on_node_id": { + "description": "Node identifier where this instance runs.", "type": "string", - "x-order": 4 + "x-order": 1 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -101,76 +96,38 @@ "additionalProperties": { "type": "string" }, - "x-order": 6 - }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", "x-order": 2 }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 8 + "connected": { + "description": "True if Agent is running and connected to pmm-managed.", + "type": "boolean", + "x-order": 3 }, - "log_level": { - "description": "- LOG_LEVEL_UNSPECIFIED: Auto", + "process_exec_path": { + "description": "Path to exec process.", "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": 11 - }, - "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 - }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, - "mr": { - "description": "Medium resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 12 - }, - "node_id": { - "description": "Node identifier.", + "x-order": 4 + } + } + }, + "x-order": 0 + }, + "vm_agent": { + "type": "array", + "items": { + "description": "VMAgent runs on Generic or Container Node alongside pmm-agent.\nIt scrapes other exporter Agents that are configured with push_metrics_enabled\nand uses Prometheus remote write protocol to push metrics to PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 3 + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "push_metrics_enabled": { - "description": "True if the exporter operates in push metrics mode.", - "type": "boolean", - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", "type": "string", @@ -185,107 +142,27 @@ "AGENT_STATUS_DONE", "AGENT_STATUS_UNKNOWN" ], - "x-order": 7 - } - } - }, - "x-order": 14 - }, - "external_exporter": { - "type": "array", - "items": { - "description": "ExternalExporter runs on any Node type, including Remote Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "disabled": { - "description": "If disabled, metrics from this exporter will not be collected.", - "type": "boolean", "x-order": 2 }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", - "type": "string", - "x-order": 6 - }, - "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 - }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, - "mr": { - "description": "Medium resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 11 - }, "process_exec_path": { "description": "Path to exec process.", "type": "string", - "x-order": 10 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 9 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 5 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", "x-order": 3 }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", + "listen_port": { + "description": "Listen port for scraping metrics.", + "type": "integer", + "format": "int64", "x-order": 4 } } }, - "x-order": 12 + "x-order": 1 }, - "mongodb_exporter": { + "node_exporter": { "type": "array", "items": { - "description": "MongoDBExporter runs on Generic or Container Node and exposes MongoDB Service metrics.", + "description": "NodeExporter runs on Generic or Container Node and exposes its metrics.", "type": "object", "properties": { "agent_id": { @@ -293,11 +170,15 @@ "type": "string", "x-order": 0 }, - "collections_limit": { - "type": "integer", - "format": "int32", - "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", - "x-order": 13 + "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 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -305,12 +186,12 @@ "additionalProperties": { "type": "string" }, - "x-order": 7 + "x-order": 3 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 2 + "x-order": 4 }, "disabled_collectors": { "description": "List of disabled collector names.", @@ -318,23 +199,34 @@ "items": { "type": "string" }, - "x-order": 9 - }, - "enable_all_collectors": { - "description": "Enable All collectors.", - "type": "boolean", - "x-order": 14 + "x-order": 5 }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 17 + "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 finished.\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": 6 }, "listen_port": { "description": "Listen port for scraping metrics.", "type": "integer", "format": "int64", - "x-order": 11 + "x-order": 7 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 8 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -349,7 +241,12 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 16 + "x-order": 9 + }, + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 10 }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", @@ -360,62 +257,53 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 18 + "x-order": 11 + } + } + }, + "x-order": 2 + }, + "mysqld_exporter": { + "type": "array", + "items": { + "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 8 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "stats_collections": { - "type": "array", - "title": "List of colletions to get stats from. Can use *", - "items": { - "type": "string" - }, - "x-order": 12 - }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "MySQL username for scraping metrics.", "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 + "x-order": 4 }, "tls": { "description": "Use TLS for database connections.", @@ -427,25 +315,26 @@ "type": "boolean", "x-order": 6 }, - "username": { - "description": "MongoDB username for scraping metrics.", + "tls_ca": { + "description": "Certificate Authority certificate chain.", "type": "string", - "x-order": 4 - } - } - }, - "x-order": 4 - }, - "mysqld_exporter": { - "type": "array", - "items": { - "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", + "x-order": 7 + }, + "tls_cert": { + "description": "Client certificate.", "type": "string", - "x-order": 0 + "x-order": 8 + }, + "tls_key": { + "description": "Password for decrypting tls_cert.", + "type": "string", + "x-order": 9 + }, + "tablestats_group_table_limit": { + "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", + "type": "integer", + "format": "int32", + "x-order": 10 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -455,10 +344,10 @@ }, "x-order": 11 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 2 + "x-order": 12 }, "disabled_collectors": { "description": "List of disabled collector names.", @@ -468,10 +357,27 @@ }, "x-order": 13 }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 20 + "table_count": { + "description": "Actual table count at the moment of adding.", + "type": "integer", + "format": "int32", + "x-order": 14 + }, + "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 finished.\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": 15 }, "listen_port": { "description": "Listen port for scraping metrics.", @@ -479,6 +385,16 @@ "format": "int64", "x-order": 16 }, + "tablestats_group_disabled": { + "description": "True if tablestats group collectors are currently disabled.", + "type": "boolean", + "x-order": 17 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 18 + }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", "type": "string", @@ -494,6 +410,11 @@ ], "x-order": 19 }, + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 20 + }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", "type": "object", @@ -503,129 +424,76 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 21 + } + } + }, + "x-order": 3 + }, + "mongodb_exporter": { + "type": "array", + "items": { + "description": "MongoDBExporter runs on Generic or Container Node and exposes MongoDB Service metrics.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 18 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 12 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "MongoDB username for scraping metrics.", "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": 15 - }, - "table_count": { - "description": "Actual table count at the moment of adding.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 17 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 10 + "x-order": 4 }, "tls": { "description": "Use TLS for database connections.", "type": "boolean", "x-order": 5 }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, "tls_skip_verify": { "description": "Skip TLS certificate and hostname validation.", "type": "boolean", "x-order": 6 }, - "username": { - "description": "MySQL username for scraping metrics.", - "type": "string", - "x-order": 4 - } - } - }, - "x-order": 3 - }, - "node_exporter": { - "type": "array", - "items": { - "description": "NodeExporter runs on Generic or Container Node and exposes its metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, "custom_labels": { "description": "Custom user-assigned labels.", "type": "object", "additionalProperties": { "type": "string" }, - "x-order": 3 + "x-order": 7 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 2 + "x-order": 8 }, "disabled_collectors": { "description": "List of disabled collector names.", @@ -633,18 +501,53 @@ "items": { "type": "string" }, - "x-order": 5 + "x-order": 9 }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", + "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 finished.\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": 7 + "x-order": 11 + }, + "stats_collections": { + "type": "array", + "title": "List of colletions to get stats from. Can use *", + "items": { + "type": "string" + }, + "x-order": 12 + }, + "collections_limit": { + "type": "integer", + "format": "int32", + "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", + "x-order": 13 + }, + "enable_all_collectors": { + "description": "Enable All collectors.", + "type": "boolean", + "x-order": 14 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 15 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -659,7 +562,12 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 9 + "x-order": 16 + }, + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 17 }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", @@ -670,58 +578,27 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 11 - }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 1 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 8 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 4 - }, - "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 finished.\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": 6 + "x-order": 18 } } }, - "x-order": 2 + "x-order": 4 }, - "pmm_agent": { + "postgres_exporter": { "type": "array", "items": { - "description": "PMMAgent runs on Generic or Container Node.", + "description": "PostgresExporter runs on Generic or Container Node and exposes PostgreSQL Service metrics.", "type": "object", "properties": { "agent_id": { @@ -729,49 +606,35 @@ "type": "string", "x-order": 0 }, - "connected": { - "description": "True if Agent is running and connected to pmm-managed.", - "type": "boolean", - "x-order": 3 + "pmm_agent_id": { + "description": "The pmm-agent identifier which runs this instance.", + "type": "string", + "x-order": 1 }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", + "type": "boolean", "x-order": 2 }, - "process_exec_path": { - "description": "Path to exec process.", + "service_id": { + "description": "Service identifier.", "type": "string", - "x-order": 4 + "x-order": 3 }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - } - } - }, - "x-order": 0 - }, - "postgres_exporter": { - "type": "array", - "items": { - "description": "PostgresExporter runs on Generic or Container Node and exposes PostgreSQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", + "username": { + "description": "PostgreSQL username for scraping metrics.", "type": "string", - "x-order": 0 + "x-order": 4 }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 14 + "tls": { + "description": "Use TLS for database connections.", + "type": "boolean", + "x-order": 5 + }, + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation. Uses sslmode=required instead of verify-full.", + "type": "boolean", + "x-order": 6 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -781,10 +644,10 @@ }, "x-order": 7 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 2 + "x-order": 8 }, "disabled_collectors": { "description": "List of disabled collector names.", @@ -794,10 +657,21 @@ }, "x-order": 9 }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 15 + "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 finished.\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.", @@ -805,6 +679,11 @@ "format": "int64", "x-order": 11 }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 12 + }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", "type": "string", @@ -820,6 +699,17 @@ ], "x-order": 13 }, + "auto_discovery_limit": { + "description": "Limit of databases for auto-discovery.", + "type": "integer", + "format": "int32", + "x-order": 14 + }, + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 15 + }, "max_exporter_connections": { "description": "Maximum number of connections that exporter can open to the database instance.", "type": "integer", @@ -835,54 +725,53 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 17 + } + } + }, + "x-order": 5 + }, + "proxysql_exporter": { + "type": "array", + "items": { + "description": "ProxySQLExporter runs on Generic or Container Node and exposes ProxySQL Service metrics.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 8 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "ProxySQL username for scraping metrics.", "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 + "x-order": 4 }, "tls": { "description": "Use TLS for database connections.", @@ -890,30 +779,10 @@ "x-order": 5 }, "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation. Uses sslmode=required instead of verify-full.", + "description": "Skip TLS certificate and hostname validation.", "type": "boolean", "x-order": 6 }, - "username": { - "description": "PostgreSQL username for scraping metrics.", - "type": "string", - "x-order": 4 - } - } - }, - "x-order": 5 - }, - "proxysql_exporter": { - "type": "array", - "items": { - "description": "ProxySQLExporter runs on Generic or Container Node and exposes ProxySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, "custom_labels": { "description": "Custom user-assigned labels.", "type": "object", @@ -922,10 +791,10 @@ }, "x-order": 7 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 2 + "x-order": 8 }, "disabled_collectors": { "description": "List of disabled collector names.", @@ -935,10 +804,21 @@ }, "x-order": 9 }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 14 + "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 finished.\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.", @@ -946,6 +826,11 @@ "format": "int64", "x-order": 11 }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 12 + }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", "type": "string", @@ -961,6 +846,11 @@ ], "x-order": 13 }, + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 14 + }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", "type": "object", @@ -970,54 +860,53 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 15 + } + } + }, + "x-order": 6 + }, + "qan_mysql_perfschema_agent": { + "type": "array", + "items": { + "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 8 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "MySQL username for getting performance data.", "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 + "x-order": 4 }, "tls": { "description": "Use TLS for database connections.", @@ -1029,74 +918,44 @@ "type": "boolean", "x-order": 6 }, - "username": { - "description": "ProxySQL username for scraping metrics.", - "type": "string", - "x-order": 4 - } - } - }, - "x-order": 6 - }, - "qan_mongodb_profiler_agent": { - "type": "array", - "items": { - "description": "QANMongoDBProfilerAgent runs within pmm-agent and sends MongoDB Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", + "tls_ca": { + "description": "Certificate Authority certificate chain.", "type": "string", - "x-order": 0 + "x-order": 7 }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, + "tls_cert": { + "description": "Client certificate.", + "type": "string", "x-order": 8 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 - }, - "log_level": { - "description": "- LOG_LEVEL_UNSPECIFIED: Auto", + "tls_key": { + "description": "Password for decrypting tls_cert.", "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": 11 + "x-order": 9 + }, + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", + "type": "boolean", + "x-order": 10 }, "max_query_length": { "description": "Limit query length in QAN (default: server-defined; -1: no limit).", "type": "integer", "format": "int32", - "x-order": 7 - }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 1 + "x-order": 11 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 + "query_examples_disabled": { + "description": "True if query examples are disabled.", + "type": "boolean", + "x-order": 12 }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 3 + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 13 }, "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", @@ -1112,31 +971,36 @@ "AGENT_STATUS_DONE", "AGENT_STATUS_UNKNOWN" ], - "x-order": 9 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 5 + "x-order": 14 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 6 + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 15 }, - "username": { - "description": "MongoDB username for getting profiler data.", + "log_level": { + "description": "- LOG_LEVEL_UNSPECIFIED: Auto", "type": "string", - "x-order": 4 + "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": 16 } } }, - "x-order": 9 + "x-order": 7 }, - "qan_mysql_perfschema_agent": { + "qan_mysql_slowlog_agent": { "type": "array", "items": { - "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", + "description": "QANMySQLSlowlogAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", "type": "object", "properties": { "agent_id": { @@ -1144,86 +1008,36 @@ "type": "string", "x-order": 0 }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 + "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 }, - "log_level": { - "description": "- LOG_LEVEL_UNSPECIFIED: Auto", + "service_id": { + "description": "Service identifier.", "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": 16 + "x-order": 3 }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 11 - }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 1 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 12 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 3 - }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "MySQL username for getting performance data.", "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": 14 + "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 + }, "tls_ca": { "description": "Certificate Authority certificate chain.", "type": "string", @@ -1239,30 +1053,27 @@ "type": "string", "x-order": 9 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", "type": "boolean", - "x-order": 6 + "x-order": 10 }, - "username": { - "description": "MySQL username for getting performance data.", - "type": "string", - "x-order": 4 - } - } - }, - "x-order": 7 - }, - "qan_mysql_slowlog_agent": { - "type": "array", - "items": { - "description": "QANMySQLSlowlogAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", + "max_query_length": { + "type": "integer", + "format": "int32", + "title": "Limit query length in QAN (default: server-defined; -1: no limit)", + "x-order": 11 + }, + "query_examples_disabled": { + "description": "True if query examples are disabled.", + "type": "boolean", + "x-order": 12 + }, + "max_slowlog_file_size": { + "description": "Slowlog file is rotated at this size if \u003e 0.", "type": "string", - "x-order": 0 + "format": "int64", + "x-order": 13 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -1272,15 +1083,26 @@ }, "x-order": 14 }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 + "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 finished.\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": 15 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 + "process_exec_path": { + "type": "string", + "title": "mod tidy", + "x-order": 16 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -1296,99 +1118,57 @@ "LOG_LEVEL_DEBUG" ], "x-order": 17 - }, - "max_query_length": { - "type": "integer", - "format": "int32", - "title": "Limit query length in QAN (default: server-defined; -1: no limit)", - "x-order": 11 - }, - "max_slowlog_file_size": { - "description": "Slowlog file is rotated at this size if \u003e 0.", + } + } + }, + "x-order": 8 + }, + "qan_mongodb_profiler_agent": { + "type": "array", + "items": { + "description": "QANMongoDBProfilerAgent runs within pmm-agent and sends MongoDB Query Analytics data to the PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "format": "int64", - "x-order": 13 + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "type": "string", - "title": "mod tidy", - "x-order": 16 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 12 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "MongoDB username for getting profiler data.", "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": 15 + "x-order": 4 }, "tls": { "description": "Use TLS for database connections.", "type": "boolean", "x-order": 5 }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, "tls_skip_verify": { "description": "Skip TLS certificate and hostname validation.", "type": "boolean", "x-order": 6 }, - "username": { - "description": "MySQL username for getting performance data.", - "type": "string", - "x-order": 4 - } - } - }, - "x-order": 8 - }, - "qan_postgresql_pgstatements_agent": { - "type": "array", - "items": { - "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", + "x-order": 7 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -1396,17 +1176,28 @@ "additionalProperties": { "type": "string" }, - "x-order": 9 + "x-order": 8 }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 5 + "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 finished.\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 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 10 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -1421,29 +1212,72 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 12 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 6 + "x-order": 11 + } + } + }, + "x-order": 9 + }, + "qan_postgresql_pgstatements_agent": { + "type": "array", + "items": { + "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 + "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": "PostgreSQL username for getting pg stat statements data.", + "type": "string", + "x-order": 4 + }, + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", + "type": "boolean", + "x-order": 5 + }, + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", + "x-order": 6 + }, + "tls": { + "description": "Use TLS for database connections.", + "type": "boolean", + "x-order": 7 + }, + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation.", + "type": "boolean", + "x-order": 8 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", "type": "string", @@ -1460,20 +1294,25 @@ ], "x-order": 10 }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 7 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 8 + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 11 }, - "username": { - "description": "PostgreSQL username for getting pg stat statements data.", + "log_level": { + "description": "- LOG_LEVEL_UNSPECIFIED: Auto", "type": "string", - "x-order": 4 + "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": 12 } } }, @@ -1490,38 +1329,40 @@ "type": "string", "x-order": 0 }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 7 + "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 }, - "log_level": { - "description": "- LOG_LEVEL_UNSPECIFIED: Auto", + "service_id": { + "description": "Service identifier.", "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": 13 + "x-order": 3 + }, + "username": { + "description": "PostgreSQL username for getting pg stat monitor 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 + }, + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", + "type": "boolean", + "x-order": 7 }, "max_query_length": { "description": "Limit query length in QAN (default: server-defined; -1: no limit).", @@ -1529,25 +1370,18 @@ "format": "int32", "x-order": 8 }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 1 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, "query_examples_disabled": { "description": "True if query examples are disabled.", "type": "boolean", "x-order": 9 }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 3 + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 10 }, "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", @@ -1565,29 +1399,34 @@ ], "x-order": 11 }, - "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 + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 12 }, - "username": { - "description": "PostgreSQL username for getting pg stat monitor data.", + "log_level": { + "description": "- LOG_LEVEL_UNSPECIFIED: Auto", "type": "string", - "x-order": 4 + "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": 13 } } }, "x-order": 11 }, - "rds_exporter": { + "external_exporter": { "type": "array", "items": { - "description": "RDSExporter runs on Generic or Container Node and exposes RemoteRDS Node metrics.", + "description": "ExternalExporter runs on any Node type, including Remote Node.", "type": "object", "properties": { "agent_id": { @@ -1595,21 +1434,35 @@ "type": "string", "x-order": 0 }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 13 + "runs_on_node_id": { + "description": "Node identifier where this instance runs.", + "type": "string", + "x-order": 1 }, - "aws_access_key": { - "description": "AWS Access Key.", + "disabled": { + "description": "If disabled, metrics from this exporter will not be collected.", + "type": "boolean", + "x-order": 2 + }, + "service_id": { + "description": "Service identifier.", + "type": "string", + "x-order": 3 + }, + "username": { + "description": "HTTP basic auth username for collecting metrics.", "type": "string", "x-order": 4 }, - "basic_metrics_disabled": { - "description": "Basic metrics are disabled.", - "type": "boolean", - "x-order": 8 + "scheme": { + "description": "Scheme to generate URI to exporter metrics endpoints.", + "type": "string", + "x-order": 5 + }, + "metrics_path": { + "description": "Path under which metrics are exposed, used to generate URI.", + "type": "string", + "x-order": 6 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -1617,38 +1470,23 @@ "additionalProperties": { "type": "string" }, - "x-order": 5 - }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 - }, - "enhanced_metrics_disabled": { - "description": "Enhanced metrics are disabled.", - "type": "boolean", - "x-order": 9 + "x-order": 7 }, "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", + "description": "Listen port for scraping metrics.", "type": "integer", "format": "int64", - "x-order": 7 + "x-order": 8 }, - "log_level": { - "description": "- LOG_LEVEL_UNSPECIFIED: Auto", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", + "type": "boolean", + "x-order": 9 + }, + "process_exec_path": { + "description": "Path to exec process.", "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": 12 + "x-order": 10 }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", @@ -1659,38 +1497,61 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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 - }, - "node_id": { - "description": "Node identifier.", + "x-order": 11 + } + } + }, + "x-order": 12 + }, + "rds_exporter": { + "type": "array", + "items": { + "description": "RDSExporter runs on Generic or Container Node and exposes RemoteRDS Node metrics.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 3 + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", + "type": "boolean", + "x-order": 2 + }, + "node_id": { + "description": "Node identifier.", "type": "string", - "x-order": 11 + "x-order": 3 }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 10 + "aws_access_key": { + "description": "AWS Access Key.", + "type": "string", + "x-order": 4 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 5 }, "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", @@ -1707,15 +1568,84 @@ "AGENT_STATUS_UNKNOWN" ], "x-order": 6 + }, + "listen_port": { + "description": "Listen port for scraping metrics (the same for several configurations).", + "type": "integer", + "format": "int64", + "x-order": 7 + }, + "basic_metrics_disabled": { + "description": "Basic metrics are disabled.", + "type": "boolean", + "x-order": 8 + }, + "enhanced_metrics_disabled": { + "description": "Enhanced metrics are disabled.", + "type": "boolean", + "x-order": 9 + }, + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", + "type": "boolean", + "x-order": 10 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 11 + }, + "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": 12 + }, + "auto_discovery_limit": { + "description": "Limit of databases for auto-discovery.", + "type": "integer", + "format": "int32", + "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": 13 }, - "vm_agent": { + "azure_database_exporter": { "type": "array", "items": { - "description": "VMAgent runs on Generic or Container Node alongside pmm-agent.\nIt scrapes other exporter Agents that are configured with push_metrics_enabled\nand uses Prometheus remote write protocol to push metrics to PMM Server.", + "description": "AzureDatabaseExporter runs on Generic or Container Node and exposes RemoteAzure Node metrics.", "type": "object", "properties": { "agent_id": { @@ -1723,22 +1653,39 @@ "type": "string", "x-order": 0 }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 4 - }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", + "type": "boolean", + "x-order": 2 + }, + "node_id": { + "description": "Node identifier.", "type": "string", "x-order": 3 }, + "azure_database_subscription_id": { + "description": "Azure database subscription ID.", + "type": "string", + "x-order": 4 + }, + "azure_database_resource_type": { + "type": "string", + "title": "Azure database resource type (mysql, maria, postgres)", + "x-order": 5 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 6 + }, "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", "type": "string", @@ -1753,11 +1700,64 @@ "AGENT_STATUS_DONE", "AGENT_STATUS_UNKNOWN" ], - "x-order": 2 + "x-order": 7 + }, + "listen_port": { + "description": "Listen port for scraping metrics (the same for several configurations).", + "type": "integer", + "format": "int64", + "x-order": 8 + }, + "push_metrics_enabled": { + "description": "True if the exporter operates in push metrics mode.", + "type": "boolean", + "x-order": 9 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 10 + }, + "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": 11 + }, + "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": 12 } } }, - "x-order": 1 + "x-order": 14 } } } @@ -1772,6 +1772,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -1782,13 +1786,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -1810,38 +1810,32 @@ "schema": { "type": "object", "properties": { - "azure_database_exporter": { + "pmm_agent": { "type": "object", "properties": { - "azure_client_id": { + "runs_on_node_id": { + "description": "Node identifier where this instance runs.", "type": "string", - "title": "Azure client ID", - "x-order": 2 + "x-order": 0 }, - "azure_client_secret": { + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 1 + } + }, + "x-order": 0 + }, + "node_exporter": { + "type": "object", + "properties": { + "pmm_agent_id": { + "description": "The pmm-agent identifier which runs this instance.", "type": "string", - "title": "Azure client secret", - "x-order": 3 - }, - "azure_database_resource_type": { - "type": "string", - "title": "Azure resource type (mysql, maria, postgres)", - "x-order": 7 - }, - "azure_resource_group": { - "description": "Azure resource group.", - "type": "string", - "x-order": 6 - }, - "azure_subscription_id": { - "type": "string", - "title": "Azure subscription ID", - "x-order": 5 - }, - "azure_tenant_id": { - "type": "string", - "title": "Azure tanant ID", - "x-order": 4 + "x-order": 0 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -1849,7 +1843,20 @@ "additionalProperties": { "type": "string" }, - "x-order": 8 + "x-order": 1 + }, + "push_metrics": { + "description": "Enables push metrics mode for exporter.", + "type": "boolean", + "x-order": 2 + }, + "disable_collectors": { + "description": "List of collector names to disable in this exporter.", + "type": "array", + "items": { + "type": "string" + }, + "x-order": 3 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -1864,109 +1871,69 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 11 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 1 - }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 0 - }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", - "type": "boolean", - "x-order": 10 + "x-order": 4 }, - "skip_connection_check": { - "description": "Skip connection check.", + "expose_exporter": { "type": "boolean", - "x-order": 9 + "title": "Expose the node_exporter process on all public interfaces", + "x-order": 5 } }, - "x-order": 8 + "x-order": 1 }, - "external_exporter": { + "mysqld_exporter": { "type": "object", "properties": { - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 + "pmm_agent_id": { + "description": "The pmm-agent identifier which runs this instance.", + "type": "string", + "x-order": 0 }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 6 + "service_id": { + "description": "Service identifier.", + "type": "string", + "x-order": 1 }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI(default: /metrics).", + "username": { + "description": "MySQL username for scraping metrics.", "type": "string", - "x-order": 5 + "x-order": 2 }, "password": { - "description": "HTTP basic auth password for collecting metrics.", + "description": "MySQL password for scraping metrics.", "type": "string", "x-order": 3 }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", + "tls": { + "description": "Use TLS for database connections.", "type": "boolean", - "x-order": 8 - }, - "runs_on_node_id": { - "description": "The node identifier where this instance is run.", - "type": "string", - "x-order": 0 - }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints(default: http).", - "type": "string", "x-order": 4 }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 1 + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation.", + "type": "boolean", + "x-order": 5 }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 6 - }, - "mongodb_exporter": { - "type": "object", - "properties": { - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", + "tls_ca": { + "description": "Certificate Authority certificate chain.", "type": "string", - "x-order": 15 + "x-order": 6 }, - "authentication_database": { - "description": "Authentication database.", + "tls_cert": { + "description": "Client certificate.", "type": "string", - "x-order": 14 + "x-order": 7 }, - "authentication_mechanism": { - "description": "Authentication mechanism.\nSee https://docs.mongodb.com/manual/reference/connection-string/#mongodb-urioption-urioption.authMechanism\nfor details.", + "tls_key": { + "description": "Password for decrypting tls_cert.", "type": "string", - "x-order": 13 + "x-order": 8 }, - "collections_limit": { + "tablestats_group_table_limit": { + "description": "Tablestats group collectors will be disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", "type": "integer", "format": "int32", - "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", - "x-order": 17 + "x-order": 9 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -1974,7 +1941,17 @@ "additionalProperties": { "type": "string" }, - "x-order": 9 + "x-order": 10 + }, + "skip_connection_check": { + "description": "Skip connection check.", + "type": "boolean", + "x-order": 11 + }, + "push_metrics": { + "description": "Enables push metrics mode for exporter.", + "type": "boolean", + "x-order": 12 }, "disable_collectors": { "description": "List of collector names to disable in this exporter.", @@ -1982,12 +1959,12 @@ "items": { "type": "string" }, - "x-order": 12 + "x-order": 13 }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 19 + "agent_password": { + "description": "Custom password for exporter endpoint /metrics.", + "type": "string", + "x-order": 14 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -2002,50 +1979,48 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 18 - }, - "password": { - "description": "MongoDB password for scraping metrics.", - "type": "string", - "x-order": 3 + "x-order": 15 }, + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 16 + } + }, + "x-order": 2 + }, + "mongodb_exporter": { + "type": "object", + "properties": { "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 0 }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", - "type": "boolean", - "x-order": 11 - }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 1 }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 10 + "username": { + "description": "MongoDB username for scraping metrics.", + "type": "string", + "x-order": 2 }, - "stats_collections": { - "type": "array", - "title": "List of colletions to get stats from. Can use *", - "items": { - "type": "string" - }, - "x-order": 16 + "password": { + "description": "MongoDB password for scraping metrics.", + "type": "string", + "x-order": 3 }, "tls": { "description": "Use TLS for database connections.", "type": "boolean", "x-order": 4 }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 8 + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation.", + "type": "boolean", + "x-order": 5 }, "tls_certificate_key": { "description": "Client certificate and key.", @@ -2057,26 +2032,10 @@ "type": "string", "x-order": 7 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 5 - }, - "username": { - "description": "MongoDB username for scraping metrics.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 3 - }, - "mysqld_exporter": { - "type": "object", - "properties": { - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", + "tls_ca": { + "description": "Certificate Authority certificate chain.", "type": "string", - "x-order": 14 + "x-order": 8 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -2084,20 +2043,54 @@ "additionalProperties": { "type": "string" }, + "x-order": 9 + }, + "skip_connection_check": { + "description": "Skip connection check.", + "type": "boolean", "x-order": 10 }, + "push_metrics": { + "description": "Enables push metrics mode for exporter.", + "type": "boolean", + "x-order": 11 + }, "disable_collectors": { "description": "List of collector names to disable in this exporter.", "type": "array", "items": { "type": "string" }, + "x-order": 12 + }, + "authentication_mechanism": { + "description": "Authentication mechanism.\nSee https://docs.mongodb.com/manual/reference/connection-string/#mongodb-urioption-urioption.authMechanism\nfor details.", + "type": "string", "x-order": 13 }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 16 + "authentication_database": { + "description": "Authentication database.", + "type": "string", + "x-order": 14 + }, + "agent_password": { + "description": "Custom password for exporter endpoint /metrics.", + "type": "string", + "x-order": 15 + }, + "stats_collections": { + "type": "array", + "title": "List of colletions to get stats from. Can use *", + "items": { + "type": "string" + }, + "x-order": 16 + }, + "collections_limit": { + "type": "integer", + "format": "int32", + "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", + "x-order": 17 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -2112,82 +2105,66 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 15 - }, - "password": { - "description": "MySQL password for scraping metrics.", - "type": "string", - "x-order": 3 + "x-order": 18 }, + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 19 + } + }, + "x-order": 3 + }, + "postgres_exporter": { + "type": "object", + "properties": { "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 0 }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", - "type": "boolean", - "x-order": 12 - }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 1 }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 11 + "username": { + "description": "PostgreSQL username for scraping metrics.", + "type": "string", + "x-order": 2 }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors will be disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 9 + "password": { + "description": "PostgreSQL password for scraping metrics.", + "type": "string", + "x-order": 3 }, "tls": { "description": "Use TLS for database connections.", "type": "boolean", "x-order": 4 }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 6 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 7 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 8 - }, "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", + "description": "Skip TLS certificate and hostname validation. Uses sslmode=required instead of verify-full.", "type": "boolean", "x-order": 5 }, - "username": { - "description": "MySQL username for scraping metrics.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 2 - }, - "node_exporter": { - "type": "object", - "properties": { "custom_labels": { "description": "Custom user-assigned labels.", "type": "object", "additionalProperties": { "type": "string" }, - "x-order": 1 + "x-order": 6 + }, + "skip_connection_check": { + "description": "Skip connection check.", + "type": "boolean", + "x-order": 7 + }, + "push_metrics": { + "description": "Enables push metrics mode for exporter.", + "type": "boolean", + "x-order": 8 }, "disable_collectors": { "description": "List of collector names to disable in this exporter.", @@ -2195,12 +2172,27 @@ "items": { "type": "string" }, - "x-order": 3 + "x-order": 9 }, - "expose_exporter": { - "type": "boolean", - "title": "Expose the node_exporter process on all public interfaces", - "x-order": 5 + "tls_ca": { + "description": "TLS CA certificate.", + "type": "string", + "x-order": 10 + }, + "tls_cert": { + "description": "TLS Certifcate.", + "type": "string", + "x-order": 11 + }, + "tls_key": { + "description": "TLS Certificate Key.", + "type": "string", + "x-order": 12 + }, + "agent_password": { + "description": "Custom password for exporter endpoint /metrics.", + "type": "string", + "x-order": 13 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -2215,53 +2207,60 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 4 + "x-order": 14 }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 0 + "auto_discovery_limit": { + "description": "Limit of databases for auto-discovery.", + "type": "integer", + "format": "int32", + "x-order": 15 }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", + "expose_exporter": { "type": "boolean", - "x-order": 2 + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 16 + }, + "max_exporter_connections": { + "description": "Maximum number of connections that exporter can open to the database instance.", + "type": "integer", + "format": "int32", + "x-order": 17 } }, - "x-order": 1 + "x-order": 4 }, - "pmm_agent": { + "proxysql_exporter": { "type": "object", "properties": { - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, + "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 }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", + "username": { + "description": "ProxySQL username for scraping metrics.", "type": "string", - "x-order": 0 - } - }, - "x-order": 0 - }, - "postgres_exporter": { - "type": "object", - "properties": { - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", + "x-order": 2 + }, + "password": { + "description": "ProxySQL password for scraping metrics.", "type": "string", - "x-order": 13 + "x-order": 3 }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 15 + "tls": { + "description": "Use TLS for database connections.", + "type": "boolean", + "x-order": 4 + }, + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation.", + "type": "boolean", + "x-order": 5 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -2271,6 +2270,16 @@ }, "x-order": 6 }, + "skip_connection_check": { + "description": "Skip connection check.", + "type": "boolean", + "x-order": 7 + }, + "push_metrics": { + "description": "Enables push metrics mode for exporter.", + "type": "boolean", + "x-order": 8 + }, "disable_collectors": { "description": "List of collector names to disable in this exporter.", "type": "array", @@ -2279,10 +2288,10 @@ }, "x-order": 9 }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 16 + "agent_password": { + "description": "Custom password for exporter endpoint /metrics.", + "type": "string", + "x-order": 10 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -2297,79 +2306,93 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 14 - }, - "max_exporter_connections": { - "description": "Maximum number of connections that exporter can open to the database instance.", - "type": "integer", - "format": "int32", - "x-order": 17 - }, - "password": { - "description": "PostgreSQL password for scraping metrics.", - "type": "string", - "x-order": 3 + "x-order": 11 }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 12 + } + }, + "x-order": 5 + }, + "external_exporter": { + "type": "object", + "properties": { + "runs_on_node_id": { + "description": "The node identifier where this instance is run.", "type": "string", "x-order": 0 }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", - "type": "boolean", - "x-order": 8 - }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 1 }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 7 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 4 - }, - "tls_ca": { - "description": "TLS CA certificate.", + "username": { + "description": "HTTP basic auth username for collecting metrics.", "type": "string", - "x-order": 10 + "x-order": 2 }, - "tls_cert": { - "description": "TLS Certifcate.", + "password": { + "description": "HTTP basic auth password for collecting metrics.", "type": "string", - "x-order": 11 + "x-order": 3 }, - "tls_key": { - "description": "TLS Certificate Key.", + "scheme": { + "description": "Scheme to generate URI to exporter metrics endpoints(default: http).", "type": "string", - "x-order": 12 + "x-order": 4 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation. Uses sslmode=required instead of verify-full.", - "type": "boolean", + "metrics_path": { + "description": "Path under which metrics are exposed, used to generate URI(default: /metrics).", + "type": "string", "x-order": 5 }, - "username": { - "description": "PostgreSQL username for scraping metrics.", - "type": "string", - "x-order": 2 + "listen_port": { + "description": "Listen port for scraping metrics.", + "type": "integer", + "format": "int64", + "x-order": 6 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 7 + }, + "push_metrics": { + "description": "Enables push metrics mode for exporter.", + "type": "boolean", + "x-order": 8 } }, - "x-order": 4 + "x-order": 6 }, - "proxysql_exporter": { + "rds_exporter": { "type": "object", "properties": { - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", + "pmm_agent_id": { + "description": "The pmm-agent identifier which runs this instance.", "type": "string", - "x-order": 10 + "x-order": 0 + }, + "node_id": { + "description": "Node identifier.", + "type": "string", + "x-order": 1 + }, + "aws_access_key": { + "description": "AWS Access Key.", + "type": "string", + "x-order": 2 + }, + "aws_secret_key": { + "description": "AWS Secret Key.", + "type": "string", + "x-order": 3 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -2377,20 +2400,27 @@ "additionalProperties": { "type": "string" }, + "x-order": 4 + }, + "skip_connection_check": { + "description": "Skip connection check.", + "type": "boolean", + "x-order": 5 + }, + "disable_basic_metrics": { + "description": "Disable basic metrics.", + "type": "boolean", "x-order": 6 }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 + "disable_enhanced_metrics": { + "description": "Disable enhanced metrics.", + "type": "boolean", + "x-order": 7 }, - "expose_exporter": { + "push_metrics": { + "description": "Enables push metrics mode for exporter.", "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 12 + "x-order": 8 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -2405,63 +2435,53 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 11 - }, - "password": { - "description": "ProxySQL password for scraping metrics.", - "type": "string", - "x-order": 3 - }, + "x-order": 9 + } + }, + "x-order": 7 + }, + "azure_database_exporter": { + "type": "object", + "properties": { "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 0 }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", - "type": "boolean", - "x-order": 8 - }, - "service_id": { - "description": "Service identifier.", + "node_id": { + "description": "Node identifier.", "type": "string", "x-order": 1 }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 7 + "azure_client_id": { + "type": "string", + "title": "Azure client ID", + "x-order": 2 }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", + "azure_client_secret": { + "type": "string", + "title": "Azure client secret", + "x-order": 3 + }, + "azure_tenant_id": { + "type": "string", + "title": "Azure tanant ID", "x-order": 4 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", + "azure_subscription_id": { + "type": "string", + "title": "Azure subscription ID", "x-order": 5 }, - "username": { - "description": "ProxySQL username for scraping metrics.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 5 - }, - "qan_mongodb_profiler_agent": { - "type": "object", - "properties": { - "authentication_database": { - "description": "Authentication database.", + "azure_resource_group": { + "description": "Azure resource group.", "type": "string", - "x-order": 13 + "x-order": 6 }, - "authentication_mechanism": { - "description": "Authentication mechanism.\nSee https://docs.mongodb.com/manual/reference/connection-string/#mongodb-urioption-urioption.authMechanism\nfor details.", + "azure_database_resource_type": { "type": "string", - "x-order": 12 + "title": "Azure resource type (mysql, maria, postgres)", + "x-order": 7 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -2469,6 +2489,16 @@ "additionalProperties": { "type": "string" }, + "x-order": 8 + }, + "skip_connection_check": { + "description": "Skip connection check.", + "type": "boolean", + "x-order": 9 + }, + "push_metrics": { + "description": "Enables push metrics mode for exporter.", + "type": "boolean", "x-order": 10 }, "log_level": { @@ -2484,19 +2514,14 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 14 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 9 - }, - "password": { - "description": "MongoDB password for getting profile data.", - "type": "string", - "x-order": 3 - }, + "x-order": 11 + } + }, + "x-order": 8 + }, + "qan_mysql_perfschema_agent": { + "type": "object", + "properties": { "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", @@ -2507,47 +2532,52 @@ "type": "string", "x-order": 1 }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 11 + "username": { + "description": "MySQL username for getting performance data.", + "type": "string", + "x-order": 2 + }, + "password": { + "description": "MySQL password for getting performance data.", + "type": "string", + "x-order": 3 }, "tls": { "description": "Use TLS for database connections.", "type": "boolean", "x-order": 4 }, + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation.", + "type": "boolean", + "x-order": 5 + }, "tls_ca": { "description": "Certificate Authority certificate chain.", "type": "string", - "x-order": 8 - }, - "tls_certificate_key": { - "description": "Client certificate and key.", - "type": "string", "x-order": 6 }, - "tls_certificate_key_file_password": { - "description": "Password for decrypting tls_certificate_key.", + "tls_cert": { + "description": "Client certificate.", "type": "string", "x-order": 7 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", + "tls_key": { + "description": "Password for decrypting tls_cert.", + "type": "string", + "x-order": 8 + }, + "max_query_length": { + "type": "integer", + "format": "int32", + "title": "Limit query length in QAN (default: server-defined; -1: no limit)", + "x-order": 9 + }, + "disable_query_examples": { + "description": "Disable query examples.", "type": "boolean", - "x-order": 5 + "x-order": 10 }, - "username": { - "description": "MongoDB username for getting profile data.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 11 - }, - "qan_mysql_perfschema_agent": { - "type": "object", - "properties": { "custom_labels": { "description": "Custom user-assigned labels.", "type": "object", @@ -2556,16 +2586,16 @@ }, "x-order": 11 }, + "skip_connection_check": { + "description": "Skip connection check.", + "type": "boolean", + "x-order": 12 + }, "disable_comments_parsing": { "description": "Disable parsing comments from queries and showing them in QAN.", "type": "boolean", "x-order": 13 }, - "disable_query_examples": { - "description": "Disable query examples.", - "type": "boolean", - "x-order": 10 - }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", "type": "string", @@ -2580,18 +2610,13 @@ "LOG_LEVEL_DEBUG" ], "x-order": 14 - }, - "max_query_length": { - "type": "integer", - "format": "int32", - "title": "Limit query length in QAN (default: server-defined; -1: no limit)", - "x-order": 9 - }, - "password": { - "description": "MySQL password for getting performance data.", - "type": "string", - "x-order": 3 - }, + } + }, + "x-order": 9 + }, + "qan_mysql_slowlog_agent": { + "type": "object", + "properties": { "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", @@ -2602,16 +2627,26 @@ "type": "string", "x-order": 1 }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 12 + "username": { + "description": "MySQL username for getting slowlog data.", + "type": "string", + "x-order": 2 + }, + "password": { + "description": "MySQL password for getting slowlog data.", + "type": "string", + "x-order": 3 }, "tls": { "description": "Use TLS for database connections.", "type": "boolean", "x-order": 4 }, + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation.", + "type": "boolean", + "x-order": 5 + }, "tls_ca": { "description": "Certificate Authority certificate chain.", "type": "string", @@ -2627,22 +2662,23 @@ "type": "string", "x-order": 8 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", + "x-order": 9 + }, + "disable_query_examples": { + "description": "Disable query examples.", "type": "boolean", - "x-order": 5 + "x-order": 10 }, - "username": { - "description": "MySQL username for getting performance data.", + "max_slowlog_file_size": { + "description": "Rotate slowlog file at this size if \u003e 0.\nUse zero or negative value to disable rotation.", "type": "string", - "x-order": 2 - } - }, - "x-order": 9 - }, - "qan_mysql_slowlog_agent": { - "type": "object", - "properties": { + "format": "int64", + "x-order": 11 + }, "custom_labels": { "description": "Custom user-assigned labels.", "type": "object", @@ -2651,16 +2687,16 @@ }, "x-order": 12 }, + "skip_connection_check": { + "description": "Skip connection check.", + "type": "boolean", + "x-order": 13 + }, "disable_comments_parsing": { "description": "Disable parsing comments from queries and showing them in QAN.", "type": "boolean", "x-order": 14 }, - "disable_query_examples": { - "description": "Disable query examples.", - "type": "boolean", - "x-order": 10 - }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", "type": "string", @@ -2675,24 +2711,13 @@ "LOG_LEVEL_DEBUG" ], "x-order": 15 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 9 - }, - "max_slowlog_file_size": { - "description": "Rotate slowlog file at this size if \u003e 0.\nUse zero or negative value to disable rotation.", - "type": "string", - "format": "int64", - "x-order": 11 - }, - "password": { - "description": "MySQL password for getting slowlog data.", - "type": "string", - "x-order": 3 - }, + } + }, + "x-order": 10 + }, + "qan_mongodb_profiler_agent": { + "type": "object", + "properties": { "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", @@ -2703,59 +2728,69 @@ "type": "string", "x-order": 1 }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 13 + "username": { + "description": "MongoDB username for getting profile data.", + "type": "string", + "x-order": 2 + }, + "password": { + "description": "MongoDB password for getting profile data.", + "type": "string", + "x-order": 3 }, "tls": { "description": "Use TLS for database connections.", "type": "boolean", "x-order": 4 }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation.", + "type": "boolean", + "x-order": 5 + }, + "tls_certificate_key": { + "description": "Client certificate and key.", "type": "string", "x-order": 6 }, - "tls_cert": { - "description": "Client certificate.", + "tls_certificate_key_file_password": { + "description": "Password for decrypting tls_certificate_key.", "type": "string", "x-order": 7 }, - "tls_key": { - "description": "Password for decrypting tls_cert.", + "tls_ca": { + "description": "Certificate Authority certificate chain.", "type": "string", "x-order": 8 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 5 + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", + "x-order": 9 }, - "username": { - "description": "MySQL username for getting slowlog data.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 10 - }, - "qan_postgresql_pgstatements_agent": { - "type": "object", - "properties": { "custom_labels": { "description": "Custom user-assigned labels.", "type": "object", "additionalProperties": { "type": "string" }, - "x-order": 6 + "x-order": 10 }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", + "skip_connection_check": { + "description": "Skip connection check.", "type": "boolean", - "x-order": 8 + "x-order": 11 + }, + "authentication_mechanism": { + "description": "Authentication mechanism.\nSee https://docs.mongodb.com/manual/reference/connection-string/#mongodb-urioption-urioption.authMechanism\nfor details.", + "type": "string", + "x-order": 12 + }, + "authentication_database": { + "description": "Authentication database.", + "type": "string", + "x-order": 13 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -2770,19 +2805,14 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 13 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 9 - }, - "password": { - "description": "PostgreSQL password for getting pg stat statements data.", - "type": "string", - "x-order": 3 - }, + "x-order": 14 + } + }, + "x-order": 11 + }, + "qan_postgresql_pgstatements_agent": { + "type": "object", + "properties": { "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", @@ -2793,15 +2823,49 @@ "type": "string", "x-order": 1 }, + "username": { + "description": "PostgreSQL username for getting pg stat statements data.", + "type": "string", + "x-order": 2 + }, + "password": { + "description": "PostgreSQL password for getting pg stat statements data.", + "type": "string", + "x-order": 3 + }, + "tls": { + "description": "Use TLS for database connections.", + "type": "boolean", + "x-order": 4 + }, + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation.", + "type": "boolean", + "x-order": 5 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 6 + }, "skip_connection_check": { "description": "Skip connection check.", "type": "boolean", "x-order": 7 }, - "tls": { - "description": "Use TLS for database connections.", + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", "type": "boolean", - "x-order": 4 + "x-order": 8 + }, + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", + "x-order": 9 }, "tls_ca": { "description": "TLS CA certificate.", @@ -2818,42 +2882,8 @@ "type": "string", "x-order": 12 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 5 - }, - "username": { - "description": "PostgreSQL username for getting pg stat statements data.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 12 - }, - "qan_postgresql_pgstatmonitor_agent": { - "type": "object", - "properties": { - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "disable_query_examples": { - "description": "Disable query examples.", - "type": "boolean", - "x-order": 7 - }, - "log_level": { - "description": "- LOG_LEVEL_UNSPECIFIED: Auto", + "log_level": { + "description": "- LOG_LEVEL_UNSPECIFIED: Auto", "type": "string", "title": "Log level for exporters", "default": "LOG_LEVEL_UNSPECIFIED", @@ -2865,19 +2895,14 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 14 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 6 - }, - "password": { - "description": "PostgreSQL password for getting pg stat monitor data.", - "type": "string", - "x-order": 3 - }, + "x-order": 13 + } + }, + "x-order": 12 + }, + "qan_postgresql_pgstatmonitor_agent": { + "type": "object", + "properties": { "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", @@ -2888,56 +2913,36 @@ "type": "string", "x-order": 1 }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 9 + "username": { + "description": "PostgreSQL username for getting pg stat monitor data.", + "type": "string", + "x-order": 2 + }, + "password": { + "description": "PostgreSQL password for getting pg stat monitor data.", + "type": "string", + "x-order": 3 }, "tls": { "description": "Use TLS for database connections.", "type": "boolean", "x-order": 4 }, - "tls_ca": { - "description": "TLS CA certificate.", - "type": "string", - "x-order": 11 - }, - "tls_cert": { - "description": "TLS Certifcate.", - "type": "string", - "x-order": 12 - }, - "tls_key": { - "description": "TLS Certificate Key.", - "type": "string", - "x-order": 13 - }, "tls_skip_verify": { "description": "Skip TLS certificate and hostname validation.", "type": "boolean", "x-order": 5 }, - "username": { - "description": "PostgreSQL username for getting pg stat monitor data.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 13 - }, - "rds_exporter": { - "type": "object", - "properties": { - "aws_access_key": { - "description": "AWS Access Key.", - "type": "string", - "x-order": 2 + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", + "x-order": 6 }, - "aws_secret_key": { - "description": "AWS Secret Key.", - "type": "string", - "x-order": 3 + "disable_query_examples": { + "description": "Disable query examples.", + "type": "boolean", + "x-order": 7 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -2945,17 +2950,32 @@ "additionalProperties": { "type": "string" }, - "x-order": 4 + "x-order": 8 }, - "disable_basic_metrics": { - "description": "Disable basic metrics.", + "skip_connection_check": { + "description": "Skip connection check.", "type": "boolean", - "x-order": 6 + "x-order": 9 }, - "disable_enhanced_metrics": { - "description": "Disable enhanced metrics.", + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", "type": "boolean", - "x-order": 7 + "x-order": 10 + }, + "tls_ca": { + "description": "TLS CA certificate.", + "type": "string", + "x-order": 11 + }, + "tls_cert": { + "description": "TLS Certifcate.", + "type": "string", + "x-order": 12 + }, + "tls_key": { + "description": "TLS Certificate Key.", + "type": "string", + "x-order": 13 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -2970,30 +2990,10 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 9 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 1 - }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 0 - }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", - "type": "boolean", - "x-order": 8 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 5 + "x-order": 14 } }, - "x-order": 7 + "x-order": 13 } } } @@ -3005,8 +3005,8 @@ "schema": { "type": "object", "properties": { - "azure_database_exporter": { - "description": "AzureDatabaseExporter runs on Generic or Container Node and exposes RemoteAzure Node metrics.", + "pmm_agent": { + "description": "PMMAgent runs on Generic or Container Node.", "type": "object", "properties": { "agent_id": { @@ -3014,15 +3014,10 @@ "type": "string", "x-order": 0 }, - "azure_database_resource_type": { - "type": "string", - "title": "Azure database resource type (mysql, maria, postgres)", - "x-order": 5 - }, - "azure_database_subscription_id": { - "description": "Azure database subscription ID.", + "runs_on_node_id": { + "description": "Node identifier where this instance runs.", "type": "string", - "x-order": 4 + "x-order": 1 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -3030,17 +3025,86 @@ "additionalProperties": { "type": "string" }, - "x-order": 6 + "x-order": 2 + }, + "connected": { + "description": "True if Agent is running and connected to pmm-managed.", + "type": "boolean", + "x-order": 3 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 4 + } + }, + "x-order": 0 + }, + "node_exporter": { + "description": "NodeExporter runs on Generic or Container Node and exposes its metrics.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance 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 }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 3 + }, + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", + "type": "boolean", + "x-order": 4 + }, + "disabled_collectors": { + "description": "List of disabled collector names.", + "type": "array", + "items": { + "type": "string" + }, + "x-order": 5 + }, + "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 finished.\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": 6 + }, "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", + "description": "Listen port for scraping metrics.", "type": "integer", "format": "int64", + "x-order": 7 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", "x-order": 8 }, "log_level": { @@ -3056,7 +3120,12 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 11 + "x-order": 9 + }, + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 10 }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", @@ -3067,60 +3136,24 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 12 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 3 - }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 1 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "push_metrics_enabled": { - "description": "True if the exporter operates in push metrics mode.", - "type": "boolean", - "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 finished.\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": 7 + "x-order": 11 } }, - "x-order": 8 + "x-order": 1 }, - "external_exporter": { - "description": "ExternalExporter runs on any Node type, including Remote Node.", + "mysqld_exporter": { + "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", "type": "object", "properties": { "agent_id": { @@ -3128,99 +3161,56 @@ "type": "string", "x-order": 0 }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 + "pmm_agent_id": { + "description": "The pmm-agent identifier which runs this instance.", + "type": "string", + "x-order": 1 }, "disabled": { - "description": "If disabled, metrics from this exporter will not be collected.", + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", "x-order": 2 }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", + "service_id": { + "description": "Service identifier.", "type": "string", - "x-order": 6 - }, - "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 - }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, - "mr": { - "description": "Medium resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 11 + "x-order": 3 }, - "process_exec_path": { - "description": "Path to exec process.", + "username": { + "description": "MySQL username for scraping metrics.", "type": "string", - "x-order": 10 + "x-order": 4 }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", + "tls": { + "description": "Use TLS for database connections.", "type": "boolean", - "x-order": 9 + "x-order": 5 }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation.", + "type": "boolean", + "x-order": 6 }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", + "tls_ca": { + "description": "Certificate Authority certificate chain.", "type": "string", - "x-order": 5 + "x-order": 7 }, - "service_id": { - "description": "Service identifier.", + "tls_cert": { + "description": "Client certificate.", "type": "string", - "x-order": 3 + "x-order": 8 }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 6 - }, - "mongodb_exporter": { - "description": "MongoDBExporter runs on Generic or Container Node and exposes MongoDB Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", + "tls_key": { + "description": "Password for decrypting tls_cert.", "type": "string", - "x-order": 0 + "x-order": 9 }, - "collections_limit": { + "tablestats_group_table_limit": { + "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", "type": "integer", "format": "int32", - "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", - "x-order": 13 + "x-order": 10 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -3228,12 +3218,12 @@ "additionalProperties": { "type": "string" }, - "x-order": 7 + "x-order": 11 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 2 + "x-order": 12 }, "disabled_collectors": { "description": "List of disabled collector names.", @@ -3241,23 +3231,45 @@ "items": { "type": "string" }, - "x-order": 9 + "x-order": 13 }, - "enable_all_collectors": { - "description": "Enable All collectors.", - "type": "boolean", + "table_count": { + "description": "Actual table count at the moment of adding.", + "type": "integer", + "format": "int32", "x-order": 14 }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 17 + "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 finished.\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": 15 }, "listen_port": { "description": "Listen port for scraping metrics.", "type": "integer", "format": "int64", - "x-order": 11 + "x-order": 16 + }, + "tablestats_group_disabled": { + "description": "True if tablestats group collectors are currently disabled.", + "type": "boolean", + "x-order": 17 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 18 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -3272,7 +3284,12 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 16 + "x-order": 19 + }, + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 20 }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", @@ -3283,62 +3300,50 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 18 + "x-order": 21 + } + }, + "x-order": 2 + }, + "mongodb_exporter": { + "description": "MongoDBExporter runs on Generic or Container Node and exposes MongoDB Service metrics.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 8 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "stats_collections": { - "type": "array", - "title": "List of colletions to get stats from. Can use *", - "items": { - "type": "string" - }, - "x-order": 12 - }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "MongoDB username for scraping metrics.", "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 + "x-order": 4 }, "tls": { "description": "Use TLS for database connections.", @@ -3350,35 +3355,18 @@ "type": "boolean", "x-order": 6 }, - "username": { - "description": "MongoDB username for scraping metrics.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 3 - }, - "mysqld_exporter": { - "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, "custom_labels": { "description": "Custom user-assigned labels.", "type": "object", "additionalProperties": { "type": "string" }, - "x-order": 11 + "x-order": 7 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 2 + "x-order": 8 }, "disabled_collectors": { "description": "List of disabled collector names.", @@ -3386,18 +3374,53 @@ "items": { "type": "string" }, - "x-order": 13 + "x-order": 9 }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 20 + "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 finished.\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": 16 + "x-order": 11 + }, + "stats_collections": { + "type": "array", + "title": "List of colletions to get stats from. Can use *", + "items": { + "type": "string" + }, + "x-order": 12 + }, + "collections_limit": { + "type": "integer", + "format": "int32", + "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", + "x-order": 13 + }, + "enable_all_collectors": { + "description": "Enable All collectors.", + "type": "boolean", + "x-order": 14 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 15 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -3412,7 +3435,12 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 19 + "x-order": 16 + }, + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 17 }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", @@ -3423,126 +3451,73 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 21 + "x-order": 18 + } + }, + "x-order": 3 + }, + "postgres_exporter": { + "description": "PostgresExporter runs on Generic or Container Node and exposes PostgreSQL Service metrics.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 18 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 12 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "PostgreSQL username for scraping metrics.", "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": 15 - }, - "table_count": { - "description": "Actual table count at the moment of adding.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 17 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 10 + "x-order": 4 }, "tls": { "description": "Use TLS for database connections.", "type": "boolean", "x-order": 5 }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", + "description": "Skip TLS certificate and hostname validation. Uses sslmode=required instead of verify-full.", "type": "boolean", "x-order": 6 }, - "username": { - "description": "MySQL username for scraping metrics.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 2 - }, - "node_exporter": { - "description": "NodeExporter runs on Generic or Container Node and exposes its metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, "custom_labels": { "description": "Custom user-assigned labels.", "type": "object", "additionalProperties": { "type": "string" }, - "x-order": 3 + "x-order": 7 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 2 + "x-order": 8 }, "disabled_collectors": { "description": "List of disabled collector names.", @@ -3550,18 +3525,34 @@ "items": { "type": "string" }, - "x-order": 5 + "x-order": 9 }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", + "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 finished.\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": 7 + "x-order": 11 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 12 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -3576,7 +3567,24 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 9 + "x-order": 13 + }, + "auto_discovery_limit": { + "description": "Limit of databases for auto-discovery.", + "type": "integer", + "format": "int32", + "x-order": 14 + }, + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 15 + }, + "max_exporter_connections": { + "description": "Maximum number of connections that exporter can open to the database instance.", + "type": "integer", + "format": "int32", + "x-order": 16 }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", @@ -3587,55 +3595,24 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "mr": { "description": "Medium resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", "type": "string", "x-order": 1 - } - }, - "x-order": 11 - }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 1 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 8 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 4 - }, - "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 finished.\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": 6 + }, + "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": 17 } }, - "x-order": 1 + "x-order": 4 }, - "pmm_agent": { - "description": "PMMAgent runs on Generic or Container Node.", + "proxysql_exporter": { + "description": "ProxySQLExporter runs on Generic or Container Node and exposes ProxySQL Service metrics.", "type": "object", "properties": { "agent_id": { @@ -3643,46 +3620,35 @@ "type": "string", "x-order": 0 }, - "connected": { - "description": "True if Agent is running and connected to pmm-managed.", - "type": "boolean", - "x-order": 3 + "pmm_agent_id": { + "description": "The pmm-agent identifier which runs this instance.", + "type": "string", + "x-order": 1 }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", + "type": "boolean", "x-order": 2 }, - "process_exec_path": { - "description": "Path to exec process.", + "service_id": { + "description": "Service identifier.", "type": "string", - "x-order": 4 + "x-order": 3 }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 0 - }, - "postgres_exporter": { - "description": "PostgresExporter runs on Generic or Container Node and exposes PostgreSQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", + "username": { + "description": "ProxySQL username for scraping metrics.", "type": "string", - "x-order": 0 + "x-order": 4 }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 14 + "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.", @@ -3692,10 +3658,10 @@ }, "x-order": 7 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 2 + "x-order": 8 }, "disabled_collectors": { "description": "List of disabled collector names.", @@ -3705,10 +3671,21 @@ }, "x-order": 9 }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 15 + "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 finished.\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.", @@ -3716,6 +3693,11 @@ "format": "int64", "x-order": 11 }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 12 + }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", "type": "string", @@ -3731,11 +3713,10 @@ ], "x-order": 13 }, - "max_exporter_connections": { - "description": "Maximum number of connections that exporter can open to the database instance.", - "type": "integer", - "format": "int32", - "x-order": 16 + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 14 }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", @@ -3746,81 +3727,60 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 17 - }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", + "x-order": 15 + } + }, + "x-order": 5 + }, + "external_exporter": { + "description": "ExternalExporter runs on any Node type, including Remote Node.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 1 + "x-order": 0 }, - "process_exec_path": { - "description": "Path to exec process.", + "runs_on_node_id": { + "description": "Node identifier where this instance runs.", "type": "string", - "x-order": 12 + "x-order": 1 }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", + "disabled": { + "description": "If disabled, metrics from this exporter will not be collected.", "type": "boolean", - "x-order": 8 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "HTTP basic auth username for collecting metrics.", "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 + "x-order": 4 }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", + "scheme": { + "description": "Scheme to generate URI to exporter metrics endpoints.", + "type": "string", "x-order": 5 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation. Uses sslmode=required instead of verify-full.", - "type": "boolean", - "x-order": 6 - }, - "username": { - "description": "PostgreSQL username for scraping metrics.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 4 - }, - "proxysql_exporter": { - "description": "ProxySQLExporter runs on Generic or Container Node and exposes ProxySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", + "metrics_path": { + "description": "Path under which metrics are exposed, used to generate URI.", "type": "string", - "x-order": 0 + "x-order": 6 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -3830,44 +3790,21 @@ }, "x-order": 7 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 14 - }, "listen_port": { "description": "Listen port for scraping metrics.", "type": "integer", "format": "int64", - "x-order": 11 + "x-order": 8 }, - "log_level": { - "description": "- LOG_LEVEL_UNSPECIFIED: Auto", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", + "type": "boolean", + "x-order": 9 + }, + "process_exec_path": { + "description": "Path to exec process.", "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": 13 + "x-order": 10 }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", @@ -3878,39 +3815,59 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 15 + "x-order": 11 + } + }, + "x-order": 6 + }, + "rds_exporter": { + "description": "RDSExporter runs on Generic or Container Node and exposes RemoteRDS Node metrics.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 8 + "x-order": 2 }, - "service_id": { - "description": "Service identifier.", + "node_id": { + "description": "Node identifier.", "type": "string", "x-order": 3 }, + "aws_access_key": { + "description": "AWS Access Key.", + "type": "string", + "x-order": 4 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 5 + }, "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", "type": "string", @@ -3925,47 +3882,33 @@ "AGENT_STATUS_DONE", "AGENT_STATUS_UNKNOWN" ], - "x-order": 10 - }, - "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 }, - "username": { - "description": "ProxySQL username for scraping metrics.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 5 - }, - "qan_mongodb_profiler_agent": { - "description": "QANMongoDBProfilerAgent runs within pmm-agent and sends MongoDB Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 + "listen_port": { + "description": "Listen port for scraping metrics (the same for several configurations).", + "type": "integer", + "format": "int64", + "x-order": 7 }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, + "basic_metrics_disabled": { + "description": "Basic metrics are disabled.", + "type": "boolean", "x-order": 8 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "enhanced_metrics_disabled": { + "description": "Enhanced metrics are disabled.", "type": "boolean", - "x-order": 2 + "x-order": 9 + }, + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", + "type": "boolean", + "x-order": 10 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 11 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -3980,29 +3923,81 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 11 + "x-order": 12 }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "auto_discovery_limit": { + "description": "Limit of databases for auto-discovery.", "type": "integer", "format": "int32", - "x-order": 7 + "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": 7 + }, + "azure_database_exporter": { + "description": "AzureDatabaseExporter runs on Generic or Container Node and exposes RemoteAzure Node metrics.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", + "type": "boolean", + "x-order": 2 }, - "service_id": { - "description": "Service identifier.", + "node_id": { + "description": "Node identifier.", "type": "string", "x-order": 3 }, + "azure_database_subscription_id": { + "description": "Azure database subscription ID.", + "type": "string", + "x-order": 4 + }, + "azure_database_resource_type": { + "type": "string", + "title": "Azure database resource type (mysql, maria, postgres)", + "x-order": 5 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 6 + }, "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", "type": "string", @@ -4017,53 +4012,24 @@ "AGENT_STATUS_DONE", "AGENT_STATUS_UNKNOWN" ], - "x-order": 9 + "x-order": 7 }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 5 + "listen_port": { + "description": "Listen port for scraping metrics (the same for several configurations).", + "type": "integer", + "format": "int64", + "x-order": 8 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", + "push_metrics_enabled": { + "description": "True if the exporter operates in push metrics mode.", "type": "boolean", - "x-order": 6 + "x-order": 9 }, - "username": { - "description": "MongoDB username for getting profiler data.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 11 - }, - "qan_mysql_perfschema_agent": { - "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", + "process_exec_path": { + "description": "Path to exec process.", "type": "string", - "x-order": 0 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", "x-order": 10 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 - }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", "type": "string", @@ -4077,55 +4043,72 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 16 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", "x-order": 11 }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 1 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", + "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": 12 + } + }, + "x-order": 8 + }, + "qan_mysql_perfschema_agent": { + "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance 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 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "MySQL username for getting performance data.", "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": 14 + "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 + }, "tls_ca": { "description": "Certificate Authority certificate chain.", "type": "string", @@ -4141,27 +4124,21 @@ "type": "string", "x-order": 9 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", "type": "boolean", - "x-order": 6 + "x-order": 10 }, - "username": { - "description": "MySQL username for getting performance data.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 9 - }, - "qan_mysql_slowlog_agent": { - "description": "QANMySQLSlowlogAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", + "x-order": 11 + }, + "query_examples_disabled": { + "description": "True if query examples are disabled.", + "type": "boolean", + "x-order": 12 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -4169,17 +4146,28 @@ "additionalProperties": { "type": "string" }, - "x-order": 14 + "x-order": 13 }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 + "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 finished.\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": 14 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 15 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -4194,61 +4182,50 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 17 - }, - "max_query_length": { - "type": "integer", - "format": "int32", - "title": "Limit query length in QAN (default: server-defined; -1: no limit)", - "x-order": 11 - }, - "max_slowlog_file_size": { - "description": "Slowlog file is rotated at this size if \u003e 0.", + "x-order": 16 + } + }, + "x-order": 9 + }, + "qan_mysql_slowlog_agent": { + "description": "QANMySQLSlowlogAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "format": "int64", - "x-order": 13 + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "type": "string", - "title": "mod tidy", - "x-order": 16 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 12 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "MySQL username for getting performance data.", "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": 15 + "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 + }, "tls_ca": { "description": "Certificate Authority certificate chain.", "type": "string", @@ -4264,27 +4241,27 @@ "type": "string", "x-order": 9 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", "type": "boolean", - "x-order": 6 + "x-order": 10 }, - "username": { - "description": "MySQL username for getting performance data.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 10 - }, - "qan_postgresql_pgstatements_agent": { - "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", + "max_query_length": { + "type": "integer", + "format": "int32", + "title": "Limit query length in QAN (default: server-defined; -1: no limit)", + "x-order": 11 + }, + "query_examples_disabled": { + "description": "True if query examples are disabled.", + "type": "boolean", + "x-order": 12 + }, + "max_slowlog_file_size": { + "description": "Slowlog file is rotated at this size if \u003e 0.", "type": "string", - "x-order": 0 + "format": "int64", + "x-order": 13 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -4292,17 +4269,28 @@ "additionalProperties": { "type": "string" }, - "x-order": 9 + "x-order": 14 }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 5 + "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 finished.\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": 15 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 + "process_exec_path": { + "type": "string", + "title": "mod tidy", + "x-order": 16 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -4317,71 +4305,55 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 12 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 6 + "x-order": 17 + } + }, + "x-order": 10 + }, + "qan_mongodb_profiler_agent": { + "description": "QANMongoDBProfilerAgent runs within pmm-agent and sends MongoDB Query Analytics data to the PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 + "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 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "MongoDB username for getting profiler data.", "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 + "x-order": 4 }, "tls": { "description": "Use TLS for database connections.", "type": "boolean", - "x-order": 7 + "x-order": 5 }, "tls_skip_verify": { "description": "Skip TLS certificate and hostname validation.", "type": "boolean", - "x-order": 8 + "x-order": 6 }, - "username": { - "description": "PostgreSQL username for getting pg stat statements data.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 12 - }, - "qan_postgresql_pgstatmonitor_agent": { - "description": "QANPostgreSQLPgStatMonitorAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", + "x-order": 7 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -4389,17 +4361,28 @@ "additionalProperties": { "type": "string" }, - "x-order": 10 + "x-order": 8 }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 7 + "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 finished.\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 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 10 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -4414,34 +4397,69 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 13 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 8 + "x-order": 11 + } + }, + "x-order": 11 + }, + "qan_postgresql_pgstatements_agent": { + "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 9 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, + "username": { + "description": "PostgreSQL username for getting pg stat statements data.", + "type": "string", + "x-order": 4 + }, + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", + "type": "boolean", + "x-order": 5 + }, + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", + "x-order": 6 + }, + "tls": { + "description": "Use TLS for database connections.", + "type": "boolean", + "x-order": 7 + }, + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation.", + "type": "boolean", + "x-order": 8 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", "type": "string", @@ -4456,28 +4474,33 @@ "AGENT_STATUS_DONE", "AGENT_STATUS_UNKNOWN" ], - "x-order": 11 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 5 + "x-order": 10 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 6 + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 11 }, - "username": { - "description": "PostgreSQL username for getting pg stat monitor data.", + "log_level": { + "description": "- LOG_LEVEL_UNSPECIFIED: Auto", "type": "string", - "x-order": 4 + "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": 12 } }, - "x-order": 13 + "x-order": 12 }, - "rds_exporter": { - "description": "RDSExporter runs on Generic or Container Node and exposes RemoteRDS Node metrics.", + "qan_postgresql_pgstatmonitor_agent": { + "description": "QANPostgreSQLPgStatMonitorAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", "type": "object", "properties": { "agent_id": { @@ -4485,102 +4508,59 @@ "type": "string", "x-order": 0 }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 13 + "pmm_agent_id": { + "description": "The pmm-agent identifier which runs this instance.", + "type": "string", + "x-order": 1 }, - "aws_access_key": { - "description": "AWS Access Key.", + "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": "PostgreSQL username for getting pg stat monitor data.", "type": "string", "x-order": 4 }, - "basic_metrics_disabled": { - "description": "Basic metrics are disabled.", + "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 + }, + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", "type": "boolean", + "x-order": 7 + }, + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", "x-order": 8 }, + "query_examples_disabled": { + "description": "True if query examples are disabled.", + "type": "boolean", + "x-order": 9 + }, "custom_labels": { "description": "Custom user-assigned labels.", "type": "object", "additionalProperties": { "type": "string" }, - "x-order": 5 - }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 - }, - "enhanced_metrics_disabled": { - "description": "Enhanced metrics are disabled.", - "type": "boolean", - "x-order": 9 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "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": 12 - }, - "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 - }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, - "mr": { - "description": "Medium resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 14 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 3 - }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 1 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 10 + "x-order": 10 }, "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", @@ -4596,10 +4576,30 @@ "AGENT_STATUS_DONE", "AGENT_STATUS_UNKNOWN" ], - "x-order": 6 + "x-order": 11 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 12 + }, + "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": 13 } }, - "x-order": 7 + "x-order": 13 } } } @@ -4614,6 +4614,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -4624,13 +4628,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -4661,8 +4661,8 @@ "schema": { "type": "object", "properties": { - "azure_database_exporter": { - "description": "AzureDatabaseExporter runs on Generic or Container Node and exposes RemoteAzure Node metrics.", + "pmm_agent": { + "description": "PMMAgent runs on Generic or Container Node.", "type": "object", "properties": { "agent_id": { @@ -4670,15 +4670,10 @@ "type": "string", "x-order": 0 }, - "azure_database_resource_type": { - "type": "string", - "title": "Azure database resource type (mysql, maria, postgres)", - "x-order": 5 - }, - "azure_database_subscription_id": { - "description": "Azure database subscription ID.", + "runs_on_node_id": { + "description": "Node identifier where this instance runs.", "type": "string", - "x-order": 4 + "x-order": 1 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -4686,76 +4681,35 @@ "additionalProperties": { "type": "string" }, - "x-order": 6 - }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", "x-order": 2 }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 8 + "connected": { + "description": "True if Agent is running and connected to pmm-managed.", + "type": "boolean", + "x-order": 3 }, - "log_level": { - "description": "- LOG_LEVEL_UNSPECIFIED: Auto", + "process_exec_path": { + "description": "Path to exec process.", "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": 11 - }, - "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 - }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, - "mr": { - "description": "Medium resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 12 - }, - "node_id": { - "description": "Node identifier.", + "x-order": 4 + } + }, + "x-order": 0 + }, + "vmagent": { + "description": "VMAgent runs on Generic or Container Node alongside pmm-agent.\nIt scrapes other exporter Agents that are configured with push_metrics_enabled\nand uses Prometheus remote write protocol to push metrics to PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 3 + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "push_metrics_enabled": { - "description": "True if the exporter operates in push metrics mode.", - "type": "boolean", - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", "type": "string", @@ -4770,13 +4724,24 @@ "AGENT_STATUS_DONE", "AGENT_STATUS_UNKNOWN" ], - "x-order": 7 + "x-order": 2 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 3 + }, + "listen_port": { + "description": "Listen port for scraping metrics.", + "type": "integer", + "format": "int64", + "x-order": 4 } }, - "x-order": 14 + "x-order": 1 }, - "external_exporter": { - "description": "ExternalExporter runs on any Node type, including Remote Node.", + "node_exporter": { + "description": "NodeExporter runs on Generic or Container Node and exposes its metrics.", "type": "object", "properties": { "agent_id": { @@ -4784,31 +4749,85 @@ "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 + }, "custom_labels": { "description": "Custom user-assigned labels.", "type": "object", "additionalProperties": { "type": "string" }, - "x-order": 7 + "x-order": 3 }, - "disabled": { - "description": "If disabled, metrics from this exporter will not be collected.", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 2 + "x-order": 4 + }, + "disabled_collectors": { + "description": "List of disabled collector names.", + "type": "array", + "items": { + "type": "string" + }, + "x-order": 5 + }, + "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 finished.\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": 6 }, "listen_port": { "description": "Listen port for scraping metrics.", "type": "integer", "format": "int64", - "x-order": 8 + "x-order": 7 }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", + "process_exec_path": { + "description": "Path to exec process.", "type": "string", - "x-order": 6 + "x-order": 8 }, - "metrics_resolutions": { + "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": 9 + }, + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 10 + }, + "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", "type": "object", "properties": { @@ -4817,38 +4836,40 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 11 - }, - "process_exec_path": { - "description": "Path to exec process.", + } + }, + "x-order": 2 + }, + "mysqld_exporter": { + "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 10 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 9 + "x-order": 0 }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", + "pmm_agent_id": { + "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 5 + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", + "type": "boolean", + "x-order": 2 }, "service_id": { "description": "Service identifier.", @@ -4856,27 +4877,40 @@ "x-order": 3 }, "username": { - "description": "HTTP basic auth username for collecting metrics.", + "description": "MySQL username for scraping metrics.", "type": "string", "x-order": 4 - } - }, - "x-order": 12 - }, - "mongodb_exporter": { - "description": "MongoDBExporter runs on Generic or Container Node and exposes MongoDB Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", + }, + "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 + }, + "tls_ca": { + "description": "Certificate Authority certificate chain.", "type": "string", - "x-order": 0 + "x-order": 7 }, - "collections_limit": { + "tls_cert": { + "description": "Client certificate.", + "type": "string", + "x-order": 8 + }, + "tls_key": { + "description": "Password for decrypting tls_cert.", + "type": "string", + "x-order": 9 + }, + "tablestats_group_table_limit": { + "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", "type": "integer", "format": "int32", - "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", - "x-order": 13 + "x-order": 10 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -4884,12 +4918,12 @@ "additionalProperties": { "type": "string" }, - "x-order": 7 + "x-order": 11 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 2 + "x-order": 12 }, "disabled_collectors": { "description": "List of disabled collector names.", @@ -4897,23 +4931,45 @@ "items": { "type": "string" }, - "x-order": 9 + "x-order": 13 }, - "enable_all_collectors": { - "description": "Enable All collectors.", - "type": "boolean", + "table_count": { + "description": "Actual table count at the moment of adding.", + "type": "integer", + "format": "int32", "x-order": 14 }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 17 + "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 finished.\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": 15 }, "listen_port": { "description": "Listen port for scraping metrics.", "type": "integer", "format": "int64", - "x-order": 11 + "x-order": 16 + }, + "tablestats_group_disabled": { + "description": "True if tablestats group collectors are currently disabled.", + "type": "boolean", + "x-order": 17 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 18 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -4928,7 +4984,12 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 16 + "x-order": 19 + }, + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 20 }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", @@ -4939,62 +5000,50 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 18 + "x-order": 21 + } + }, + "x-order": 3 + }, + "mongodb_exporter": { + "description": "MongoDBExporter runs on Generic or Container Node and exposes MongoDB Service metrics.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 8 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "stats_collections": { - "type": "array", - "title": "List of colletions to get stats from. Can use *", - "items": { - "type": "string" - }, - "x-order": 12 - }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "MongoDB username for scraping metrics.", "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 + "x-order": 4 }, "tls": { "description": "Use TLS for database connections.", @@ -5006,35 +5055,18 @@ "type": "boolean", "x-order": 6 }, - "username": { - "description": "MongoDB username for scraping metrics.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 4 - }, - "mysqld_exporter": { - "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, "custom_labels": { "description": "Custom user-assigned labels.", "type": "object", "additionalProperties": { "type": "string" }, - "x-order": 11 + "x-order": 7 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 2 + "x-order": 8 }, "disabled_collectors": { "description": "List of disabled collector names.", @@ -5042,18 +5074,53 @@ "items": { "type": "string" }, - "x-order": 13 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 20 + "x-order": 9 }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", + "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 finished.\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": 16 + "x-order": 11 + }, + "stats_collections": { + "type": "array", + "title": "List of colletions to get stats from. Can use *", + "items": { + "type": "string" + }, + "x-order": 12 + }, + "collections_limit": { + "type": "integer", + "format": "int32", + "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", + "x-order": 13 + }, + "enable_all_collectors": { + "description": "Enable All collectors.", + "type": "boolean", + "x-order": 14 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 15 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -5068,7 +5135,12 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 19 + "x-order": 16 + }, + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 17 }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", @@ -5079,126 +5151,73 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 21 + "x-order": 18 + } + }, + "x-order": 4 + }, + "postgres_exporter": { + "description": "PostgresExporter runs on Generic or Container Node and exposes PostgreSQL Service metrics.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 18 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 12 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "PostgreSQL username for scraping metrics.", "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": 15 - }, - "table_count": { - "description": "Actual table count at the moment of adding.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 17 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 10 + "x-order": 4 }, "tls": { "description": "Use TLS for database connections.", "type": "boolean", "x-order": 5 }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", + "description": "Skip TLS certificate and hostname validation. Uses sslmode=required instead of verify-full.", "type": "boolean", "x-order": 6 }, - "username": { - "description": "MySQL username for scraping metrics.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 3 - }, - "node_exporter": { - "description": "NodeExporter runs on Generic or Container Node and exposes its metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, "custom_labels": { "description": "Custom user-assigned labels.", "type": "object", "additionalProperties": { "type": "string" }, - "x-order": 3 + "x-order": 7 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 2 + "x-order": 8 }, "disabled_collectors": { "description": "List of disabled collector names.", @@ -5206,18 +5225,34 @@ "items": { "type": "string" }, - "x-order": 5 + "x-order": 9 }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", + "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 finished.\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": 7 + "x-order": 11 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 12 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -5232,7 +5267,24 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 9 + "x-order": 13 + }, + "auto_discovery_limit": { + "description": "Limit of databases for auto-discovery.", + "type": "integer", + "format": "int32", + "x-order": 14 + }, + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 15 + }, + "max_exporter_connections": { + "description": "Maximum number of connections that exporter can open to the database instance.", + "type": "integer", + "format": "int32", + "x-order": 16 }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", @@ -5243,102 +5295,60 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 11 + "x-order": 17 + } + }, + "x-order": 5 + }, + "proxysql_exporter": { + "description": "ProxySQLExporter runs on Generic or Container Node and exposes ProxySQL Service metrics.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", + "type": "boolean", + "x-order": 2 + }, + "service_id": { + "description": "Service identifier.", "type": "string", - "x-order": 8 + "x-order": 3 }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", + "username": { + "description": "ProxySQL username for scraping metrics.", + "type": "string", "x-order": 4 }, - "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 finished.\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": 6 - } - }, - "x-order": 2 - }, - "pmm_agent": { - "description": "PMMAgent runs on Generic or Container Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "connected": { - "description": "True if Agent is running and connected to pmm-managed.", + "tls": { + "description": "Use TLS for database connections.", "type": "boolean", - "x-order": 3 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 2 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 4 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 0 - }, - "postgres_exporter": { - "description": "PostgresExporter runs on Generic or Container Node and exposes PostgreSQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 + "x-order": 5 }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 14 + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation.", + "type": "boolean", + "x-order": 6 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -5348,10 +5358,10 @@ }, "x-order": 7 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 2 + "x-order": 8 }, "disabled_collectors": { "description": "List of disabled collector names.", @@ -5361,10 +5371,21 @@ }, "x-order": 9 }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 15 + "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 finished.\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.", @@ -5372,6 +5393,11 @@ "format": "int64", "x-order": 11 }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 12 + }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", "type": "string", @@ -5387,11 +5413,10 @@ ], "x-order": 13 }, - "max_exporter_connections": { - "description": "Maximum number of connections that exporter can open to the database instance.", - "type": "integer", - "format": "int32", - "x-order": 16 + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 14 }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", @@ -5402,54 +5427,50 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 17 + "x-order": 15 + } + }, + "x-order": 6 + }, + "qan_mysql_perfschema_agent": { + "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 8 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "MySQL username for getting performance data.", "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 + "x-order": 4 }, "tls": { "description": "Use TLS for database connections.", @@ -5457,26 +5478,40 @@ "x-order": 5 }, "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation. Uses sslmode=required instead of verify-full.", + "description": "Skip TLS certificate and hostname validation.", "type": "boolean", "x-order": 6 }, - "username": { - "description": "PostgreSQL username for scraping metrics.", + "tls_ca": { + "description": "Certificate Authority certificate chain.", "type": "string", - "x-order": 4 - } - }, - "x-order": 5 - }, - "proxysql_exporter": { - "description": "ProxySQLExporter runs on Generic or Container Node and exposes ProxySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", + "x-order": 7 + }, + "tls_cert": { + "description": "Client certificate.", "type": "string", - "x-order": 0 + "x-order": 8 + }, + "tls_key": { + "description": "Password for decrypting tls_cert.", + "type": "string", + "x-order": 9 + }, + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", + "type": "boolean", + "x-order": 10 + }, + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", + "x-order": 11 + }, + "query_examples_disabled": { + "description": "True if query examples are disabled.", + "type": "boolean", + "x-order": 12 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -5484,31 +5519,28 @@ "additionalProperties": { "type": "string" }, - "x-order": 7 - }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 + "x-order": 13 }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", + "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 finished.\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": 14 }, - "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": 15 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -5523,65 +5555,39 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "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 - }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, - "mr": { - "description": "Medium resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 15 + "x-order": 16 + } + }, + "x-order": 7 + }, + "qan_mysql_slowlog_agent": { + "description": "QANMySQLSlowlogAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 8 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "MySQL username for getting performance data.", "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 + "x-order": 4 }, "tls": { "description": "Use TLS for database connections.", @@ -5593,22 +5599,42 @@ "type": "boolean", "x-order": 6 }, - "username": { - "description": "ProxySQL username for scraping metrics.", + "tls_ca": { + "description": "Certificate Authority certificate chain.", "type": "string", - "x-order": 4 - } - }, - "x-order": 6 - }, - "qan_mongodb_profiler_agent": { - "description": "QANMongoDBProfilerAgent runs within pmm-agent and sends MongoDB Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", + "x-order": 7 + }, + "tls_cert": { + "description": "Client certificate.", "type": "string", - "x-order": 0 + "x-order": 8 + }, + "tls_key": { + "description": "Password for decrypting tls_cert.", + "type": "string", + "x-order": 9 + }, + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", + "type": "boolean", + "x-order": 10 + }, + "max_query_length": { + "type": "integer", + "format": "int32", + "title": "Limit query length in QAN (default: server-defined; -1: no limit)", + "x-order": 11 + }, + "query_examples_disabled": { + "description": "True if query examples are disabled.", + "type": "boolean", + "x-order": 12 + }, + "max_slowlog_file_size": { + "description": "Slowlog file is rotated at this size if \u003e 0.", + "type": "string", + "format": "int64", + "x-order": 13 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -5616,12 +5642,28 @@ "additionalProperties": { "type": "string" }, - "x-order": 8 + "x-order": 14 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 + "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 finished.\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": 15 + }, + "process_exec_path": { + "type": "string", + "title": "mod tidy", + "x-order": 16 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -5636,44 +5678,39 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 11 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 7 + "x-order": 17 + } + }, + "x-order": 8 + }, + "qan_mongodb_profiler_agent": { + "description": "QANMongoDBProfilerAgent runs within pmm-agent and sends MongoDB Query Analytics data to the PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 + "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 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "MongoDB username for getting profiler data.", "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 + "x-order": 4 }, "tls": { "description": "Use TLS for database connections.", @@ -5685,22 +5722,11 @@ "type": "boolean", "x-order": 6 }, - "username": { - "description": "MongoDB username for getting profiler data.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 9 - }, - "qan_mysql_perfschema_agent": { - "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", + "x-order": 7 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -5708,17 +5734,28 @@ "additionalProperties": { "type": "string" }, - "x-order": 13 + "x-order": 8 }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 + "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 finished.\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 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 10 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -5733,91 +5770,60 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 16 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", "x-order": 11 + } + }, + "x-order": 9 + }, + "qan_postgresql_pgstatements_agent": { + "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 12 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "PostgreSQL username for getting pg stat statements data.", "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": 14 + "x-order": 4 }, - "tls": { - "description": "Use TLS for database connections.", + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", "type": "boolean", "x-order": 5 }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", + "x-order": 6 }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 + "tls": { + "description": "Use TLS for database connections.", + "type": "boolean", + "x-order": 7 }, "tls_skip_verify": { "description": "Skip TLS certificate and hostname validation.", "type": "boolean", - "x-order": 6 - }, - "username": { - "description": "MySQL username for getting performance data.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 7 - }, - "qan_mysql_slowlog_agent": { - "description": "QANMySQLSlowlogAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 + "x-order": 8 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -5825,17 +5831,28 @@ "additionalProperties": { "type": "string" }, - "x-order": 14 + "x-order": 9 }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", + "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 finished.\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 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 11 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -5850,97 +5867,65 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 17 - }, - "max_query_length": { - "type": "integer", - "format": "int32", - "title": "Limit query length in QAN (default: server-defined; -1: no limit)", - "x-order": 11 - }, - "max_slowlog_file_size": { - "description": "Slowlog file is rotated at this size if \u003e 0.", + "x-order": 12 + } + }, + "x-order": 10 + }, + "qan_postgresql_pgstatmonitor_agent": { + "description": "QANPostgreSQLPgStatMonitorAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "format": "int64", - "x-order": 13 + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "type": "string", - "title": "mod tidy", - "x-order": 16 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 12 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "PostgreSQL username for getting pg stat monitor data.", "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": 15 + "x-order": 4 }, "tls": { "description": "Use TLS for database connections.", "type": "boolean", "x-order": 5 }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, "tls_skip_verify": { "description": "Skip TLS certificate and hostname validation.", "type": "boolean", "x-order": 6 }, - "username": { - "description": "MySQL username for getting performance data.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 8 - }, - "qan_postgresql_pgstatements_agent": { - "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", + "type": "boolean", + "x-order": 7 + }, + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", + "x-order": 8 + }, + "query_examples_disabled": { + "description": "True if query examples are disabled.", + "type": "boolean", + "x-order": 9 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -5948,17 +5933,28 @@ "additionalProperties": { "type": "string" }, - "x-order": 9 + "x-order": 10 }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 5 + "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 finished.\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": 11 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 12 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -5973,65 +5969,101 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 12 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 6 + "x-order": 13 + } + }, + "x-order": 11 + }, + "external_exporter": { + "description": "ExternalExporter runs on any Node type, including Remote Node.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", + "runs_on_node_id": { + "description": "Node identifier where this instance runs.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 + "disabled": { + "description": "If disabled, metrics from this exporter will not be collected.", + "type": "boolean", + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "HTTP basic auth username for collecting metrics.", "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 + "x-order": 4 }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", + "scheme": { + "description": "Scheme to generate URI to exporter metrics endpoints.", + "type": "string", + "x-order": 5 + }, + "metrics_path": { + "description": "Path under which metrics are exposed, used to generate URI.", + "type": "string", + "x-order": 6 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, "x-order": 7 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", + "listen_port": { + "description": "Listen port for scraping metrics.", + "type": "integer", + "format": "int64", "x-order": 8 }, - "username": { - "description": "PostgreSQL username for getting pg stat statements data.", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", + "type": "boolean", + "x-order": 9 + }, + "process_exec_path": { + "description": "Path to exec process.", "type": "string", - "x-order": 4 + "x-order": 10 + }, + "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": 11 } }, - "x-order": 10 + "x-order": 12 }, - "qan_postgresql_pgstatmonitor_agent": { - "description": "QANPostgreSQLPgStatMonitorAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", + "rds_exporter": { + "description": "RDSExporter runs on Generic or Container Node and exposes RemoteRDS Node metrics.", "type": "object", "properties": { "agent_id": { @@ -6039,64 +6071,33 @@ "type": "string", "x-order": 0 }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 7 + "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 }, - "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": 13 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 8 - }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", + "node_id": { + "description": "Node identifier.", "type": "string", - "x-order": 1 + "x-order": 3 }, - "process_exec_path": { - "description": "Path to exec process.", + "aws_access_key": { + "description": "AWS Access Key.", "type": "string", - "x-order": 12 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 9 + "x-order": 4 }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 3 + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 5 }, "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", @@ -6112,74 +6113,33 @@ "AGENT_STATUS_DONE", "AGENT_STATUS_UNKNOWN" ], - "x-order": 11 - }, - "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 }, - "username": { - "description": "PostgreSQL username for getting pg stat monitor data.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 11 - }, - "rds_exporter": { - "description": "RDSExporter runs on Generic or Container Node and exposes RemoteRDS Node metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", + "listen_port": { + "description": "Listen port for scraping metrics (the same for several configurations).", "type": "integer", - "format": "int32", - "x-order": 13 - }, - "aws_access_key": { - "description": "AWS Access Key.", - "type": "string", - "x-order": 4 + "format": "int64", + "x-order": 7 }, "basic_metrics_disabled": { "description": "Basic metrics are disabled.", "type": "boolean", "x-order": 8 }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 - }, "enhanced_metrics_disabled": { "description": "Enhanced metrics are disabled.", "type": "boolean", "x-order": 9 }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 7 + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", + "type": "boolean", + "x-order": 10 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 11 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -6196,6 +6156,12 @@ ], "x-order": 12 }, + "auto_discovery_limit": { + "description": "Limit of databases for auto-discovery.", + "type": "integer", + "format": "int32", + "x-order": 13 + }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", "type": "object", @@ -6205,38 +6171,63 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 13 + }, + "azure_database_exporter": { + "description": "AzureDatabaseExporter runs on Generic or Container Node and exposes RemoteAzure Node metrics.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance 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 }, "node_id": { "description": "Node identifier.", "type": "string", "x-order": 3 }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", + "azure_database_subscription_id": { + "description": "Azure database subscription ID.", "type": "string", - "x-order": 1 + "x-order": 4 }, - "process_exec_path": { - "description": "Path to exec process.", + "azure_database_resource_type": { "type": "string", - "x-order": 11 + "title": "Azure database resource type (mysql, maria, postgres)", + "x-order": 5 }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 10 + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 6 }, "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", @@ -6252,54 +6243,63 @@ "AGENT_STATUS_DONE", "AGENT_STATUS_UNKNOWN" ], - "x-order": 6 - } - }, - "x-order": 13 - }, - "vmagent": { - "description": "VMAgent runs on Generic or Container Node alongside pmm-agent.\nIt scrapes other exporter Agents that are configured with push_metrics_enabled\nand uses Prometheus remote write protocol to push metrics to PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 + "x-order": 7 }, "listen_port": { - "description": "Listen port for scraping metrics.", + "description": "Listen port for scraping metrics (the same for several configurations).", "type": "integer", "format": "int64", - "x-order": 4 + "x-order": 8 }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 1 + "push_metrics_enabled": { + "description": "True if the exporter operates in push metrics mode.", + "type": "boolean", + "x-order": 9 }, "process_exec_path": { "description": "Path to exec process.", "type": "string", - "x-order": 3 + "x-order": 10 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "log_level": { + "description": "- LOG_LEVEL_UNSPECIFIED: Auto", "type": "string", - "default": "AGENT_STATUS_UNSPECIFIED", + "title": "Log level for exporters", + "default": "LOG_LEVEL_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" + "LOG_LEVEL_UNSPECIFIED", + "LOG_LEVEL_FATAL", + "LOG_LEVEL_ERROR", + "LOG_LEVEL_WARN", + "LOG_LEVEL_INFO", + "LOG_LEVEL_DEBUG" ], - "x-order": 2 + "x-order": 11 + }, + "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": 12 } }, - "x-order": 1 + "x-order": 14 } } } @@ -6314,6 +6314,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -6324,13 +6328,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -6358,9 +6358,15 @@ "schema": { "type": "object", "properties": { - "azure_database_exporter": { + "node_exporter": { "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", @@ -6376,12 +6382,6 @@ "x-nullable": true, "x-order": 1 }, - "enable": { - "description": "Enable this Agent. Agents are enabled by default when they get added.", - "type": "boolean", - "x-nullable": true, - "x-order": 0 - }, "enable_push_metrics": { "description": "Enables push metrics with vmagent.", "type": "boolean", @@ -6397,25 +6397,31 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 3 } }, - "x-order": 7 + "x-order": 0 }, - "external_exporter": { + "mysqld_exporter": { "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", @@ -6431,12 +6437,6 @@ "x-nullable": true, "x-order": 1 }, - "enable": { - "description": "Enable this Agent. Agents are enabled by default when they get added.", - "type": "boolean", - "x-nullable": true, - "x-order": 0 - }, "enable_push_metrics": { "description": "Enables push metrics with vmagent.", "type": "boolean", @@ -6452,25 +6452,31 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 3 } }, - "x-order": 5 + "x-order": 1 }, "mongodb_exporter": { "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", @@ -6486,12 +6492,6 @@ "x-nullable": true, "x-order": 1 }, - "enable": { - "description": "Enable this Agent. Agents are enabled by default when they get added.", - "type": "boolean", - "x-nullable": true, - "x-order": 0 - }, "enable_push_metrics": { "description": "Enables push metrics with vmagent.", "type": "boolean", @@ -6507,15 +6507,15 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 3 @@ -6523,9 +6523,15 @@ }, "x-order": 2 }, - "mysqld_exporter": { + "postgres_exporter": { "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", @@ -6541,12 +6547,6 @@ "x-nullable": true, "x-order": 1 }, - "enable": { - "description": "Enable this Agent. Agents are enabled by default when they get added.", - "type": "boolean", - "x-nullable": true, - "x-order": 0 - }, "enable_push_metrics": { "description": "Enables push metrics with vmagent.", "type": "boolean", @@ -6562,25 +6562,31 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 3 } }, - "x-order": 1 + "x-order": 3 }, - "node_exporter": { + "proxysql_exporter": { "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", @@ -6596,12 +6602,6 @@ "x-nullable": true, "x-order": 1 }, - "enable": { - "description": "Enable this Agent. Agents are enabled by default when they get added.", - "type": "boolean", - "x-nullable": true, - "x-order": 0 - }, "enable_push_metrics": { "description": "Enables push metrics with vmagent.", "type": "boolean", @@ -6617,25 +6617,31 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 3 } }, - "x-order": 0 + "x-order": 4 }, - "postgres_exporter": { + "external_exporter": { "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", @@ -6651,12 +6657,6 @@ "x-nullable": true, "x-order": 1 }, - "enable": { - "description": "Enable this Agent. Agents are enabled by default when they get added.", - "type": "boolean", - "x-nullable": true, - "x-order": 0 - }, "enable_push_metrics": { "description": "Enables push metrics with vmagent.", "type": "boolean", @@ -6672,25 +6672,31 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 3 } }, - "x-order": 3 + "x-order": 5 }, - "proxysql_exporter": { + "rds_exporter": { "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", @@ -6706,12 +6712,6 @@ "x-nullable": true, "x-order": 1 }, - "enable": { - "description": "Enable this Agent. Agents are enabled by default when they get added.", - "type": "boolean", - "x-nullable": true, - "x-order": 0 - }, "enable_push_metrics": { "description": "Enables push metrics with vmagent.", "type": "boolean", @@ -6727,25 +6727,31 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 3 } }, - "x-order": 4 + "x-order": 6 }, - "qan_mongodb_profiler_agent": { + "azure_database_exporter": { "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", @@ -6761,12 +6767,6 @@ "x-nullable": true, "x-order": 1 }, - "enable": { - "description": "Enable this Agent. Agents are enabled by default when they get added.", - "type": "boolean", - "x-nullable": true, - "x-order": 0 - }, "enable_push_metrics": { "description": "Enables push metrics with vmagent.", "type": "boolean", @@ -6782,25 +6782,31 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 3 } }, - "x-order": 10 + "x-order": 7 }, "qan_mysql_perfschema_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", @@ -6816,12 +6822,6 @@ "x-nullable": true, "x-order": 1 }, - "enable": { - "description": "Enable this Agent. Agents are enabled by default when they get added.", - "type": "boolean", - "x-nullable": true, - "x-order": 0 - }, "enable_push_metrics": { "description": "Enables push metrics with vmagent.", "type": "boolean", @@ -6837,15 +6837,15 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "mr": { "description": "Medium resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", "type": "string", - "x-order": 1 + "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": 3 @@ -6856,6 +6856,12 @@ "qan_mysql_slowlog_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", @@ -6871,12 +6877,6 @@ "x-nullable": true, "x-order": 1 }, - "enable": { - "description": "Enable this Agent. Agents are enabled by default when they get added.", - "type": "boolean", - "x-nullable": true, - "x-order": 0 - }, "enable_push_metrics": { "description": "Enables push metrics with vmagent.", "type": "boolean", @@ -6892,15 +6892,15 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 3 @@ -6908,9 +6908,15 @@ }, "x-order": 9 }, - "qan_postgresql_pgstatements_agent": { + "qan_mongodb_profiler_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", @@ -6926,12 +6932,6 @@ "x-nullable": true, "x-order": 1 }, - "enable": { - "description": "Enable this Agent. Agents are enabled by default when they get added.", - "type": "boolean", - "x-nullable": true, - "x-order": 0 - }, "enable_push_metrics": { "description": "Enables push metrics with vmagent.", "type": "boolean", @@ -6947,25 +6947,31 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 3 } }, - "x-order": 11 + "x-order": 10 }, - "qan_postgresql_pgstatmonitor_agent": { + "qan_postgresql_pgstatements_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", @@ -6981,12 +6987,6 @@ "x-nullable": true, "x-order": 1 }, - "enable": { - "description": "Enable this Agent. Agents are enabled by default when they get added.", - "type": "boolean", - "x-nullable": true, - "x-order": 0 - }, "enable_push_metrics": { "description": "Enables push metrics with vmagent.", "type": "boolean", @@ -7002,25 +7002,31 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 3 } }, - "x-order": 12 + "x-order": 11 }, - "rds_exporter": { + "qan_postgresql_pgstatmonitor_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", @@ -7036,12 +7042,6 @@ "x-nullable": true, "x-order": 1 }, - "enable": { - "description": "Enable this Agent. Agents are enabled by default when they get added.", - "type": "boolean", - "x-nullable": true, - "x-order": 0 - }, "enable_push_metrics": { "description": "Enables push metrics with vmagent.", "type": "boolean", @@ -7057,21 +7057,21 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 3 } }, - "x-order": 6 + "x-order": 12 } } } @@ -7083,8 +7083,8 @@ "schema": { "type": "object", "properties": { - "azure_database_exporter": { - "description": "AzureDatabaseExporter runs on Generic or Container Node and exposes RemoteAzure Node metrics.", + "node_exporter": { + "description": "NodeExporter runs on Generic or Container Node and exposes its metrics.", "type": "object", "properties": { "agent_id": { @@ -7092,91 +7092,36 @@ "type": "string", "x-order": 0 }, - "azure_database_resource_type": { - "type": "string", - "title": "Azure database resource type (mysql, maria, postgres)", - "x-order": 5 - }, - "azure_database_subscription_id": { - "description": "Azure database subscription ID.", + "pmm_agent_id": { + "description": "The pmm-agent identifier which runs this instance.", "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 + "x-order": 1 }, "disabled": { "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", "x-order": 2 }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "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": 11 - }, - "metrics_resolutions": { - "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", + "custom_labels": { + "description": "Custom user-assigned labels.", "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 - }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, - "mr": { - "description": "Medium resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 1 - } + "additionalProperties": { + "type": "string" }, - "x-order": 12 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", "x-order": 3 }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 1 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, "push_metrics_enabled": { - "description": "True if the exporter operates in push metrics mode.", + "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 9 + "x-order": 4 + }, + "disabled_collectors": { + "description": "List of disabled collector names.", + "type": "array", + "items": { + "type": "string" + }, + "x-order": 5 }, "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", @@ -7192,85 +7137,82 @@ "AGENT_STATUS_DONE", "AGENT_STATUS_UNKNOWN" ], - "x-order": 7 - } - }, - "x-order": 7 - }, - "external_exporter": { - "description": "ExternalExporter runs on any Node type, including Remote Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "disabled": { - "description": "If disabled, metrics from this exporter will not be collected.", - "type": "boolean", - "x-order": 2 + "x-order": 6 }, "listen_port": { "description": "Listen port for scraping metrics.", "type": "integer", "format": "int64", + "x-order": 7 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", "x-order": 8 }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", + "log_level": { + "description": "- LOG_LEVEL_UNSPECIFIED: Auto", "type": "string", - "x-order": 6 + "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": 9 + }, + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 10 }, "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 - }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", + "description": "High resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", "type": "string", - "x-order": 2 + "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": 11 - }, - "process_exec_path": { - "description": "Path to exec process.", + } + }, + "x-order": 0 + }, + "mysqld_exporter": { + "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 10 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 9 + "x-order": 0 }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", + "pmm_agent_id": { + "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 5 + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", + "type": "boolean", + "x-order": 2 }, "service_id": { "description": "Service identifier.", @@ -7278,27 +7220,40 @@ "x-order": 3 }, "username": { - "description": "HTTP basic auth username for collecting metrics.", + "description": "MySQL username for scraping metrics.", "type": "string", "x-order": 4 - } - }, - "x-order": 5 - }, - "mongodb_exporter": { - "description": "MongoDBExporter runs on Generic or Container Node and exposes MongoDB Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", + }, + "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 + }, + "tls_ca": { + "description": "Certificate Authority certificate chain.", "type": "string", - "x-order": 0 + "x-order": 7 }, - "collections_limit": { + "tls_cert": { + "description": "Client certificate.", + "type": "string", + "x-order": 8 + }, + "tls_key": { + "description": "Password for decrypting tls_cert.", + "type": "string", + "x-order": 9 + }, + "tablestats_group_table_limit": { + "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", "type": "integer", "format": "int32", - "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", - "x-order": 13 + "x-order": 10 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -7306,12 +7261,12 @@ "additionalProperties": { "type": "string" }, - "x-order": 7 + "x-order": 11 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 2 + "x-order": 12 }, "disabled_collectors": { "description": "List of disabled collector names.", @@ -7319,23 +7274,45 @@ "items": { "type": "string" }, - "x-order": 9 + "x-order": 13 }, - "enable_all_collectors": { - "description": "Enable All collectors.", - "type": "boolean", + "table_count": { + "description": "Actual table count at the moment of adding.", + "type": "integer", + "format": "int32", "x-order": 14 }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 17 + "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 finished.\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": 15 }, "listen_port": { "description": "Listen port for scraping metrics.", "type": "integer", "format": "int64", - "x-order": 11 + "x-order": 16 + }, + "tablestats_group_disabled": { + "description": "True if tablestats group collectors are currently disabled.", + "type": "boolean", + "x-order": 17 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 18 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -7350,7 +7327,12 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 16 + "x-order": 19 + }, + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 20 }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", @@ -7361,62 +7343,50 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 18 + "x-order": 21 + } + }, + "x-order": 1 + }, + "mongodb_exporter": { + "description": "MongoDBExporter runs on Generic or Container Node and exposes MongoDB Service metrics.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 8 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "stats_collections": { - "type": "array", - "title": "List of colletions to get stats from. Can use *", - "items": { - "type": "string" - }, - "x-order": 12 - }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "MongoDB username for scraping metrics.", "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 + "x-order": 4 }, "tls": { "description": "Use TLS for database connections.", @@ -7428,35 +7398,18 @@ "type": "boolean", "x-order": 6 }, - "username": { - "description": "MongoDB username for scraping metrics.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 2 - }, - "mysqld_exporter": { - "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, "custom_labels": { "description": "Custom user-assigned labels.", "type": "object", "additionalProperties": { "type": "string" }, - "x-order": 11 + "x-order": 7 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 2 + "x-order": 8 }, "disabled_collectors": { "description": "List of disabled collector names.", @@ -7464,18 +7417,53 @@ "items": { "type": "string" }, + "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 finished.\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 + }, + "stats_collections": { + "type": "array", + "title": "List of colletions to get stats from. Can use *", + "items": { + "type": "string" + }, + "x-order": 12 + }, + "collections_limit": { + "type": "integer", + "format": "int32", + "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", "x-order": 13 }, - "expose_exporter": { + "enable_all_collectors": { + "description": "Enable All collectors.", "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 20 + "x-order": 14 }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 16 + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 15 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -7490,7 +7478,12 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 19 + "x-order": 16 + }, + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 17 }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", @@ -7501,126 +7494,73 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 21 + "x-order": 18 + } + }, + "x-order": 2 + }, + "postgres_exporter": { + "description": "PostgresExporter runs on Generic or Container Node and exposes PostgreSQL Service metrics.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 18 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 12 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "PostgreSQL username for scraping metrics.", "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": 15 - }, - "table_count": { - "description": "Actual table count at the moment of adding.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 17 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 10 + "x-order": 4 }, "tls": { "description": "Use TLS for database connections.", "type": "boolean", "x-order": 5 }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", + "description": "Skip TLS certificate and hostname validation. Uses sslmode=required instead of verify-full.", "type": "boolean", "x-order": 6 }, - "username": { - "description": "MySQL username for scraping metrics.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 1 - }, - "node_exporter": { - "description": "NodeExporter runs on Generic or Container Node and exposes its metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, "custom_labels": { "description": "Custom user-assigned labels.", "type": "object", "additionalProperties": { "type": "string" }, - "x-order": 3 + "x-order": 7 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 2 + "x-order": 8 }, "disabled_collectors": { "description": "List of disabled collector names.", @@ -7628,18 +7568,34 @@ "items": { "type": "string" }, - "x-order": 5 + "x-order": 9 }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", + "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 finished.\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": 7 + "x-order": 11 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 12 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -7654,7 +7610,24 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 9 + "x-order": 13 + }, + "auto_discovery_limit": { + "description": "Limit of databases for auto-discovery.", + "type": "integer", + "format": "int32", + "x-order": 14 + }, + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 15 + }, + "max_exporter_connections": { + "description": "Maximum number of connections that exporter can open to the database instance.", + "type": "integer", + "format": "int32", + "x-order": 16 }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", @@ -7665,67 +7638,60 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 11 + "x-order": 17 + } + }, + "x-order": 3 + }, + "proxysql_exporter": { + "description": "ProxySQLExporter runs on Generic or Container Node and exposes ProxySQL Service metrics.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 8 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 4 + "x-order": 2 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "service_id": { + "description": "Service identifier.", "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": 6 - } - }, - "x-order": 0 - }, - "postgres_exporter": { - "description": "PostgresExporter runs on Generic or Container Node and exposes PostgreSQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", + "x-order": 3 + }, + "username": { + "description": "ProxySQL username for scraping metrics.", "type": "string", - "x-order": 0 + "x-order": 4 }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 14 + "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.", @@ -7735,10 +7701,10 @@ }, "x-order": 7 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 2 + "x-order": 8 }, "disabled_collectors": { "description": "List of disabled collector names.", @@ -7748,10 +7714,21 @@ }, "x-order": 9 }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 15 + "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 finished.\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.", @@ -7759,6 +7736,11 @@ "format": "int64", "x-order": 11 }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 12 + }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", "type": "string", @@ -7774,11 +7756,10 @@ ], "x-order": 13 }, - "max_exporter_connections": { - "description": "Maximum number of connections that exporter can open to the database instance.", - "type": "integer", - "format": "int32", - "x-order": 16 + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 14 }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", @@ -7789,81 +7770,60 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 17 - }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", + "x-order": 15 + } + }, + "x-order": 4 + }, + "external_exporter": { + "description": "ExternalExporter runs on any Node type, including Remote Node.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 1 + "x-order": 0 }, - "process_exec_path": { - "description": "Path to exec process.", + "runs_on_node_id": { + "description": "Node identifier where this instance runs.", "type": "string", - "x-order": 12 + "x-order": 1 }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", + "disabled": { + "description": "If disabled, metrics from this exporter will not be collected.", "type": "boolean", - "x-order": 8 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "HTTP basic auth username for collecting metrics.", "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 + "x-order": 4 }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", + "scheme": { + "description": "Scheme to generate URI to exporter metrics endpoints.", + "type": "string", "x-order": 5 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation. Uses sslmode=required instead of verify-full.", - "type": "boolean", - "x-order": 6 - }, - "username": { - "description": "PostgreSQL username for scraping metrics.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 3 - }, - "proxysql_exporter": { - "description": "ProxySQLExporter runs on Generic or Container Node and exposes ProxySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", + "metrics_path": { + "description": "Path under which metrics are exposed, used to generate URI.", "type": "string", - "x-order": 0 + "x-order": 6 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -7873,44 +7833,21 @@ }, "x-order": 7 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 14 - }, "listen_port": { "description": "Listen port for scraping metrics.", "type": "integer", "format": "int64", - "x-order": 11 + "x-order": 8 }, - "log_level": { - "description": "- LOG_LEVEL_UNSPECIFIED: Auto", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", + "type": "boolean", + "x-order": 9 + }, + "process_exec_path": { + "description": "Path to exec process.", "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": 13 + "x-order": 10 }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", @@ -7921,39 +7858,59 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 15 + "x-order": 11 + } + }, + "x-order": 5 + }, + "rds_exporter": { + "description": "RDSExporter runs on Generic or Container Node and exposes RemoteRDS Node metrics.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 8 + "x-order": 2 }, - "service_id": { - "description": "Service identifier.", + "node_id": { + "description": "Node identifier.", "type": "string", "x-order": 3 }, + "aws_access_key": { + "description": "AWS Access Key.", + "type": "string", + "x-order": 4 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 5 + }, "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", "type": "string", @@ -7963,52 +7920,38 @@ "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 - }, - "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 - }, - "username": { - "description": "ProxySQL username for scraping metrics.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 4 - }, - "qan_mongodb_profiler_agent": { - "description": "QANMongoDBProfilerAgent runs within pmm-agent and sends MongoDB Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 + "AGENT_STATUS_WAITING", + "AGENT_STATUS_STOPPING", + "AGENT_STATUS_DONE", + "AGENT_STATUS_UNKNOWN" + ], + "x-order": 6 }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, + "listen_port": { + "description": "Listen port for scraping metrics (the same for several configurations).", + "type": "integer", + "format": "int64", + "x-order": 7 + }, + "basic_metrics_disabled": { + "description": "Basic metrics are disabled.", + "type": "boolean", "x-order": 8 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "enhanced_metrics_disabled": { + "description": "Enhanced metrics are disabled.", "type": "boolean", - "x-order": 2 + "x-order": 9 + }, + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", + "type": "boolean", + "x-order": 10 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 11 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -8023,29 +7966,81 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 11 + "x-order": 12 }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "auto_discovery_limit": { + "description": "Limit of databases for auto-discovery.", "type": "integer", "format": "int32", - "x-order": 7 + "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": 6 + }, + "azure_database_exporter": { + "description": "AzureDatabaseExporter runs on Generic or Container Node and exposes RemoteAzure Node metrics.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", + "type": "boolean", + "x-order": 2 }, - "service_id": { - "description": "Service identifier.", + "node_id": { + "description": "Node identifier.", "type": "string", "x-order": 3 }, + "azure_database_subscription_id": { + "description": "Azure database subscription ID.", + "type": "string", + "x-order": 4 + }, + "azure_database_resource_type": { + "type": "string", + "title": "Azure database resource type (mysql, maria, postgres)", + "x-order": 5 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 6 + }, "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", "type": "string", @@ -8060,53 +8055,24 @@ "AGENT_STATUS_DONE", "AGENT_STATUS_UNKNOWN" ], - "x-order": 9 + "x-order": 7 }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 5 + "listen_port": { + "description": "Listen port for scraping metrics (the same for several configurations).", + "type": "integer", + "format": "int64", + "x-order": 8 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", + "push_metrics_enabled": { + "description": "True if the exporter operates in push metrics mode.", "type": "boolean", - "x-order": 6 + "x-order": 9 }, - "username": { - "description": "MongoDB username for getting profiler data.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 10 - }, - "qan_mysql_perfschema_agent": { - "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", + "process_exec_path": { + "description": "Path to exec process.", "type": "string", - "x-order": 0 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", "x-order": 10 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 - }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", "type": "string", @@ -8120,55 +8086,72 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 16 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", "x-order": 11 }, + "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": 12 + } + }, + "x-order": 7 + }, + "qan_mysql_perfschema_agent": { + "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 + }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 12 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "MySQL username for getting performance data.", "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": 14 + "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 + }, "tls_ca": { "description": "Certificate Authority certificate chain.", "type": "string", @@ -8182,29 +8165,23 @@ "tls_key": { "description": "Password for decrypting tls_cert.", "type": "string", - "x-order": 9 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 6 - }, - "username": { - "description": "MySQL username for getting performance data.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 8 - }, - "qan_mysql_slowlog_agent": { - "description": "QANMySQLSlowlogAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 + "x-order": 9 + }, + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", + "type": "boolean", + "x-order": 10 + }, + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", + "x-order": 11 + }, + "query_examples_disabled": { + "description": "True if query examples are disabled.", + "type": "boolean", + "x-order": 12 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -8212,17 +8189,28 @@ "additionalProperties": { "type": "string" }, - "x-order": 14 + "x-order": 13 }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 + "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 finished.\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": 14 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 15 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -8237,61 +8225,50 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 17 - }, - "max_query_length": { - "type": "integer", - "format": "int32", - "title": "Limit query length in QAN (default: server-defined; -1: no limit)", - "x-order": 11 - }, - "max_slowlog_file_size": { - "description": "Slowlog file is rotated at this size if \u003e 0.", + "x-order": 16 + } + }, + "x-order": 8 + }, + "qan_mysql_slowlog_agent": { + "description": "QANMySQLSlowlogAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "format": "int64", - "x-order": 13 + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "type": "string", - "title": "mod tidy", - "x-order": 16 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 12 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "MySQL username for getting performance data.", "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": 15 + "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 + }, "tls_ca": { "description": "Certificate Authority certificate chain.", "type": "string", @@ -8307,27 +8284,27 @@ "type": "string", "x-order": 9 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", "type": "boolean", - "x-order": 6 + "x-order": 10 }, - "username": { - "description": "MySQL username for getting performance data.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 9 - }, - "qan_postgresql_pgstatements_agent": { - "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", + "max_query_length": { + "type": "integer", + "format": "int32", + "title": "Limit query length in QAN (default: server-defined; -1: no limit)", + "x-order": 11 + }, + "query_examples_disabled": { + "description": "True if query examples are disabled.", + "type": "boolean", + "x-order": 12 + }, + "max_slowlog_file_size": { + "description": "Slowlog file is rotated at this size if \u003e 0.", "type": "string", - "x-order": 0 + "format": "int64", + "x-order": 13 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -8335,17 +8312,28 @@ "additionalProperties": { "type": "string" }, - "x-order": 9 + "x-order": 14 }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 5 + "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 finished.\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": 15 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 + "process_exec_path": { + "type": "string", + "title": "mod tidy", + "x-order": 16 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -8360,71 +8348,55 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 12 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 6 + "x-order": 17 + } + }, + "x-order": 9 + }, + "qan_mongodb_profiler_agent": { + "description": "QANMongoDBProfilerAgent runs within pmm-agent and sends MongoDB Query Analytics data to the PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 + "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 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "MongoDB username for getting profiler data.", "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 + "x-order": 4 }, "tls": { "description": "Use TLS for database connections.", "type": "boolean", - "x-order": 7 + "x-order": 5 }, "tls_skip_verify": { "description": "Skip TLS certificate and hostname validation.", "type": "boolean", - "x-order": 8 + "x-order": 6 }, - "username": { - "description": "PostgreSQL username for getting pg stat statements data.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 11 - }, - "qan_postgresql_pgstatmonitor_agent": { - "description": "QANPostgreSQLPgStatMonitorAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", + "x-order": 7 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -8432,17 +8404,28 @@ "additionalProperties": { "type": "string" }, - "x-order": 10 + "x-order": 8 }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 7 + "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 finished.\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 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 10 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -8457,90 +8440,58 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 13 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 8 + "x-order": 11 + } + }, + "x-order": 10 + }, + "qan_postgresql_pgstatements_agent": { + "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 9 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "PostgreSQL username for getting pg stat statements data.", "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": 11 + "x-order": 4 }, - "tls": { - "description": "Use TLS for database connections.", + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", "type": "boolean", "x-order": 5 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 6 - }, - "username": { - "description": "PostgreSQL username for getting pg stat monitor data.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 12 - }, - "rds_exporter": { - "description": "RDSExporter runs on Generic or Container Node and exposes RemoteRDS Node metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", "type": "integer", "format": "int32", - "x-order": 13 + "x-order": 6 }, - "aws_access_key": { - "description": "AWS Access Key.", - "type": "string", - "x-order": 4 + "tls": { + "description": "Use TLS for database connections.", + "type": "boolean", + "x-order": 7 }, - "basic_metrics_disabled": { - "description": "Basic metrics are disabled.", + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation.", "type": "boolean", "x-order": 8 }, @@ -8550,23 +8501,28 @@ "additionalProperties": { "type": "string" }, - "x-order": 5 - }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 - }, - "enhanced_metrics_disabled": { - "description": "Enhanced metrics are disabled.", - "type": "boolean", "x-order": 9 }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 7 + "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 finished.\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 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 11 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -8582,47 +8538,71 @@ "LOG_LEVEL_DEBUG" ], "x-order": 12 - }, - "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 - }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, - "mr": { - "description": "Medium resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 14 - }, - "node_id": { - "description": "Node identifier.", + } + }, + "x-order": 11 + }, + "qan_postgresql_pgstatmonitor_agent": { + "description": "QANPostgreSQLPgStatMonitorAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 3 + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", + "type": "boolean", + "x-order": 2 + }, + "service_id": { + "description": "Service identifier.", "type": "string", - "x-order": 11 + "x-order": 3 }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", + "username": { + "description": "PostgreSQL username for getting pg stat monitor 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 + }, + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", + "type": "boolean", + "x-order": 7 + }, + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", + "x-order": 8 + }, + "query_examples_disabled": { + "description": "True if query examples are disabled.", "type": "boolean", + "x-order": 9 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, "x-order": 10 }, "status": { @@ -8639,10 +8619,30 @@ "AGENT_STATUS_DONE", "AGENT_STATUS_UNKNOWN" ], - "x-order": 6 + "x-order": 11 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 12 + }, + "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": 13 } }, - "x-order": 6 + "x-order": 12 } } } @@ -8657,6 +8657,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -8667,13 +8671,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -8718,6 +8718,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -8728,13 +8732,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -8772,17 +8772,17 @@ "schema": { "type": "object", "properties": { - "agent_config_log_lines_count": { - "type": "integer", - "format": "int64", - "x-order": 1 - }, "logs": { "type": "array", "items": { "type": "string" }, "x-order": 0 + }, + "agent_config_log_lines_count": { + "type": "integer", + "format": "int64", + "x-order": 1 } } } @@ -8797,6 +8797,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -8807,13 +8811,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -8852,79 +8852,46 @@ "schema": { "type": "object", "properties": { - "container": { + "generic": { "type": "array", "items": { - "description": "ContainerNode represents a Docker container.", + "description": "GenericNode represents a bare metal server or virtual machine.", "type": "object", "properties": { - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "az": { - "description": "Node availability zone.", + "node_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 8 + "x-order": 0 }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", + "node_name": { + "description": "Unique across all Nodes user-defined name.", "type": "string", - "x-order": 4 + "x-order": 1 }, - "container_name": { - "description": "Container name.", + "address": { + "description": "Node address (DNS name or IP).", "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 + "x-order": 2 }, "machine_id": { - "description": "Linux machine-id of the Generic Node where this Container Node runs.", + "description": "Linux machine-id.", "type": "string", "x-order": 3 }, - "node_id": { - "description": "Unique randomly generated instance identifier.", + "distro": { + "description": "Linux distribution name and version.", "type": "string", - "x-order": 0 + "x-order": 4 }, "node_model": { "description": "Node model.", "type": "string", - "x-order": 6 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 + "x-order": 5 }, "region": { "description": "Node region.", "type": "string", - "x-order": 7 - } - } - }, - "x-order": 1 - }, - "generic": { - "type": "array", - "items": { - "description": "GenericNode represents a bare metal server or virtual machine.", - "type": "object", - "properties": { - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 + "x-order": 6 }, "az": { "description": "Node availability zone.", @@ -8938,40 +8905,73 @@ "type": "string" }, "x-order": 8 + } + } + }, + "x-order": 0 + }, + "container": { + "type": "array", + "items": { + "description": "ContainerNode represents a Docker container.", + "type": "object", + "properties": { + "node_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, - "distro": { - "description": "Linux distribution name and version.", + "node_name": { + "description": "Unique across all Nodes user-defined name.", "type": "string", - "x-order": 4 + "x-order": 1 + }, + "address": { + "description": "Node address (DNS name or IP).", + "type": "string", + "x-order": 2 }, "machine_id": { - "description": "Linux machine-id.", + "description": "Linux machine-id of the Generic Node where this Container Node runs.", "type": "string", "x-order": 3 }, - "node_id": { - "description": "Unique randomly generated instance identifier.", + "container_id": { + "description": "Container identifier. If specified, must be a unique Docker container identifier.", "type": "string", - "x-order": 0 + "x-order": 4 }, - "node_model": { - "description": "Node model.", + "container_name": { + "description": "Container name.", "type": "string", "x-order": 5 }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", + "node_model": { + "description": "Node model.", "type": "string", - "x-order": 1 + "x-order": 6 }, "region": { "description": "Node region.", "type": "string", - "x-order": 6 + "x-order": 7 + }, + "az": { + "description": "Node availability zone.", + "type": "string", + "x-order": 8 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 9 } } }, - "x-order": 0 + "x-order": 1 }, "remote": { "type": "array", @@ -8979,11 +8979,31 @@ "description": "RemoteNode represents generic remote Node. It's a node where we don't run pmm-agents. Only external exporters can run on Remote Nodes.", "type": "object", "properties": { + "node_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 + }, + "node_name": { + "description": "Unique across all Nodes user-defined name.", + "type": "string", + "x-order": 1 + }, "address": { "description": "Node address (DNS name or IP).", "type": "string", "x-order": 2 }, + "node_model": { + "description": "Node model.", + "type": "string", + "x-order": 3 + }, + "region": { + "description": "Node region.", + "type": "string", + "x-order": 4 + }, "az": { "description": "Node availability zone.", "type": "string", @@ -8996,42 +9016,42 @@ "type": "string" }, "x-order": 6 - }, + } + } + }, + "x-order": 2 + }, + "remote_rds": { + "type": "array", + "items": { + "description": "RemoteRDSNode represents remote RDS Node. Agents can't run on Remote RDS Nodes.", + "type": "object", + "properties": { "node_id": { "description": "Unique randomly generated instance identifier.", "type": "string", "x-order": 0 }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, "node_name": { "description": "Unique across all Nodes user-defined name.", "type": "string", "x-order": 1 }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - } - } - }, - "x-order": 2 - }, - "remote_azure_database": { - "type": "array", - "items": { - "description": "RemoteAzureDatabaseNode represents remote AzureDatabase Node. Agents can't run on Remote AzureDatabase Nodes.", - "type": "object", - "properties": { "address": { "description": "DB instance identifier.", "type": "string", "x-order": 2 }, + "node_model": { + "description": "Node model.", + "type": "string", + "x-order": 3 + }, + "region": { + "description": "Node region.", + "type": "string", + "x-order": 4 + }, "az": { "description": "Node availability zone.", "type": "string", @@ -9044,41 +9064,41 @@ "type": "string" }, "x-order": 6 - }, + } + } + }, + "x-order": 3 + }, + "remote_azure_database": { + "type": "array", + "items": { + "description": "RemoteAzureDatabaseNode represents remote AzureDatabase Node. Agents can't run on Remote AzureDatabase Nodes.", + "type": "object", + "properties": { "node_id": { "description": "Unique randomly generated instance identifier.", "type": "string", "x-order": 0 }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, "node_name": { "description": "Unique across all Nodes user-defined name.", "type": "string", "x-order": 1 }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - } - } - }, - "x-order": 4 - }, - "remote_rds": { - "type": "array", - "items": { - "description": "RemoteRDSNode represents remote RDS Node. Agents can't run on Remote RDS Nodes.", - "type": "object", - "properties": { "address": { "description": "DB instance identifier.", "type": "string", - "x-order": 2 + "x-order": 2 + }, + "node_model": { + "description": "Node model.", + "type": "string", + "x-order": 3 + }, + "region": { + "description": "Node region.", + "type": "string", + "x-order": 4 }, "az": { "description": "Node availability zone.", @@ -9092,30 +9112,10 @@ "type": "string" }, "x-order": 6 - }, - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 } } }, - "x-order": 3 + "x-order": 4 } } } @@ -9130,6 +9130,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -9140,13 +9144,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -9168,72 +9168,97 @@ "schema": { "type": "object", "properties": { - "container": { + "generic": { "type": "object", "properties": { + "node_name": { + "description": "Unique across all Nodes user-defined name.", + "type": "string", + "x-order": 0 + }, "address": { "description": "Node address (DNS name or IP).", "type": "string", "x-order": 1 }, - "az": { - "description": "Node availability zone.", + "machine_id": { + "description": "Linux machine-id.", "type": "string", - "x-order": 7 + "x-order": 2 }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", + "distro": { + "description": "Linux distribution name and version.", "type": "string", "x-order": 3 }, - "container_name": { - "description": "Container name.", + "node_model": { + "description": "Node model.", "type": "string", "x-order": 4 }, + "region": { + "description": "Node region.", + "type": "string", + "x-order": 5 + }, + "az": { + "description": "Node availability zone.", + "type": "string", + "x-order": 6 + }, "custom_labels": { "description": "Custom user-assigned labels.", "type": "object", "additionalProperties": { "type": "string" }, - "x-order": 8 + "x-order": 7 + } + }, + "x-order": 0 + }, + "container": { + "type": "object", + "properties": { + "node_name": { + "description": "Unique across all Nodes user-defined name.", + "type": "string", + "x-order": 0 + }, + "address": { + "description": "Node address (DNS name or IP).", + "type": "string", + "x-order": 1 }, "machine_id": { "description": "Linux machine-id of the Generic Node where this Container Node runs.", "type": "string", "x-order": 2 }, + "container_id": { + "description": "Container identifier. If specified, must be a unique Docker container identifier.", + "type": "string", + "x-order": 3 + }, + "container_name": { + "description": "Container name.", + "type": "string", + "x-order": 4 + }, "node_model": { "description": "Node model.", "type": "string", "x-order": 5 }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 0 - }, "region": { "description": "Node region.", "type": "string", "x-order": 6 - } - }, - "x-order": 1 - }, - "generic": { - "type": "object", - "properties": { - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 1 }, "az": { "description": "Node availability zone.", "type": "string", - "x-order": 6 + "x-order": 7 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -9241,43 +9266,33 @@ "additionalProperties": { "type": "string" }, - "x-order": 7 - }, - "distro": { - "description": "Linux distribution name and version.", + "x-order": 8 + } + }, + "x-order": 1 + }, + "remote": { + "type": "object", + "properties": { + "node_name": { + "description": "Unique across all Nodes user-defined name.", "type": "string", - "x-order": 3 + "x-order": 0 }, - "machine_id": { - "description": "Linux machine-id.", + "address": { + "description": "Node address (DNS name or IP).", "type": "string", - "x-order": 2 + "x-order": 1 }, "node_model": { "description": "Node model.", "type": "string", - "x-order": 4 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 0 + "x-order": 2 }, "region": { "description": "Node region.", "type": "string", - "x-order": 5 - } - }, - "x-order": 0 - }, - "remote": { - "type": "object", - "properties": { - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 1 + "x-order": 3 }, "az": { "description": "Node availability zone.", @@ -9291,33 +9306,33 @@ "type": "string" }, "x-order": 5 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 2 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 0 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 3 } }, "x-order": 2 }, - "remote_azure": { + "remote_rds": { "type": "object", "properties": { + "node_name": { + "description": "Unique across all Nodes user-defined name.", + "type": "string", + "x-order": 0 + }, "address": { "description": "DB instance identifier.", "type": "string", "x-order": 1 }, + "node_model": { + "description": "Node model.", + "type": "string", + "x-order": 2 + }, + "region": { + "description": "Node region.", + "type": "string", + "x-order": 3 + }, "az": { "description": "Node availability zone.", "type": "string", @@ -9330,32 +9345,32 @@ "type": "string" }, "x-order": 5 + } + }, + "x-order": 3 + }, + "remote_azure": { + "type": "object", + "properties": { + "node_name": { + "description": "Unique across all Nodes user-defined name.", + "type": "string", + "x-order": 0 + }, + "address": { + "description": "DB instance identifier.", + "type": "string", + "x-order": 1 }, "node_model": { "description": "Node model.", "type": "string", "x-order": 2 }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 0 - }, "region": { "description": "Node region.", "type": "string", "x-order": 3 - } - }, - "x-order": 4 - }, - "remote_rds": { - "type": "object", - "properties": { - "address": { - "description": "DB instance identifier.", - "type": "string", - "x-order": 1 }, "az": { "description": "Node availability zone.", @@ -9369,24 +9384,9 @@ "type": "string" }, "x-order": 5 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 2 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 0 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 3 } }, - "x-order": 3 + "x-order": 4 } } } @@ -9398,74 +9398,44 @@ "schema": { "type": "object", "properties": { - "container": { - "description": "ContainerNode represents a Docker container.", + "generic": { + "description": "GenericNode represents a bare metal server or virtual machine.", "type": "object", "properties": { - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 8 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", + "node_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 4 + "x-order": 0 }, - "container_name": { - "description": "Container name.", + "node_name": { + "description": "Unique across all Nodes user-defined name.", "type": "string", - "x-order": 5 + "x-order": 1 }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 + "address": { + "description": "Node address (DNS name or IP).", + "type": "string", + "x-order": 2 }, "machine_id": { - "description": "Linux machine-id of the Generic Node where this Container Node runs.", + "description": "Linux machine-id.", "type": "string", "x-order": 3 }, - "node_id": { - "description": "Unique randomly generated instance identifier.", + "distro": { + "description": "Linux distribution name and version.", "type": "string", - "x-order": 0 + "x-order": 4 }, "node_model": { "description": "Node model.", "type": "string", - "x-order": 6 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 + "x-order": 5 }, "region": { "description": "Node region.", "type": "string", - "x-order": 7 - } - }, - "x-order": 1 - }, - "generic": { - "description": "GenericNode represents a bare metal server or virtual machine.", - "type": "object", - "properties": { - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 + "x-order": 6 }, "az": { "description": "Node availability zone.", @@ -9479,53 +9449,58 @@ "type": "string" }, "x-order": 8 + } + }, + "x-order": 0 + }, + "container": { + "description": "ContainerNode represents a Docker container.", + "type": "object", + "properties": { + "node_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, - "distro": { - "description": "Linux distribution name and version.", + "node_name": { + "description": "Unique across all Nodes user-defined name.", "type": "string", - "x-order": 4 + "x-order": 1 + }, + "address": { + "description": "Node address (DNS name or IP).", + "type": "string", + "x-order": 2 }, "machine_id": { - "description": "Linux machine-id.", + "description": "Linux machine-id of the Generic Node where this Container Node runs.", "type": "string", "x-order": 3 }, - "node_id": { - "description": "Unique randomly generated instance identifier.", + "container_id": { + "description": "Container identifier. If specified, must be a unique Docker container identifier.", "type": "string", - "x-order": 0 + "x-order": 4 }, - "node_model": { - "description": "Node model.", + "container_name": { + "description": "Container name.", "type": "string", "x-order": 5 }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", + "node_model": { + "description": "Node model.", "type": "string", - "x-order": 1 + "x-order": 6 }, "region": { "description": "Node region.", "type": "string", - "x-order": 6 - } - }, - "x-order": 0 - }, - "remote": { - "description": "RemoteNode represents generic remote Node. It's a node where we don't run pmm-agents. Only external exporters can run on Remote Nodes.", - "type": "object", - "properties": { - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 + "x-order": 7 }, "az": { "description": "Node availability zone.", "type": "string", - "x-order": 5 + "x-order": 8 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -9533,39 +9508,39 @@ "additionalProperties": { "type": "string" }, - "x-order": 6 - }, + "x-order": 9 + } + }, + "x-order": 1 + }, + "remote": { + "description": "RemoteNode represents generic remote Node. It's a node where we don't run pmm-agents. Only external exporters can run on Remote Nodes.", + "type": "object", + "properties": { "node_id": { "description": "Unique randomly generated instance identifier.", "type": "string", "x-order": 0 }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, "node_name": { "description": "Unique across all Nodes user-defined name.", "type": "string", "x-order": 1 }, + "address": { + "description": "Node address (DNS name or IP).", + "type": "string", + "x-order": 2 + }, + "node_model": { + "description": "Node model.", + "type": "string", + "x-order": 3 + }, "region": { "description": "Node region.", "type": "string", "x-order": 4 - } - }, - "x-order": 2 - }, - "remote_azure_database": { - "description": "RemoteAzureDatabaseNode represents remote AzureDatabase Node. Agents can't run on Remote AzureDatabase Nodes.", - "type": "object", - "properties": { - "address": { - "description": "DB instance identifier.", - "type": "string", - "x-order": 2 }, "az": { "description": "Node availability zone.", @@ -9579,39 +9554,39 @@ "type": "string" }, "x-order": 6 - }, + } + }, + "x-order": 2 + }, + "remote_rds": { + "description": "RemoteRDSNode represents remote RDS Node. Agents can't run on Remote RDS Nodes.", + "type": "object", + "properties": { "node_id": { "description": "Unique randomly generated instance identifier.", "type": "string", "x-order": 0 }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, "node_name": { "description": "Unique across all Nodes user-defined name.", "type": "string", "x-order": 1 }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 4 - }, - "remote_rds": { - "description": "RemoteRDSNode represents remote RDS Node. Agents can't run on Remote RDS Nodes.", - "type": "object", - "properties": { "address": { "description": "DB instance identifier.", "type": "string", "x-order": 2 }, + "node_model": { + "description": "Node model.", + "type": "string", + "x-order": 3 + }, + "region": { + "description": "Node region.", + "type": "string", + "x-order": 4 + }, "az": { "description": "Node availability zone.", "type": "string", @@ -9624,29 +9599,54 @@ "type": "string" }, "x-order": 6 - }, + } + }, + "x-order": 3 + }, + "remote_azure_database": { + "description": "RemoteAzureDatabaseNode represents remote AzureDatabase Node. Agents can't run on Remote AzureDatabase Nodes.", + "type": "object", + "properties": { "node_id": { "description": "Unique randomly generated instance identifier.", "type": "string", "x-order": 0 }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, "node_name": { "description": "Unique across all Nodes user-defined name.", "type": "string", "x-order": 1 }, + "address": { + "description": "DB instance identifier.", + "type": "string", + "x-order": 2 + }, + "node_model": { + "description": "Node model.", + "type": "string", + "x-order": 3 + }, "region": { "description": "Node region.", "type": "string", "x-order": 4 + }, + "az": { + "description": "Node availability zone.", + "type": "string", + "x-order": 5 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 6 } }, - "x-order": 3 + "x-order": 4 } } } @@ -9661,6 +9661,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -9671,13 +9675,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -9708,74 +9708,44 @@ "schema": { "type": "object", "properties": { - "container": { - "description": "ContainerNode represents a Docker container.", + "generic": { + "description": "GenericNode represents a bare metal server or virtual machine.", "type": "object", "properties": { - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 8 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", + "node_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 4 + "x-order": 0 }, - "container_name": { - "description": "Container name.", + "node_name": { + "description": "Unique across all Nodes user-defined name.", "type": "string", - "x-order": 5 + "x-order": 1 }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 + "address": { + "description": "Node address (DNS name or IP).", + "type": "string", + "x-order": 2 }, "machine_id": { - "description": "Linux machine-id of the Generic Node where this Container Node runs.", + "description": "Linux machine-id.", "type": "string", "x-order": 3 }, - "node_id": { - "description": "Unique randomly generated instance identifier.", + "distro": { + "description": "Linux distribution name and version.", "type": "string", - "x-order": 0 + "x-order": 4 }, "node_model": { "description": "Node model.", "type": "string", - "x-order": 6 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 + "x-order": 5 }, "region": { "description": "Node region.", "type": "string", - "x-order": 7 - } - }, - "x-order": 1 - }, - "generic": { - "description": "GenericNode represents a bare metal server or virtual machine.", - "type": "object", - "properties": { - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 + "x-order": 6 }, "az": { "description": "Node availability zone.", @@ -9789,53 +9759,58 @@ "type": "string" }, "x-order": 8 + } + }, + "x-order": 0 + }, + "container": { + "description": "ContainerNode represents a Docker container.", + "type": "object", + "properties": { + "node_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, - "distro": { - "description": "Linux distribution name and version.", + "node_name": { + "description": "Unique across all Nodes user-defined name.", "type": "string", - "x-order": 4 + "x-order": 1 + }, + "address": { + "description": "Node address (DNS name or IP).", + "type": "string", + "x-order": 2 }, "machine_id": { - "description": "Linux machine-id.", + "description": "Linux machine-id of the Generic Node where this Container Node runs.", "type": "string", "x-order": 3 }, - "node_id": { - "description": "Unique randomly generated instance identifier.", + "container_id": { + "description": "Container identifier. If specified, must be a unique Docker container identifier.", "type": "string", - "x-order": 0 + "x-order": 4 }, - "node_model": { - "description": "Node model.", + "container_name": { + "description": "Container name.", "type": "string", "x-order": 5 }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", + "node_model": { + "description": "Node model.", "type": "string", - "x-order": 1 + "x-order": 6 }, "region": { "description": "Node region.", "type": "string", - "x-order": 6 - } - }, - "x-order": 0 - }, - "remote": { - "description": "RemoteNode represents generic remote Node. It's a node where we don't run pmm-agents. Only external exporters can run on Remote Nodes.", - "type": "object", - "properties": { - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 + "x-order": 7 }, "az": { "description": "Node availability zone.", "type": "string", - "x-order": 5 + "x-order": 8 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -9843,39 +9818,39 @@ "additionalProperties": { "type": "string" }, - "x-order": 6 - }, + "x-order": 9 + } + }, + "x-order": 1 + }, + "remote": { + "description": "RemoteNode represents generic remote Node. It's a node where we don't run pmm-agents. Only external exporters can run on Remote Nodes.", + "type": "object", + "properties": { "node_id": { "description": "Unique randomly generated instance identifier.", "type": "string", "x-order": 0 }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, "node_name": { "description": "Unique across all Nodes user-defined name.", "type": "string", "x-order": 1 }, + "address": { + "description": "Node address (DNS name or IP).", + "type": "string", + "x-order": 2 + }, + "node_model": { + "description": "Node model.", + "type": "string", + "x-order": 3 + }, "region": { "description": "Node region.", "type": "string", "x-order": 4 - } - }, - "x-order": 2 - }, - "remote_azure_database": { - "description": "RemoteAzureDatabaseNode represents remote AzureDatabase Node. Agents can't run on Remote AzureDatabase Nodes.", - "type": "object", - "properties": { - "address": { - "description": "DB instance identifier.", - "type": "string", - "x-order": 2 }, "az": { "description": "Node availability zone.", @@ -9889,39 +9864,39 @@ "type": "string" }, "x-order": 6 - }, + } + }, + "x-order": 2 + }, + "remote_rds": { + "description": "RemoteRDSNode represents remote RDS Node. Agents can't run on Remote RDS Nodes.", + "type": "object", + "properties": { "node_id": { "description": "Unique randomly generated instance identifier.", "type": "string", "x-order": 0 }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, "node_name": { "description": "Unique across all Nodes user-defined name.", "type": "string", "x-order": 1 }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 4 - }, - "remote_rds": { - "description": "RemoteRDSNode represents remote RDS Node. Agents can't run on Remote RDS Nodes.", - "type": "object", - "properties": { "address": { "description": "DB instance identifier.", "type": "string", "x-order": 2 }, + "node_model": { + "description": "Node model.", + "type": "string", + "x-order": 3 + }, + "region": { + "description": "Node region.", + "type": "string", + "x-order": 4 + }, "az": { "description": "Node availability zone.", "type": "string", @@ -9934,29 +9909,54 @@ "type": "string" }, "x-order": 6 - }, + } + }, + "x-order": 3 + }, + "remote_azure_database": { + "description": "RemoteAzureDatabaseNode represents remote AzureDatabase Node. Agents can't run on Remote AzureDatabase Nodes.", + "type": "object", + "properties": { "node_id": { "description": "Unique randomly generated instance identifier.", "type": "string", "x-order": 0 }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, "node_name": { "description": "Unique across all Nodes user-defined name.", "type": "string", "x-order": 1 }, + "address": { + "description": "DB instance identifier.", + "type": "string", + "x-order": 2 + }, + "node_model": { + "description": "Node model.", + "type": "string", + "x-order": 3 + }, "region": { "description": "Node region.", "type": "string", "x-order": 4 + }, + "az": { + "description": "Node availability zone.", + "type": "string", + "x-order": 5 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 6 } }, - "x-order": 3 + "x-order": 4 } } } @@ -9971,6 +9971,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -9981,13 +9985,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -10033,6 +10033,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -10043,13 +10047,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -10101,45 +10101,12 @@ "schema": { "type": "object", "properties": { - "external": { + "mysql": { "type": "array", "items": { - "description": "ExternalService represents a generic External service instance.", + "description": "MySQLService represents a generic MySQL instance.", "type": "object", - "properties": { - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "group": { - "description": "Group name of external service.", - "type": "string", - "x-order": 7 - }, - "node_id": { - "description": "Node identifier where this service instance runs.", - "type": "string", - "x-order": 2 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, + "properties": { "service_id": { "description": "Unique randomly generated instance identifier.", "type": "string", @@ -10149,58 +10116,59 @@ "description": "Unique across all Services user-defined name.", "type": "string", "x-order": 1 - } - } - }, - "x-order": 5 - }, - "haproxy": { - "type": "array", - "items": { - "description": "HAProxyService represents a generic HAProxy service instance.", - "type": "object", - "properties": { - "cluster": { - "description": "Cluster name.", + }, + "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 }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 + "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": 3 + "x-order": 6 }, - "node_id": { - "description": "Node identifier where this service instance runs.", + "cluster": { + "description": "Cluster name.", "type": "string", - "x-order": 2 + "x-order": 7 }, "replication_set": { "description": "Replication set name.", "type": "string", - "x-order": 5 + "x-order": 8 }, - "service_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 9 }, - "service_name": { - "description": "Unique across all Services user-defined name.", + "version": { + "description": "MySQL version.", "type": "string", - "x-order": 1 + "x-order": 10 } } }, - "x-order": 4 + "x-order": 0 }, "mongodb": { "type": "array", @@ -10208,59 +10176,59 @@ "description": "MongoDBService represents a generic MongoDB instance.", "type": "object", "properties": { - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", + "service_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 + "x-order": 0 }, - "environment": { - "description": "Environment name.", + "service_name": { + "description": "Unique across all Services user-defined name.", "type": "string", - "x-order": 6 + "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 }, - "replication_set": { - "description": "Replication set name.", + "socket": { + "description": "Access unix socket.\nAddress (and port) or socket is required.", "type": "string", - "x-order": 8 + "x-order": 5 }, - "service_id": { - "description": "Unique randomly generated instance identifier.", + "environment": { + "description": "Environment name.", "type": "string", - "x-order": 0 + "x-order": 6 }, - "service_name": { - "description": "Unique across all Services user-defined name.", + "cluster": { + "description": "Cluster name.", "type": "string", - "x-order": 1 + "x-order": 7 }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", + "replication_set": { + "description": "Replication set name.", "type": "string", - "x-order": 5 + "x-order": 8 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 9 }, "version": { "description": "MongoDB version.", @@ -10271,97 +10239,63 @@ }, "x-order": 1 }, - "mysql": { + "postgresql": { "type": "array", "items": { - "description": "MySQLService represents a generic MySQL instance.", + "description": "PostgreSQLService represents a generic PostgreSQL instance.", "type": "object", "properties": { - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", + "service_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 3 + "x-order": 0 }, - "cluster": { - "description": "Cluster name.", + "service_name": { + "description": "Unique across all Services user-defined name.", "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 + "x-order": 1 }, - "environment": { - "description": "Environment name.", + "database_name": { + "description": "Database name.", "type": "string", - "x-order": 6 + "x-order": 2 }, "node_id": { "description": "Node identifier where this instance runs.", "type": "string", - "x-order": 2 + "x-order": 3 + }, + "address": { + "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", + "type": "string", + "x-order": 4 }, "port": { "description": "Access port.\nPort is required when the address present.", "type": "integer", "format": "int64", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 8 - }, - "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 + "x-order": 5 }, "socket": { "description": "Access unix socket.\nAddress (and port) or socket is required.", "type": "string", - "x-order": 5 + "x-order": 6 }, - "version": { - "description": "MySQL version.", - "type": "string", - "x-order": 10 - } - } - }, - "x-order": 0 - }, - "postgresql": { - "type": "array", - "items": { - "description": "PostgreSQLService represents a generic PostgreSQL instance.", - "type": "object", - "properties": { - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", + "environment": { + "description": "Environment name.", "type": "string", - "x-order": 4 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 12 + "x-order": 7 }, "cluster": { "description": "Cluster name.", "type": "string", "x-order": 8 }, + "replication_set": { + "description": "Replication set name.", + "type": "string", + "x-order": 9 + }, "custom_labels": { "description": "Custom user-assigned labels.", "type": "object", @@ -10370,101 +10304,144 @@ }, "x-order": 10 }, - "database_name": { - "description": "Database name.", + "version": { + "description": "PostgreSQL version.", "type": "string", - "x-order": 2 + "x-order": 11 }, - "environment": { - "description": "Environment name.", + "auto_discovery_limit": { + "description": "Limit of databases for auto-discovery.", + "type": "integer", + "format": "int32", + "x-order": 12 + } + } + }, + "x-order": 2 + }, + "proxysql": { + "type": "array", + "items": { + "description": "ProxySQLService represents a generic ProxySQL instance.", + "type": "object", + "properties": { + "service_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 7 + "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": 5 + "x-order": 4 }, - "replication_set": { - "description": "Replication set name.", + "socket": { + "description": "Access unix socket.\nAddress (and port) or socket is required.", "type": "string", - "x-order": 9 + "x-order": 5 }, - "service_id": { - "description": "Unique randomly generated instance identifier.", + "environment": { + "description": "Environment name.", "type": "string", - "x-order": 0 + "x-order": 6 }, - "service_name": { - "description": "Unique across all Services user-defined name.", + "cluster": { + "description": "Cluster name.", "type": "string", - "x-order": 1 + "x-order": 7 }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", + "replication_set": { + "description": "Replication set name.", "type": "string", - "x-order": 6 + "x-order": 8 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 9 }, "version": { - "description": "PostgreSQL version.", + "description": "ProxySQL version.", "type": "string", - "x-order": 11 + "x-order": 10 } } }, - "x-order": 2 + "x-order": 3 }, - "proxysql": { + "haproxy": { "type": "array", "items": { - "description": "ProxySQLService represents a generic ProxySQL instance.", + "description": "HAProxyService represents a generic HAProxy service instance.", "type": "object", "properties": { - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", + "service_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 3 + "x-order": 0 }, - "cluster": { - "description": "Cluster name.", + "service_name": { + "description": "Unique across all Services user-defined name.", "type": "string", - "x-order": 7 + "x-order": 1 }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 + "node_id": { + "description": "Node identifier where this service instance runs.", + "type": "string", + "x-order": 2 }, "environment": { "description": "Environment name.", "type": "string", - "x-order": 6 + "x-order": 3 }, - "node_id": { - "description": "Node identifier where this instance runs.", + "cluster": { + "description": "Cluster name.", "type": "string", - "x-order": 2 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", "x-order": 4 }, "replication_set": { "description": "Replication set name.", "type": "string", - "x-order": 8 + "x-order": 5 }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 6 + } + } + }, + "x-order": 4 + }, + "external": { + "type": "array", + "items": { + "description": "ExternalService represents a generic External service instance.", + "type": "object", + "properties": { "service_id": { "description": "Unique randomly generated instance identifier.", "type": "string", @@ -10475,19 +10452,42 @@ "type": "string", "x-order": 1 }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", + "node_id": { + "description": "Node identifier where this service instance runs.", + "type": "string", + "x-order": 2 + }, + "environment": { + "description": "Environment name.", + "type": "string", + "x-order": 3 + }, + "cluster": { + "description": "Cluster name.", + "type": "string", + "x-order": 4 + }, + "replication_set": { + "description": "Replication set name.", "type": "string", "x-order": 5 }, - "version": { - "description": "ProxySQL version.", + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 6 + }, + "group": { + "description": "Group name of external service.", "type": "string", - "x-order": 10 + "x-order": 7 } } }, - "x-order": 3 + "x-order": 5 } } } @@ -10502,6 +10502,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -10512,13 +10516,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -10540,157 +10540,50 @@ "schema": { "type": "object", "properties": { - "external": { + "mysql": { "type": "object", "properties": { - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 3 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 2 - }, - "group": { - "description": "Group name of external service.", - "type": "string", - "x-order": 6 - }, - "node_id": { - "description": "Node identifier where this instance runs. Required.", - "type": "string", - "x-order": 1 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 4 - }, "service_name": { "description": "Unique across all Services user-defined name. Required.", "type": "string", "x-order": 0 - } - }, - "x-order": 5 - }, - "haproxy": { - "type": "object", - "properties": { - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 3 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 2 }, "node_id": { "description": "Node identifier where this instance runs. Required.", "type": "string", "x-order": 1 }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 4 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 0 - } - }, - "x-order": 4 - }, - "mongodb": { - "type": "object", - "properties": { "address": { "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", "type": "string", - "x-order": 2 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 5 - }, - "node_id": { - "description": "Node identifier where this instance runs. Required.", - "type": "string", - "x-order": 1 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 3 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 7 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 0 + "x-order": 2 + }, + "port": { + "description": "Access port.\nPort is required when the address present.", + "type": "integer", + "format": "int64", + "x-order": 3 }, "socket": { "description": "Access unix socket.\nAddress (and port) or socket is required.", "type": "string", "x-order": 4 - } - }, - "x-order": 1 - }, - "mysql": { - "type": "object", - "properties": { - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", + }, + "environment": { + "description": "Environment name.", "type": "string", - "x-order": 2 + "x-order": 5 }, "cluster": { "description": "Cluster name.", "type": "string", "x-order": 6 }, + "replication_set": { + "description": "Replication set name.", + "type": "string", + "x-order": 7 + }, "custom_labels": { "description": "Custom user-assigned labels.", "type": "object", @@ -10698,60 +10591,54 @@ "type": "string" }, "x-order": 8 - }, - "environment": { - "description": "Environment name.", + } + }, + "x-order": 0 + }, + "mongodb": { + "type": "object", + "properties": { + "service_name": { + "description": "Unique across all Services user-defined name. Required.", "type": "string", - "x-order": 5 + "x-order": 0 }, "node_id": { "description": "Node identifier where this instance runs. Required.", "type": "string", "x-order": 1 }, + "address": { + "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", + "type": "string", + "x-order": 2 + }, "port": { "description": "Access port.\nPort is required when the address present.", "type": "integer", "format": "int64", "x-order": 3 }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 7 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 0 - }, "socket": { "description": "Access unix socket.\nAddress (and port) or socket is required.", "type": "string", "x-order": 4 - } - }, - "x-order": 0 - }, - "postgresql": { - "type": "object", - "properties": { - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 2 }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 9 + "environment": { + "description": "Environment name.", + "type": "string", + "x-order": 5 }, "cluster": { "description": "Cluster name.", "type": "string", "x-order": 6 }, + "replication_set": { + "description": "Replication set name.", + "type": "string", + "x-order": 7 + }, "custom_labels": { "description": "Custom user-assigned labels.", "type": "object", @@ -10759,54 +10646,54 @@ "type": "string" }, "x-order": 8 - }, - "environment": { - "description": "Environment name.", + } + }, + "x-order": 1 + }, + "postgresql": { + "type": "object", + "properties": { + "service_name": { + "description": "Unique across all Services user-defined name. Required.", "type": "string", - "x-order": 5 + "x-order": 0 }, "node_id": { "description": "Node identifier where this instance runs. Required.", "type": "string", "x-order": 1 }, + "address": { + "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", + "type": "string", + "x-order": 2 + }, "port": { "description": "Access port.\nPort is required when the address present.", "type": "integer", "format": "int64", "x-order": 3 }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 7 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 0 - }, "socket": { "description": "Access unix socket.\nAddress (and port) or socket is required.", "type": "string", "x-order": 4 - } - }, - "x-order": 2 - }, - "proxysql": { - "type": "object", - "properties": { - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", + }, + "environment": { + "description": "Environment name.", "type": "string", - "x-order": 2 + "x-order": 5 }, "cluster": { "description": "Cluster name.", "type": "string", "x-order": 6 }, + "replication_set": { + "description": "Replication set name.", + "type": "string", + "x-order": 7 + }, "custom_labels": { "description": "Custom user-assigned labels.", "type": "object", @@ -10815,158 +10702,136 @@ }, "x-order": 8 }, - "environment": { - "description": "Environment name.", + "auto_discovery_limit": { + "description": "Limit of databases for auto-discovery.", + "type": "integer", + "format": "int32", + "x-order": 9 + } + }, + "x-order": 2 + }, + "proxysql": { + "type": "object", + "properties": { + "service_name": { + "description": "Unique across all Services user-defined name. Required.", "type": "string", - "x-order": 5 + "x-order": 0 }, "node_id": { "description": "Node identifier where this instance runs. Required.", "type": "string", "x-order": 1 }, + "address": { + "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", + "type": "string", + "x-order": 2 + }, "port": { "description": "Access port.\nPort is required when the address present.", "type": "integer", "format": "int64", "x-order": 3 }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 7 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 0 - }, "socket": { "description": "Access unix socket.\nAddress (and port) or socket is required.", "type": "string", "x-order": 4 - } - }, - "x-order": 3 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "external": { - "description": "ExternalService represents a generic External service instance.", - "type": "object", - "properties": { - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 }, "environment": { "description": "Environment name.", "type": "string", - "x-order": 3 - }, - "group": { - "description": "Group name of external service.", - "type": "string", - "x-order": 7 + "x-order": 5 }, - "node_id": { - "description": "Node identifier where this service instance runs.", + "cluster": { + "description": "Cluster name.", "type": "string", - "x-order": 2 + "x-order": 6 }, "replication_set": { "description": "Replication set name.", "type": "string", - "x-order": 5 - }, - "service_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 + "x-order": 7 }, - "service_name": { - "description": "Unique across all Services user-defined name.", - "type": "string", - "x-order": 1 + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 8 } }, - "x-order": 5 + "x-order": 3 }, "haproxy": { - "description": "HAProxyService represents a generic HAProxy service instance.", "type": "object", "properties": { - "cluster": { - "description": "Cluster name.", + "service_name": { + "description": "Unique across all Services user-defined name. Required.", "type": "string", - "x-order": 4 + "x-order": 0 }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 + "node_id": { + "description": "Node identifier where this instance runs. Required.", + "type": "string", + "x-order": 1 }, "environment": { "description": "Environment name.", "type": "string", - "x-order": 3 - }, - "node_id": { - "description": "Node identifier where this service instance runs.", - "type": "string", "x-order": 2 }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, - "service_id": { - "description": "Unique randomly generated instance identifier.", + "cluster": { + "description": "Cluster name.", "type": "string", - "x-order": 0 + "x-order": 3 }, - "service_name": { - "description": "Unique across all Services user-defined name.", + "replication_set": { + "description": "Replication set name.", "type": "string", - "x-order": 1 + "x-order": 4 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 5 } }, "x-order": 4 }, - "mongodb": { - "description": "MongoDBService represents a generic MongoDB instance.", + "external": { "type": "object", "properties": { - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", + "service_name": { + "description": "Unique across all Services user-defined name. Required.", "type": "string", - "x-order": 3 + "x-order": 0 + }, + "node_id": { + "description": "Node identifier where this instance runs. Required.", + "type": "string", + "x-order": 1 + }, + "environment": { + "description": "Environment name.", + "type": "string", + "x-order": 2 }, "cluster": { "description": "Cluster name.", "type": "string", - "x-order": 7 + "x-order": 3 + }, + "replication_set": { + "description": "Replication set name.", + "type": "string", + "x-order": 4 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -10974,66 +10839,76 @@ "additionalProperties": { "type": "string" }, - "x-order": 9 + "x-order": 5 }, - "environment": { - "description": "Environment name.", + "group": { + "description": "Group name of external service.", "type": "string", "x-order": 6 + } + }, + "x-order": 5 + } + } + } + } + ], + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "mysql": { + "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 }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 8 - }, - "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 - }, "socket": { "description": "Access unix socket.\nAddress (and port) or socket is required.", "type": "string", "x-order": 5 }, - "version": { - "description": "MongoDB version.", - "type": "string", - "x-order": 10 - } - }, - "x-order": 1 - }, - "mysql": { - "description": "MySQLService represents a generic MySQL instance.", - "type": "object", - "properties": { - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", + "environment": { + "description": "Environment name.", "type": "string", - "x-order": 3 + "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", @@ -11042,123 +10917,153 @@ }, "x-order": 9 }, - "environment": { - "description": "Environment name.", + "version": { + "description": "MySQL version.", "type": "string", - "x-order": 6 + "x-order": 10 + } + }, + "x-order": 0 + }, + "mongodb": { + "description": "MongoDBService represents a generic MongoDB 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 }, - "replication_set": { - "description": "Replication set name.", + "socket": { + "description": "Access unix socket.\nAddress (and port) or socket is required.", "type": "string", - "x-order": 8 + "x-order": 5 }, - "service_id": { - "description": "Unique randomly generated instance identifier.", + "environment": { + "description": "Environment name.", "type": "string", - "x-order": 0 + "x-order": 6 }, - "service_name": { - "description": "Unique across all Services user-defined name.", + "cluster": { + "description": "Cluster name.", "type": "string", - "x-order": 1 + "x-order": 7 }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", + "replication_set": { + "description": "Replication set name.", "type": "string", - "x-order": 5 + "x-order": 8 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 9 }, "version": { - "description": "MySQL version.", + "description": "MongoDB version.", "type": "string", "x-order": 10 } }, - "x-order": 0 + "x-order": 1 }, "postgresql": { "description": "PostgreSQLService represents a generic PostgreSQL instance.", "type": "object", "properties": { - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", + "service_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 4 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 12 + "x-order": 0 }, - "cluster": { - "description": "Cluster name.", + "service_name": { + "description": "Unique across all Services user-defined name.", "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 + "x-order": 1 }, "database_name": { "description": "Database name.", "type": "string", "x-order": 2 }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 7 - }, "node_id": { "description": "Node identifier where this instance runs.", "type": "string", "x-order": 3 }, + "address": { + "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", + "type": "string", + "x-order": 4 + }, "port": { "description": "Access port.\nPort is required when the address present.", "type": "integer", "format": "int64", "x-order": 5 }, - "replication_set": { - "description": "Replication set name.", + "socket": { + "description": "Access unix socket.\nAddress (and port) or socket is required.", "type": "string", - "x-order": 9 + "x-order": 6 }, - "service_id": { - "description": "Unique randomly generated instance identifier.", + "environment": { + "description": "Environment name.", "type": "string", - "x-order": 0 + "x-order": 7 }, - "service_name": { - "description": "Unique across all Services user-defined name.", + "cluster": { + "description": "Cluster name.", "type": "string", - "x-order": 1 + "x-order": 8 }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", + "replication_set": { + "description": "Replication set name.", "type": "string", - "x-order": 6 + "x-order": 9 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 10 }, "version": { "description": "PostgreSQL version.", "type": "string", "x-order": 11 + }, + "auto_discovery_limit": { + "description": "Limit of databases for auto-discovery.", + "type": "integer", + "format": "int32", + "x-order": 12 } }, "x-order": 2 @@ -11167,16 +11072,52 @@ "description": "ProxySQLService represents a generic ProxySQL 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", @@ -11185,27 +11126,63 @@ }, "x-order": 9 }, - "environment": { - "description": "Environment name.", + "version": { + "description": "ProxySQL version.", "type": "string", - "x-order": 6 + "x-order": 10 + } + }, + "x-order": 3 + }, + "haproxy": { + "description": "HAProxyService represents a generic HAProxy service 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.", + "description": "Node identifier where this service instance runs.", "type": "string", "x-order": 2 }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", + "environment": { + "description": "Environment name.", + "type": "string", + "x-order": 3 + }, + "cluster": { + "description": "Cluster name.", + "type": "string", "x-order": 4 }, "replication_set": { "description": "Replication set name.", "type": "string", - "x-order": 8 + "x-order": 5 }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 6 + } + }, + "x-order": 4 + }, + "external": { + "description": "ExternalService represents a generic External service instance.", + "type": "object", + "properties": { "service_id": { "description": "Unique randomly generated instance identifier.", "type": "string", @@ -11216,18 +11193,41 @@ "type": "string", "x-order": 1 }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", + "node_id": { + "description": "Node identifier where this service instance runs.", + "type": "string", + "x-order": 2 + }, + "environment": { + "description": "Environment name.", + "type": "string", + "x-order": 3 + }, + "cluster": { + "description": "Cluster name.", + "type": "string", + "x-order": 4 + }, + "replication_set": { + "description": "Replication set name.", "type": "string", "x-order": 5 }, - "version": { - "description": "ProxySQL version.", + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 6 + }, + "group": { + "description": "Group name of external service.", "type": "string", - "x-order": 10 + "x-order": 7 } }, - "x-order": 3 + "x-order": 5 } } } @@ -11242,6 +11242,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -11252,13 +11256,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -11289,43 +11289,10 @@ "schema": { "type": "object", "properties": { - "external": { - "description": "ExternalService represents a generic External service instance.", + "mysql": { + "description": "MySQLService represents a generic MySQL instance.", "type": "object", "properties": { - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "group": { - "description": "Group name of external service.", - "type": "string", - "x-order": 7 - }, - "node_id": { - "description": "Node identifier where this service instance runs.", - "type": "string", - "x-order": 2 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, "service_id": { "description": "Unique randomly generated instance identifier.", "type": "string", @@ -11335,135 +11302,109 @@ "description": "Unique across all Services user-defined name.", "type": "string", "x-order": 1 - } - }, - "x-order": 5 - }, - "haproxy": { - "description": "HAProxyService represents a generic HAProxy service instance.", - "type": "object", - "properties": { - "cluster": { - "description": "Cluster name.", + }, + "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 }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 + "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": 3 + "x-order": 6 }, - "node_id": { - "description": "Node identifier where this service instance runs.", + "cluster": { + "description": "Cluster name.", "type": "string", - "x-order": 2 + "x-order": 7 }, "replication_set": { "description": "Replication set name.", "type": "string", - "x-order": 5 + "x-order": 8 }, - "service_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 9 }, - "service_name": { - "description": "Unique across all Services user-defined name.", + "version": { + "description": "MySQL version.", "type": "string", - "x-order": 1 + "x-order": 10 } }, - "x-order": 4 + "x-order": 0 }, "mongodb": { "description": "MongoDBService represents a generic MongoDB instance.", "type": "object", "properties": { - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", + "service_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 + "x-order": 0 }, - "environment": { - "description": "Environment name.", + "service_name": { + "description": "Unique across all Services user-defined name.", "type": "string", - "x-order": 6 + "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 }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 8 - }, - "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 - }, "socket": { "description": "Access unix socket.\nAddress (and port) or socket is required.", "type": "string", "x-order": 5 }, - "version": { - "description": "MongoDB version.", - "type": "string", - "x-order": 10 - } - }, - "x-order": 1 - }, - "mysql": { - "description": "MySQLService represents a generic MySQL instance.", - "type": "object", - "properties": { - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", + "environment": { + "description": "Environment name.", "type": "string", - "x-order": 3 + "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", @@ -11472,27 +11413,18 @@ }, "x-order": 9 }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 6 - }, - "node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 2 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", + "version": { + "description": "MongoDB version.", "type": "string", - "x-order": 8 - }, + "x-order": 10 + } + }, + "x-order": 1 + }, + "postgresql": { + "description": "PostgreSQLService represents a generic PostgreSQL instance.", + "type": "object", + "properties": { "service_id": { "description": "Unique randomly generated instance identifier.", "type": "string", @@ -11503,39 +11435,47 @@ "type": "string", "x-order": 1 }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", + "database_name": { + "description": "Database name.", "type": "string", - "x-order": 5 + "x-order": 2 }, - "version": { - "description": "MySQL version.", + "node_id": { + "description": "Node identifier where this instance runs.", "type": "string", - "x-order": 10 - } - }, - "x-order": 0 - }, - "postgresql": { - "description": "PostgreSQLService represents a generic PostgreSQL instance.", - "type": "object", - "properties": { + "x-order": 3 + }, "address": { "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", "type": "string", "x-order": 4 }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", + "port": { + "description": "Access port.\nPort is required when the address present.", "type": "integer", - "format": "int32", - "x-order": 12 + "format": "int64", + "x-order": 5 + }, + "socket": { + "description": "Access unix socket.\nAddress (and port) or socket is required.", + "type": "string", + "x-order": 6 + }, + "environment": { + "description": "Environment name.", + "type": "string", + "x-order": 7 }, "cluster": { "description": "Cluster name.", "type": "string", "x-order": 8 }, + "replication_set": { + "description": "Replication set name.", + "type": "string", + "x-order": 9 + }, "custom_labels": { "description": "Custom user-assigned labels.", "type": "object", @@ -11544,32 +11484,90 @@ }, "x-order": 10 }, - "database_name": { - "description": "Database name.", + "version": { + "description": "PostgreSQL version.", "type": "string", - "x-order": 2 + "x-order": 11 }, - "environment": { - "description": "Environment name.", + "auto_discovery_limit": { + "description": "Limit of databases for auto-discovery.", + "type": "integer", + "format": "int32", + "x-order": 12 + } + }, + "x-order": 2 + }, + "proxysql": { + "description": "ProxySQLService represents a generic ProxySQL instance.", + "type": "object", + "properties": { + "service_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 7 + "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": "ProxySQL version.", + "type": "string", + "x-order": 10 + } + }, + "x-order": 3 + }, + "haproxy": { + "description": "HAProxyService represents a generic HAProxy service instance.", + "type": "object", + "properties": { "service_id": { "description": "Unique randomly generated instance identifier.", "type": "string", @@ -11580,32 +11578,25 @@ "type": "string", "x-order": 1 }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", + "node_id": { + "description": "Node identifier where this service instance runs.", "type": "string", - "x-order": 6 + "x-order": 2 }, - "version": { - "description": "PostgreSQL version.", - "type": "string", - "x-order": 11 - } - }, - "x-order": 2 - }, - "proxysql": { - "description": "ProxySQLService represents a generic ProxySQL instance.", - "type": "object", - "properties": { - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", + "environment": { + "description": "Environment name.", "type": "string", "x-order": 3 }, "cluster": { "description": "Cluster name.", "type": "string", - "x-order": 7 + "x-order": 4 + }, + "replication_set": { + "description": "Replication set name.", + "type": "string", + "x-order": 5 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -11613,51 +11604,60 @@ "additionalProperties": { "type": "string" }, - "x-order": 9 + "x-order": 6 + } + }, + "x-order": 4 + }, + "external": { + "description": "ExternalService represents a generic External service instance.", + "type": "object", + "properties": { + "service_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, - "environment": { - "description": "Environment name.", + "service_name": { + "description": "Unique across all Services user-defined name.", "type": "string", - "x-order": 6 + "x-order": 1 }, "node_id": { - "description": "Node identifier where this instance runs.", + "description": "Node identifier where this service instance runs.", "type": "string", "x-order": 2 }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 8 - }, - "service_id": { - "description": "Unique randomly generated instance identifier.", + "environment": { + "description": "Environment name.", "type": "string", - "x-order": 0 + "x-order": 3 }, - "service_name": { - "description": "Unique across all Services user-defined name.", + "cluster": { + "description": "Cluster name.", "type": "string", - "x-order": 1 + "x-order": 4 }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", + "replication_set": { + "description": "Replication set name.", "type": "string", "x-order": 5 }, - "version": { - "description": "ProxySQL version.", + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 6 + }, + "group": { + "description": "Group name of external service.", "type": "string", - "x-order": 10 + "x-order": 7 } }, - "x-order": 3 + "x-order": 5 } } } @@ -11672,6 +11672,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -11682,13 +11686,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -11716,11 +11716,26 @@ "schema": { "type": "object", "properties": { + "environment": { + "type": "string", + "x-nullable": true, + "x-order": 0 + }, "cluster": { "type": "string", "x-nullable": true, "x-order": 1 }, + "replication_set": { + "type": "string", + "x-nullable": true, + "x-order": 2 + }, + "external_group": { + "type": "string", + "x-nullable": true, + "x-order": 3 + }, "custom_labels": { "description": "A wrapper for map[string]string. This type allows to distinguish between an empty map and a null value.", "type": "object", @@ -11735,21 +11750,6 @@ }, "x-nullable": true, "x-order": 4 - }, - "environment": { - "type": "string", - "x-nullable": true, - "x-order": 0 - }, - "external_group": { - "type": "string", - "x-nullable": true, - "x-order": 3 - }, - "replication_set": { - "type": "string", - "x-nullable": true, - "x-order": 2 } } } @@ -11761,43 +11761,10 @@ "schema": { "type": "object", "properties": { - "external": { - "description": "ExternalService represents a generic External service instance.", + "mysql": { + "description": "MySQLService represents a generic MySQL instance.", "type": "object", "properties": { - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "group": { - "description": "Group name of external service.", - "type": "string", - "x-order": 7 - }, - "node_id": { - "description": "Node identifier where this service instance runs.", - "type": "string", - "x-order": 2 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, "service_id": { "description": "Unique randomly generated instance identifier.", "type": "string", @@ -11807,135 +11774,43 @@ "description": "Unique across all Services user-defined name.", "type": "string", "x-order": 1 - } - }, - "x-order": 5 - }, - "haproxy": { - "description": "HAProxyService represents a generic HAProxy service instance.", - "type": "object", - "properties": { - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 }, "node_id": { - "description": "Node identifier where this service instance runs.", + "description": "Node identifier where this instance runs.", "type": "string", "x-order": 2 }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, - "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 - } - }, - "x-order": 4 - }, - "mongodb": { - "description": "MongoDBService represents a generic MongoDB instance.", - "type": "object", - "properties": { "address": { "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", "type": "string", "x-order": 3 }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 6 - }, - "node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 2 - }, "port": { "description": "Access port.\nPort is required when the address present.", "type": "integer", "format": "int64", "x-order": 4 }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 8 - }, - "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 - }, "socket": { "description": "Access unix socket.\nAddress (and port) or socket is required.", "type": "string", "x-order": 5 }, - "version": { - "description": "MongoDB version.", - "type": "string", - "x-order": 10 - } - }, - "x-order": 1 - }, - "mysql": { - "description": "MySQLService represents a generic MySQL instance.", - "type": "object", - "properties": { - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", + "environment": { + "description": "Environment name.", "type": "string", - "x-order": 3 + "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", @@ -11944,27 +11819,18 @@ }, "x-order": 9 }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 6 - }, - "node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 2 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", + "version": { + "description": "MySQL version.", "type": "string", - "x-order": 8 - }, + "x-order": 10 + } + }, + "x-order": 0 + }, + "mongodb": { + "description": "MongoDBService represents a generic MongoDB instance.", + "type": "object", + "properties": { "service_id": { "description": "Unique randomly generated instance identifier.", "type": "string", @@ -11973,39 +11839,42 @@ "service_name": { "description": "Unique across all Services user-defined name.", "type": "string", - "x-order": 1 + "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 }, - "version": { - "description": "MySQL version.", - "type": "string", - "x-order": 10 - } - }, - "x-order": 0 - }, - "postgresql": { - "description": "PostgreSQLService represents a generic PostgreSQL instance.", - "type": "object", - "properties": { - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", + "environment": { + "description": "Environment name.", "type": "string", - "x-order": 4 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 12 + "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": { @@ -12014,53 +11883,89 @@ "additionalProperties": { "type": "string" }, + "x-order": 9 + }, + "version": { + "description": "MongoDB version.", + "type": "string", "x-order": 10 + } + }, + "x-order": 1 + }, + "postgresql": { + "description": "PostgreSQLService represents a generic PostgreSQL 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 }, "database_name": { "description": "Database name.", "type": "string", "x-order": 2 }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 7 - }, "node_id": { "description": "Node identifier where this instance runs.", "type": "string", "x-order": 3 }, + "address": { + "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", + "type": "string", + "x-order": 4 + }, "port": { "description": "Access port.\nPort is required when the address present.", "type": "integer", "format": "int64", "x-order": 5 }, - "replication_set": { - "description": "Replication set name.", + "socket": { + "description": "Access unix socket.\nAddress (and port) or socket is required.", "type": "string", - "x-order": 9 + "x-order": 6 }, - "service_id": { - "description": "Unique randomly generated instance identifier.", + "environment": { + "description": "Environment name.", "type": "string", - "x-order": 0 + "x-order": 7 }, - "service_name": { - "description": "Unique across all Services user-defined name.", + "cluster": { + "description": "Cluster name.", "type": "string", - "x-order": 1 + "x-order": 8 }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", + "replication_set": { + "description": "Replication set name.", "type": "string", - "x-order": 6 + "x-order": 9 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 10 }, "version": { "description": "PostgreSQL version.", "type": "string", "x-order": 11 + }, + "auto_discovery_limit": { + "description": "Limit of databases for auto-discovery.", + "type": "integer", + "format": "int32", + "x-order": 12 } }, "x-order": 2 @@ -12069,16 +11974,52 @@ "description": "ProxySQLService represents a generic ProxySQL 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", @@ -12087,27 +12028,63 @@ }, "x-order": 9 }, - "environment": { - "description": "Environment name.", + "version": { + "description": "ProxySQL version.", "type": "string", - "x-order": 6 + "x-order": 10 + } + }, + "x-order": 3 + }, + "haproxy": { + "description": "HAProxyService represents a generic HAProxy service 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.", + "description": "Node identifier where this service instance runs.", "type": "string", "x-order": 2 }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", + "environment": { + "description": "Environment name.", + "type": "string", + "x-order": 3 + }, + "cluster": { + "description": "Cluster name.", + "type": "string", "x-order": 4 }, "replication_set": { "description": "Replication set name.", "type": "string", - "x-order": 8 + "x-order": 5 }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 6 + } + }, + "x-order": 4 + }, + "external": { + "description": "ExternalService represents a generic External service instance.", + "type": "object", + "properties": { "service_id": { "description": "Unique randomly generated instance identifier.", "type": "string", @@ -12118,18 +12095,41 @@ "type": "string", "x-order": 1 }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", + "node_id": { + "description": "Node identifier where this service instance runs.", + "type": "string", + "x-order": 2 + }, + "environment": { + "description": "Environment name.", + "type": "string", + "x-order": 3 + }, + "cluster": { + "description": "Cluster name.", + "type": "string", + "x-order": 4 + }, + "replication_set": { + "description": "Replication set name.", "type": "string", "x-order": 5 }, - "version": { - "description": "ProxySQL version.", + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 6 + }, + "group": { + "description": "Group name of external service.", "type": "string", - "x-order": 10 + "x-order": 7 } }, - "x-order": 3 + "x-order": 5 } } } @@ -12144,6 +12144,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -12154,13 +12158,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -12206,6 +12206,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -12216,13 +12220,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -12285,6 +12285,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -12295,13 +12299,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } diff --git a/api/management/v1/json/client/management_service/add_annotation_responses.go b/api/management/v1/json/client/management_service/add_annotation_responses.go index d52e86eb65..87ec308d78 100644 --- a/api/management/v1/json/client/management_service/add_annotation_responses.go +++ b/api/management/v1/json/client/management_service/add_annotation_responses.go @@ -7,6 +7,7 @@ package management_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type AddAnnotationOK struct { Payload interface{} } +// IsSuccess returns true when this add annotation Ok response has a 2xx status code +func (o *AddAnnotationOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this add annotation Ok response has a 3xx status code +func (o *AddAnnotationOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this add annotation Ok response has a 4xx status code +func (o *AddAnnotationOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this add annotation Ok response has a 5xx status code +func (o *AddAnnotationOK) IsServerError() bool { + return false +} + +// IsCode returns true when this add annotation Ok response a status code equal to that given +func (o *AddAnnotationOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the add annotation Ok response +func (o *AddAnnotationOK) Code() int { + return 200 +} + func (o *AddAnnotationOK) Error() string { - return fmt.Sprintf("[POST /v1/management/annotations][%d] addAnnotationOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/annotations][%d] addAnnotationOk %s", 200, payload) +} + +func (o *AddAnnotationOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/annotations][%d] addAnnotationOk %s", 200, payload) } func (o *AddAnnotationOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type AddAnnotationDefault struct { Payload *AddAnnotationDefaultBody } +// IsSuccess returns true when this add annotation default response has a 2xx status code +func (o *AddAnnotationDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this add annotation default response has a 3xx status code +func (o *AddAnnotationDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this add annotation default response has a 4xx status code +func (o *AddAnnotationDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this add annotation default response has a 5xx status code +func (o *AddAnnotationDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this add annotation default response a status code equal to that given +func (o *AddAnnotationDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the add annotation default response func (o *AddAnnotationDefault) Code() int { return o._statusCode } func (o *AddAnnotationDefault) Error() string { - return fmt.Sprintf("[POST /v1/management/annotations][%d] AddAnnotation default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/annotations][%d] AddAnnotation default %s", o._statusCode, payload) +} + +func (o *AddAnnotationDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/annotations][%d] AddAnnotation default %s", o._statusCode, payload) } func (o *AddAnnotationDefault) GetPayload() *AddAnnotationDefaultBody { @@ -234,6 +302,11 @@ func (o *AddAnnotationDefaultBody) ContextValidate(ctx context.Context, formats func (o *AddAnnotationDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("AddAnnotation default" + "." + "details" + "." + strconv.Itoa(i)) @@ -273,6 +346,80 @@ swagger:model AddAnnotationDefaultBodyDetailsItems0 type AddAnnotationDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // add annotation default body details items0 + AddAnnotationDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *AddAnnotationDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv AddAnnotationDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.AddAnnotationDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o AddAnnotationDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.AddAnnotationDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.AddAnnotationDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this add annotation default body details items0 diff --git a/api/management/v1/json/client/management_service/add_azure_database_responses.go b/api/management/v1/json/client/management_service/add_azure_database_responses.go index 3d9e615c83..4d69fe8ff4 100644 --- a/api/management/v1/json/client/management_service/add_azure_database_responses.go +++ b/api/management/v1/json/client/management_service/add_azure_database_responses.go @@ -59,8 +59,44 @@ type AddAzureDatabaseOK struct { Payload interface{} } +// IsSuccess returns true when this add azure database Ok response has a 2xx status code +func (o *AddAzureDatabaseOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this add azure database Ok response has a 3xx status code +func (o *AddAzureDatabaseOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this add azure database Ok response has a 4xx status code +func (o *AddAzureDatabaseOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this add azure database Ok response has a 5xx status code +func (o *AddAzureDatabaseOK) IsServerError() bool { + return false +} + +// IsCode returns true when this add azure database Ok response a status code equal to that given +func (o *AddAzureDatabaseOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the add azure database Ok response +func (o *AddAzureDatabaseOK) Code() int { + return 200 +} + func (o *AddAzureDatabaseOK) Error() string { - return fmt.Sprintf("[POST /v1/management/services/azure][%d] addAzureDatabaseOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/services/azure][%d] addAzureDatabaseOk %s", 200, payload) +} + +func (o *AddAzureDatabaseOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/services/azure][%d] addAzureDatabaseOk %s", 200, payload) } func (o *AddAzureDatabaseOK) GetPayload() interface{} { @@ -94,13 +130,44 @@ type AddAzureDatabaseDefault struct { Payload *AddAzureDatabaseDefaultBody } +// IsSuccess returns true when this add azure database default response has a 2xx status code +func (o *AddAzureDatabaseDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this add azure database default response has a 3xx status code +func (o *AddAzureDatabaseDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this add azure database default response has a 4xx status code +func (o *AddAzureDatabaseDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this add azure database default response has a 5xx status code +func (o *AddAzureDatabaseDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this add azure database default response a status code equal to that given +func (o *AddAzureDatabaseDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the add azure database default response func (o *AddAzureDatabaseDefault) Code() int { return o._statusCode } func (o *AddAzureDatabaseDefault) Error() string { - return fmt.Sprintf("[POST /v1/management/services/azure][%d] AddAzureDatabase default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/services/azure][%d] AddAzureDatabase default %s", o._statusCode, payload) +} + +func (o *AddAzureDatabaseDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/services/azure][%d] AddAzureDatabase default %s", o._statusCode, payload) } func (o *AddAzureDatabaseDefault) GetPayload() *AddAzureDatabaseDefaultBody { @@ -202,7 +269,7 @@ type AddAzureDatabaseBody struct { // // - DISCOVER_AZURE_DATABASE_TYPE_MYSQL: MySQL type: microsoft.dbformysql or MariaDB type: microsoft.dbformariadb // - DISCOVER_AZURE_DATABASE_TYPE_POSTGRESQL: PostgreSQL type: microsoft.dbformysql - // Enum: [DISCOVER_AZURE_DATABASE_TYPE_UNSPECIFIED DISCOVER_AZURE_DATABASE_TYPE_MYSQL DISCOVER_AZURE_DATABASE_TYPE_POSTGRESQL] + // Enum: ["DISCOVER_AZURE_DATABASE_TYPE_UNSPECIFIED","DISCOVER_AZURE_DATABASE_TYPE_MYSQL","DISCOVER_AZURE_DATABASE_TYPE_POSTGRESQL"] Type *string `json:"type,omitempty"` } @@ -360,6 +427,11 @@ func (o *AddAzureDatabaseDefaultBody) ContextValidate(ctx context.Context, forma func (o *AddAzureDatabaseDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("AddAzureDatabase default" + "." + "details" + "." + strconv.Itoa(i)) @@ -399,6 +471,80 @@ swagger:model AddAzureDatabaseDefaultBodyDetailsItems0 type AddAzureDatabaseDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // add azure database default body details items0 + AddAzureDatabaseDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *AddAzureDatabaseDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv AddAzureDatabaseDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.AddAzureDatabaseDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o AddAzureDatabaseDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.AddAzureDatabaseDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.AddAzureDatabaseDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this add azure database default body details items0 diff --git a/api/management/v1/json/client/management_service/add_service_responses.go b/api/management/v1/json/client/management_service/add_service_responses.go index eee077f331..6bda6b2c39 100644 --- a/api/management/v1/json/client/management_service/add_service_responses.go +++ b/api/management/v1/json/client/management_service/add_service_responses.go @@ -59,8 +59,44 @@ type AddServiceOK struct { Payload *AddServiceOKBody } +// IsSuccess returns true when this add service Ok response has a 2xx status code +func (o *AddServiceOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this add service Ok response has a 3xx status code +func (o *AddServiceOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this add service Ok response has a 4xx status code +func (o *AddServiceOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this add service Ok response has a 5xx status code +func (o *AddServiceOK) IsServerError() bool { + return false +} + +// IsCode returns true when this add service Ok response a status code equal to that given +func (o *AddServiceOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the add service Ok response +func (o *AddServiceOK) Code() int { + return 200 +} + func (o *AddServiceOK) Error() string { - return fmt.Sprintf("[POST /v1/management/services][%d] addServiceOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/services][%d] addServiceOk %s", 200, payload) +} + +func (o *AddServiceOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/services][%d] addServiceOk %s", 200, payload) } func (o *AddServiceOK) GetPayload() *AddServiceOKBody { @@ -96,13 +132,44 @@ type AddServiceDefault struct { Payload *AddServiceDefaultBody } +// IsSuccess returns true when this add service default response has a 2xx status code +func (o *AddServiceDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this add service default response has a 3xx status code +func (o *AddServiceDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this add service default response has a 4xx status code +func (o *AddServiceDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this add service default response has a 5xx status code +func (o *AddServiceDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this add service default response a status code equal to that given +func (o *AddServiceDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the add service default response func (o *AddServiceDefault) Code() int { return o._statusCode } func (o *AddServiceDefault) Error() string { - return fmt.Sprintf("[POST /v1/management/services][%d] AddService default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/services][%d] AddService default %s", o._statusCode, payload) +} + +func (o *AddServiceDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/services][%d] AddService default %s", o._statusCode, payload) } func (o *AddServiceDefault) GetPayload() *AddServiceDefaultBody { @@ -358,6 +425,11 @@ func (o *AddServiceBody) ContextValidate(ctx context.Context, formats strfmt.Reg func (o *AddServiceBody) contextValidateExternal(ctx context.Context, formats strfmt.Registry) error { if o.External != nil { + + if swag.IsZero(o.External) { // not required + return nil + } + if err := o.External.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "external") @@ -373,6 +445,11 @@ func (o *AddServiceBody) contextValidateExternal(ctx context.Context, formats st func (o *AddServiceBody) contextValidateHaproxy(ctx context.Context, formats strfmt.Registry) error { if o.Haproxy != nil { + + if swag.IsZero(o.Haproxy) { // not required + return nil + } + if err := o.Haproxy.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "haproxy") @@ -388,6 +465,11 @@ func (o *AddServiceBody) contextValidateHaproxy(ctx context.Context, formats str func (o *AddServiceBody) contextValidateMongodb(ctx context.Context, formats strfmt.Registry) error { if o.Mongodb != nil { + + if swag.IsZero(o.Mongodb) { // not required + return nil + } + if err := o.Mongodb.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "mongodb") @@ -403,6 +485,11 @@ func (o *AddServiceBody) contextValidateMongodb(ctx context.Context, formats str func (o *AddServiceBody) contextValidateMysql(ctx context.Context, formats strfmt.Registry) error { if o.Mysql != nil { + + if swag.IsZero(o.Mysql) { // not required + return nil + } + if err := o.Mysql.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "mysql") @@ -418,6 +505,11 @@ func (o *AddServiceBody) contextValidateMysql(ctx context.Context, formats strfm func (o *AddServiceBody) contextValidatePostgresql(ctx context.Context, formats strfmt.Registry) error { if o.Postgresql != nil { + + if swag.IsZero(o.Postgresql) { // not required + return nil + } + if err := o.Postgresql.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "postgresql") @@ -433,6 +525,11 @@ func (o *AddServiceBody) contextValidatePostgresql(ctx context.Context, formats func (o *AddServiceBody) contextValidateProxysql(ctx context.Context, formats strfmt.Registry) error { if o.Proxysql != nil { + + if swag.IsZero(o.Proxysql) { // not required + return nil + } + if err := o.Proxysql.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "proxysql") @@ -448,6 +545,11 @@ func (o *AddServiceBody) contextValidateProxysql(ctx context.Context, formats st func (o *AddServiceBody) contextValidateRDS(ctx context.Context, formats strfmt.Registry) error { if o.RDS != nil { + + if swag.IsZero(o.RDS) { // not required + return nil + } + if err := o.RDS.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "rds") @@ -551,6 +653,11 @@ func (o *AddServiceDefaultBody) ContextValidate(ctx context.Context, formats str func (o *AddServiceDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("AddService default" + "." + "details" + "." + strconv.Itoa(i)) @@ -590,6 +697,80 @@ swagger:model AddServiceDefaultBodyDetailsItems0 type AddServiceDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // add service default body details items0 + AddServiceDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *AddServiceDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv AddServiceDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.AddServiceDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o AddServiceDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.AddServiceDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.AddServiceDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this add service default body details items0 @@ -858,6 +1039,11 @@ func (o *AddServiceOKBody) ContextValidate(ctx context.Context, formats strfmt.R func (o *AddServiceOKBody) contextValidateExternal(ctx context.Context, formats strfmt.Registry) error { if o.External != nil { + + if swag.IsZero(o.External) { // not required + return nil + } + if err := o.External.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "external") @@ -873,6 +1059,11 @@ func (o *AddServiceOKBody) contextValidateExternal(ctx context.Context, formats func (o *AddServiceOKBody) contextValidateHaproxy(ctx context.Context, formats strfmt.Registry) error { if o.Haproxy != nil { + + if swag.IsZero(o.Haproxy) { // not required + return nil + } + if err := o.Haproxy.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "haproxy") @@ -888,6 +1079,11 @@ func (o *AddServiceOKBody) contextValidateHaproxy(ctx context.Context, formats s func (o *AddServiceOKBody) contextValidateMongodb(ctx context.Context, formats strfmt.Registry) error { if o.Mongodb != nil { + + if swag.IsZero(o.Mongodb) { // not required + return nil + } + if err := o.Mongodb.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "mongodb") @@ -903,6 +1099,11 @@ func (o *AddServiceOKBody) contextValidateMongodb(ctx context.Context, formats s func (o *AddServiceOKBody) contextValidateMysql(ctx context.Context, formats strfmt.Registry) error { if o.Mysql != nil { + + if swag.IsZero(o.Mysql) { // not required + return nil + } + if err := o.Mysql.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "mysql") @@ -918,6 +1119,11 @@ func (o *AddServiceOKBody) contextValidateMysql(ctx context.Context, formats str func (o *AddServiceOKBody) contextValidatePostgresql(ctx context.Context, formats strfmt.Registry) error { if o.Postgresql != nil { + + if swag.IsZero(o.Postgresql) { // not required + return nil + } + if err := o.Postgresql.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "postgresql") @@ -933,6 +1139,11 @@ func (o *AddServiceOKBody) contextValidatePostgresql(ctx context.Context, format func (o *AddServiceOKBody) contextValidateProxysql(ctx context.Context, formats strfmt.Registry) error { if o.Proxysql != nil { + + if swag.IsZero(o.Proxysql) { // not required + return nil + } + if err := o.Proxysql.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "proxysql") @@ -948,6 +1159,11 @@ func (o *AddServiceOKBody) contextValidateProxysql(ctx context.Context, formats func (o *AddServiceOKBody) contextValidateRDS(ctx context.Context, formats strfmt.Registry) error { if o.RDS != nil { + + if swag.IsZero(o.RDS) { // not required + return nil + } + if err := o.RDS.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "rds") @@ -1067,6 +1283,11 @@ func (o *AddServiceOKBodyExternal) ContextValidate(ctx context.Context, formats func (o *AddServiceOKBodyExternal) contextValidateExternalExporter(ctx context.Context, formats strfmt.Registry) error { if o.ExternalExporter != nil { + + if swag.IsZero(o.ExternalExporter) { // not required + return nil + } + if err := o.ExternalExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "external" + "." + "external_exporter") @@ -1082,6 +1303,11 @@ func (o *AddServiceOKBodyExternal) contextValidateExternalExporter(ctx context.C func (o *AddServiceOKBodyExternal) contextValidateService(ctx context.Context, formats strfmt.Registry) error { if o.Service != nil { + + if swag.IsZero(o.Service) { // not required + return nil + } + if err := o.Service.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "external" + "." + "service") @@ -1204,6 +1430,11 @@ func (o *AddServiceOKBodyExternalExternalExporter) ContextValidate(ctx context.C func (o *AddServiceOKBodyExternalExternalExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "external" + "." + "external_exporter" + "." + "metrics_resolutions") @@ -1424,6 +1655,11 @@ func (o *AddServiceOKBodyHaproxy) ContextValidate(ctx context.Context, formats s func (o *AddServiceOKBodyHaproxy) contextValidateExternalExporter(ctx context.Context, formats strfmt.Registry) error { if o.ExternalExporter != nil { + + if swag.IsZero(o.ExternalExporter) { // not required + return nil + } + if err := o.ExternalExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "haproxy" + "." + "external_exporter") @@ -1439,6 +1675,11 @@ func (o *AddServiceOKBodyHaproxy) contextValidateExternalExporter(ctx context.Co func (o *AddServiceOKBodyHaproxy) contextValidateService(ctx context.Context, formats strfmt.Registry) error { if o.Service != nil { + + if swag.IsZero(o.Service) { // not required + return nil + } + if err := o.Service.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "haproxy" + "." + "service") @@ -1561,6 +1802,11 @@ func (o *AddServiceOKBodyHaproxyExternalExporter) ContextValidate(ctx context.Co func (o *AddServiceOKBodyHaproxyExternalExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "haproxy" + "." + "external_exporter" + "." + "metrics_resolutions") @@ -1808,6 +2054,11 @@ func (o *AddServiceOKBodyMongodb) ContextValidate(ctx context.Context, formats s func (o *AddServiceOKBodyMongodb) contextValidateMongodbExporter(ctx context.Context, formats strfmt.Registry) error { if o.MongodbExporter != nil { + + if swag.IsZero(o.MongodbExporter) { // not required + return nil + } + if err := o.MongodbExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "mongodb" + "." + "mongodb_exporter") @@ -1823,6 +2074,11 @@ func (o *AddServiceOKBodyMongodb) contextValidateMongodbExporter(ctx context.Con func (o *AddServiceOKBodyMongodb) contextValidateQANMongodbProfiler(ctx context.Context, formats strfmt.Registry) error { if o.QANMongodbProfiler != nil { + + if swag.IsZero(o.QANMongodbProfiler) { // not required + return nil + } + if err := o.QANMongodbProfiler.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "mongodb" + "." + "qan_mongodb_profiler") @@ -1838,6 +2094,11 @@ func (o *AddServiceOKBodyMongodb) contextValidateQANMongodbProfiler(ctx context. func (o *AddServiceOKBodyMongodb) contextValidateService(ctx context.Context, formats strfmt.Registry) error { if o.Service != nil { + + if swag.IsZero(o.Service) { // not required + return nil + } + if err := o.Service.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "mongodb" + "." + "service") @@ -1913,7 +2174,7 @@ type AddServiceOKBodyMongodbMongodbExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -1935,7 +2196,7 @@ type AddServiceOKBodyMongodbMongodbExporter struct { // 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] + // 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 @@ -2116,6 +2377,11 @@ func (o *AddServiceOKBodyMongodbMongodbExporter) ContextValidate(ctx context.Con func (o *AddServiceOKBodyMongodbMongodbExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "mongodb" + "." + "mongodb_exporter" + "." + "metrics_resolutions") @@ -2231,7 +2497,7 @@ type AddServiceOKBodyMongodbQANMongodbProfiler struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. @@ -2240,7 +2506,7 @@ type AddServiceOKBodyMongodbQANMongodbProfiler struct { // 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] + // 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"` } @@ -2620,6 +2886,11 @@ func (o *AddServiceOKBodyMysql) ContextValidate(ctx context.Context, formats str func (o *AddServiceOKBodyMysql) contextValidateMysqldExporter(ctx context.Context, formats strfmt.Registry) error { if o.MysqldExporter != nil { + + if swag.IsZero(o.MysqldExporter) { // not required + return nil + } + if err := o.MysqldExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "mysql" + "." + "mysqld_exporter") @@ -2635,6 +2906,11 @@ func (o *AddServiceOKBodyMysql) contextValidateMysqldExporter(ctx context.Contex func (o *AddServiceOKBodyMysql) contextValidateQANMysqlPerfschema(ctx context.Context, formats strfmt.Registry) error { if o.QANMysqlPerfschema != nil { + + if swag.IsZero(o.QANMysqlPerfschema) { // not required + return nil + } + if err := o.QANMysqlPerfschema.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "mysql" + "." + "qan_mysql_perfschema") @@ -2650,6 +2926,11 @@ func (o *AddServiceOKBodyMysql) contextValidateQANMysqlPerfschema(ctx context.Co func (o *AddServiceOKBodyMysql) contextValidateQANMysqlSlowlog(ctx context.Context, formats strfmt.Registry) error { if o.QANMysqlSlowlog != nil { + + if swag.IsZero(o.QANMysqlSlowlog) { // not required + return nil + } + if err := o.QANMysqlSlowlog.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "mysql" + "." + "qan_mysql_slowlog") @@ -2665,6 +2946,11 @@ func (o *AddServiceOKBodyMysql) contextValidateQANMysqlSlowlog(ctx context.Conte func (o *AddServiceOKBodyMysql) contextValidateService(ctx context.Context, formats strfmt.Registry) error { if o.Service != nil { + + if swag.IsZero(o.Service) { // not required + return nil + } + if err := o.Service.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "mysql" + "." + "service") @@ -2757,7 +3043,7 @@ type AddServiceOKBodyMysqlMysqldExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -2772,7 +3058,7 @@ type AddServiceOKBodyMysqlMysqldExporter struct { // 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] + // 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 @@ -2953,6 +3239,11 @@ func (o *AddServiceOKBodyMysqlMysqldExporter) ContextValidate(ctx context.Contex func (o *AddServiceOKBodyMysqlMysqldExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "mysql" + "." + "mysqld_exporter" + "." + "metrics_resolutions") @@ -3083,7 +3374,7 @@ type AddServiceOKBodyMysqlQANMysqlPerfschema struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. @@ -3092,7 +3383,7 @@ type AddServiceOKBodyMysqlQANMysqlPerfschema struct { // 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] + // 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"` } @@ -3310,7 +3601,7 @@ type AddServiceOKBodyMysqlQANMysqlSlowlog struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // mod tidy @@ -3319,7 +3610,7 @@ type AddServiceOKBodyMysqlQANMysqlSlowlog struct { // 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] + // 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"` } @@ -3699,6 +3990,11 @@ func (o *AddServiceOKBodyPostgresql) ContextValidate(ctx context.Context, format func (o *AddServiceOKBodyPostgresql) contextValidatePostgresExporter(ctx context.Context, formats strfmt.Registry) error { if o.PostgresExporter != nil { + + if swag.IsZero(o.PostgresExporter) { // not required + return nil + } + if err := o.PostgresExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "postgresql" + "." + "postgres_exporter") @@ -3714,6 +4010,11 @@ func (o *AddServiceOKBodyPostgresql) contextValidatePostgresExporter(ctx context func (o *AddServiceOKBodyPostgresql) contextValidateQANPostgresqlPgstatementsAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANPostgresqlPgstatementsAgent != nil { + + if swag.IsZero(o.QANPostgresqlPgstatementsAgent) { // not required + return nil + } + if err := o.QANPostgresqlPgstatementsAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "postgresql" + "." + "qan_postgresql_pgstatements_agent") @@ -3729,6 +4030,11 @@ func (o *AddServiceOKBodyPostgresql) contextValidateQANPostgresqlPgstatementsAge func (o *AddServiceOKBodyPostgresql) contextValidateQANPostgresqlPgstatmonitorAgent(ctx context.Context, formats strfmt.Registry) error { if o.QANPostgresqlPgstatmonitorAgent != nil { + + if swag.IsZero(o.QANPostgresqlPgstatmonitorAgent) { // not required + return nil + } + if err := o.QANPostgresqlPgstatmonitorAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "postgresql" + "." + "qan_postgresql_pgstatmonitor_agent") @@ -3744,6 +4050,11 @@ func (o *AddServiceOKBodyPostgresql) contextValidateQANPostgresqlPgstatmonitorAg func (o *AddServiceOKBodyPostgresql) contextValidateService(ctx context.Context, formats strfmt.Registry) error { if o.Service != nil { + + if swag.IsZero(o.Service) { // not required + return nil + } + if err := o.Service.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "postgresql" + "." + "service") @@ -3819,7 +4130,7 @@ type AddServiceOKBodyPostgresqlPostgresExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -3831,7 +4142,7 @@ type AddServiceOKBodyPostgresqlPostgresExporter struct { // 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] + // 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. @@ -4018,6 +4329,11 @@ func (o *AddServiceOKBodyPostgresqlPostgresExporter) ContextValidate(ctx context func (o *AddServiceOKBodyPostgresqlPostgresExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "postgresql" + "." + "postgres_exporter" + "." + "metrics_resolutions") @@ -4136,7 +4452,7 @@ type AddServiceOKBodyPostgresqlQANPostgresqlPgstatementsAgent struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. @@ -4145,7 +4461,7 @@ type AddServiceOKBodyPostgresqlQANPostgresqlPgstatementsAgent struct { // 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] + // 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"` } @@ -4351,7 +4667,7 @@ type AddServiceOKBodyPostgresqlQANPostgresqlPgstatmonitorAgent struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. @@ -4360,7 +4676,7 @@ type AddServiceOKBodyPostgresqlQANPostgresqlPgstatmonitorAgent struct { // 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] + // 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"` } @@ -4683,6 +4999,11 @@ func (o *AddServiceOKBodyProxysql) ContextValidate(ctx context.Context, formats func (o *AddServiceOKBodyProxysql) contextValidateProxysqlExporter(ctx context.Context, formats strfmt.Registry) error { if o.ProxysqlExporter != nil { + + if swag.IsZero(o.ProxysqlExporter) { // not required + return nil + } + if err := o.ProxysqlExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "proxysql" + "." + "proxysql_exporter") @@ -4698,6 +5019,11 @@ func (o *AddServiceOKBodyProxysql) contextValidateProxysqlExporter(ctx context.C func (o *AddServiceOKBodyProxysql) contextValidateService(ctx context.Context, formats strfmt.Registry) error { if o.Service != nil { + + if swag.IsZero(o.Service) { // not required + return nil + } + if err := o.Service.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "proxysql" + "." + "service") @@ -4773,7 +5099,7 @@ type AddServiceOKBodyProxysqlProxysqlExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -4785,7 +5111,7 @@ type AddServiceOKBodyProxysqlProxysqlExporter struct { // 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] + // 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 @@ -4966,6 +5292,11 @@ func (o *AddServiceOKBodyProxysqlProxysqlExporter) ContextValidate(ctx context.C func (o *AddServiceOKBodyProxysqlProxysqlExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "proxysql" + "." + "proxysql_exporter" + "." + "metrics_resolutions") @@ -5378,6 +5709,11 @@ func (o *AddServiceOKBodyRDS) ContextValidate(ctx context.Context, formats strfm func (o *AddServiceOKBodyRDS) contextValidateMysql(ctx context.Context, formats strfmt.Registry) error { if o.Mysql != nil { + + if swag.IsZero(o.Mysql) { // not required + return nil + } + if err := o.Mysql.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "rds" + "." + "mysql") @@ -5393,6 +5729,11 @@ func (o *AddServiceOKBodyRDS) contextValidateMysql(ctx context.Context, formats func (o *AddServiceOKBodyRDS) contextValidateMysqldExporter(ctx context.Context, formats strfmt.Registry) error { if o.MysqldExporter != nil { + + if swag.IsZero(o.MysqldExporter) { // not required + return nil + } + if err := o.MysqldExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "rds" + "." + "mysqld_exporter") @@ -5408,6 +5749,11 @@ func (o *AddServiceOKBodyRDS) contextValidateMysqldExporter(ctx context.Context, func (o *AddServiceOKBodyRDS) contextValidateNode(ctx context.Context, formats strfmt.Registry) error { if o.Node != nil { + + if swag.IsZero(o.Node) { // not required + return nil + } + if err := o.Node.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "rds" + "." + "node") @@ -5423,6 +5769,11 @@ func (o *AddServiceOKBodyRDS) contextValidateNode(ctx context.Context, formats s func (o *AddServiceOKBodyRDS) contextValidatePostgresql(ctx context.Context, formats strfmt.Registry) error { if o.Postgresql != nil { + + if swag.IsZero(o.Postgresql) { // not required + return nil + } + if err := o.Postgresql.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "rds" + "." + "postgresql") @@ -5438,6 +5789,11 @@ func (o *AddServiceOKBodyRDS) contextValidatePostgresql(ctx context.Context, for func (o *AddServiceOKBodyRDS) contextValidatePostgresqlExporter(ctx context.Context, formats strfmt.Registry) error { if o.PostgresqlExporter != nil { + + if swag.IsZero(o.PostgresqlExporter) { // not required + return nil + } + if err := o.PostgresqlExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "rds" + "." + "postgresql_exporter") @@ -5453,6 +5809,11 @@ func (o *AddServiceOKBodyRDS) contextValidatePostgresqlExporter(ctx context.Cont func (o *AddServiceOKBodyRDS) contextValidateQANMysqlPerfschema(ctx context.Context, formats strfmt.Registry) error { if o.QANMysqlPerfschema != nil { + + if swag.IsZero(o.QANMysqlPerfschema) { // not required + return nil + } + if err := o.QANMysqlPerfschema.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "rds" + "." + "qan_mysql_perfschema") @@ -5468,6 +5829,11 @@ func (o *AddServiceOKBodyRDS) contextValidateQANMysqlPerfschema(ctx context.Cont func (o *AddServiceOKBodyRDS) contextValidateQANPostgresqlPgstatements(ctx context.Context, formats strfmt.Registry) error { if o.QANPostgresqlPgstatements != nil { + + if swag.IsZero(o.QANPostgresqlPgstatements) { // not required + return nil + } + if err := o.QANPostgresqlPgstatements.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "rds" + "." + "qan_postgresql_pgstatements") @@ -5483,6 +5849,11 @@ func (o *AddServiceOKBodyRDS) contextValidateQANPostgresqlPgstatements(ctx conte func (o *AddServiceOKBodyRDS) contextValidateRDSExporter(ctx context.Context, formats strfmt.Registry) error { if o.RDSExporter != nil { + + if swag.IsZero(o.RDSExporter) { // not required + return nil + } + if err := o.RDSExporter.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "rds" + "." + "rds_exporter") @@ -5645,7 +6016,7 @@ type AddServiceOKBodyRDSMysqldExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -5660,7 +6031,7 @@ type AddServiceOKBodyRDSMysqldExporter struct { // 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] + // 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 @@ -5841,6 +6212,11 @@ func (o *AddServiceOKBodyRDSMysqldExporter) ContextValidate(ctx context.Context, func (o *AddServiceOKBodyRDSMysqldExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "rds" + "." + "mysqld_exporter" + "." + "metrics_resolutions") @@ -6090,7 +6466,7 @@ type AddServiceOKBodyRDSPostgresqlExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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. @@ -6102,7 +6478,7 @@ type AddServiceOKBodyRDSPostgresqlExporter struct { // 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] + // 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. @@ -6289,6 +6665,11 @@ func (o *AddServiceOKBodyRDSPostgresqlExporter) ContextValidate(ctx context.Cont func (o *AddServiceOKBodyRDSPostgresqlExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "rds" + "." + "postgresql_exporter" + "." + "metrics_resolutions") @@ -6419,7 +6800,7 @@ type AddServiceOKBodyRDSQANMysqlPerfschema struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. @@ -6428,7 +6809,7 @@ type AddServiceOKBodyRDSQANMysqlPerfschema struct { // 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] + // 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"` } @@ -6631,7 +7012,7 @@ type AddServiceOKBodyRDSQANPostgresqlPgstatements struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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"` // Path to exec process. @@ -6640,7 +7021,7 @@ type AddServiceOKBodyRDSQANPostgresqlPgstatements struct { // 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] + // 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"` } @@ -6831,7 +7212,7 @@ type AddServiceOKBodyRDSRDSExporter struct { // - AGENT_STATUS_STOPPING: Agent is stopping. // - AGENT_STATUS_DONE: Agent finished. // - 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] + // 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 (the same for several configurations). @@ -6852,7 +7233,7 @@ type AddServiceOKBodyRDSRDSExporter struct { // 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] + // 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. @@ -7033,6 +7414,11 @@ func (o *AddServiceOKBodyRDSRDSExporter) ContextValidate(ctx context.Context, fo func (o *AddServiceOKBodyRDSRDSExporter) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("addServiceOk" + "." + "rds" + "." + "rds_exporter" + "." + "metrics_resolutions") @@ -7166,7 +7552,7 @@ type AddServiceParamsBodyExternal struct { // it can be pull, push or auto mode chosen by server. // // - METRICS_MODE_UNSPECIFIED: Auto - // Enum: [METRICS_MODE_UNSPECIFIED METRICS_MODE_PULL METRICS_MODE_PUSH] + // Enum: ["METRICS_MODE_UNSPECIFIED","METRICS_MODE_PULL","METRICS_MODE_PUSH"] MetricsMode *string `json:"metrics_mode,omitempty"` // Skip connection check. @@ -7274,6 +7660,11 @@ func (o *AddServiceParamsBodyExternal) ContextValidate(ctx context.Context, form func (o *AddServiceParamsBodyExternal) contextValidateAddNode(ctx context.Context, formats strfmt.Registry) error { if o.AddNode != nil { + + if swag.IsZero(o.AddNode) { // not required + return nil + } + if err := o.AddNode.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "external" + "." + "add_node") @@ -7311,7 +7702,7 @@ swagger:model AddServiceParamsBodyExternalAddNode */ type AddServiceParamsBodyExternalAddNode struct { // NodeType describes supported Node types. - // Enum: [NODE_TYPE_UNSPECIFIED NODE_TYPE_GENERIC_NODE NODE_TYPE_CONTAINER_NODE NODE_TYPE_REMOTE_NODE NODE_TYPE_REMOTE_RDS_NODE NODE_TYPE_REMOTE_AZURE_DATABASE_NODE] + // Enum: ["NODE_TYPE_UNSPECIFIED","NODE_TYPE_GENERIC_NODE","NODE_TYPE_CONTAINER_NODE","NODE_TYPE_REMOTE_NODE","NODE_TYPE_REMOTE_RDS_NODE","NODE_TYPE_REMOTE_AZURE_DATABASE_NODE"] NodeType *string `json:"node_type,omitempty"` // Unique across all Nodes user-defined name. @@ -7484,7 +7875,7 @@ type AddServiceParamsBodyHaproxy struct { // it can be pull, push or auto mode chosen by server. // // - METRICS_MODE_UNSPECIFIED: Auto - // Enum: [METRICS_MODE_UNSPECIFIED METRICS_MODE_PULL METRICS_MODE_PUSH] + // Enum: ["METRICS_MODE_UNSPECIFIED","METRICS_MODE_PULL","METRICS_MODE_PUSH"] MetricsMode *string `json:"metrics_mode,omitempty"` // Skip connection check. @@ -7592,6 +7983,11 @@ func (o *AddServiceParamsBodyHaproxy) ContextValidate(ctx context.Context, forma func (o *AddServiceParamsBodyHaproxy) contextValidateAddNode(ctx context.Context, formats strfmt.Registry) error { if o.AddNode != nil { + + if swag.IsZero(o.AddNode) { // not required + return nil + } + if err := o.AddNode.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "haproxy" + "." + "add_node") @@ -7629,7 +8025,7 @@ swagger:model AddServiceParamsBodyHaproxyAddNode */ type AddServiceParamsBodyHaproxyAddNode struct { // NodeType describes supported Node types. - // Enum: [NODE_TYPE_UNSPECIFIED NODE_TYPE_GENERIC_NODE NODE_TYPE_CONTAINER_NODE NODE_TYPE_REMOTE_NODE NODE_TYPE_REMOTE_RDS_NODE NODE_TYPE_REMOTE_AZURE_DATABASE_NODE] + // Enum: ["NODE_TYPE_UNSPECIFIED","NODE_TYPE_GENERIC_NODE","NODE_TYPE_CONTAINER_NODE","NODE_TYPE_REMOTE_NODE","NODE_TYPE_REMOTE_RDS_NODE","NODE_TYPE_REMOTE_AZURE_DATABASE_NODE"] NodeType *string `json:"node_type,omitempty"` // Unique across all Nodes user-defined name. @@ -7828,7 +8224,7 @@ type AddServiceParamsBodyMongodb struct { // it can be pull, push or auto mode chosen by server. // // - METRICS_MODE_UNSPECIFIED: Auto - // Enum: [METRICS_MODE_UNSPECIFIED METRICS_MODE_PULL METRICS_MODE_PUSH] + // Enum: ["METRICS_MODE_UNSPECIFIED","METRICS_MODE_PULL","METRICS_MODE_PUSH"] MetricsMode *string `json:"metrics_mode,omitempty"` // List of collector names to disable in this exporter. @@ -7858,7 +8254,7 @@ type AddServiceParamsBodyMongodb struct { // 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] + // 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 @@ -8024,6 +8420,11 @@ func (o *AddServiceParamsBodyMongodb) ContextValidate(ctx context.Context, forma func (o *AddServiceParamsBodyMongodb) contextValidateAddNode(ctx context.Context, formats strfmt.Registry) error { if o.AddNode != nil { + + if swag.IsZero(o.AddNode) { // not required + return nil + } + if err := o.AddNode.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "mongodb" + "." + "add_node") @@ -8061,7 +8462,7 @@ swagger:model AddServiceParamsBodyMongodbAddNode */ type AddServiceParamsBodyMongodbAddNode struct { // NodeType describes supported Node types. - // Enum: [NODE_TYPE_UNSPECIFIED NODE_TYPE_GENERIC_NODE NODE_TYPE_CONTAINER_NODE NODE_TYPE_REMOTE_NODE NODE_TYPE_REMOTE_RDS_NODE NODE_TYPE_REMOTE_AZURE_DATABASE_NODE] + // Enum: ["NODE_TYPE_UNSPECIFIED","NODE_TYPE_GENERIC_NODE","NODE_TYPE_CONTAINER_NODE","NODE_TYPE_REMOTE_NODE","NODE_TYPE_REMOTE_RDS_NODE","NODE_TYPE_REMOTE_AZURE_DATABASE_NODE"] NodeType *string `json:"node_type,omitempty"` // Unique across all Nodes user-defined name. @@ -8279,7 +8680,7 @@ type AddServiceParamsBodyMysql struct { // it can be pull, push or auto mode chosen by server. // // - METRICS_MODE_UNSPECIFIED: Auto - // Enum: [METRICS_MODE_UNSPECIFIED METRICS_MODE_PULL METRICS_MODE_PUSH] + // Enum: ["METRICS_MODE_UNSPECIFIED","METRICS_MODE_PULL","METRICS_MODE_PUSH"] MetricsMode *string `json:"metrics_mode,omitempty"` // List of collector names to disable in this exporter. @@ -8291,7 +8692,7 @@ type AddServiceParamsBodyMysql struct { // 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] + // 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 @@ -8457,6 +8858,11 @@ func (o *AddServiceParamsBodyMysql) ContextValidate(ctx context.Context, formats func (o *AddServiceParamsBodyMysql) contextValidateAddNode(ctx context.Context, formats strfmt.Registry) error { if o.AddNode != nil { + + if swag.IsZero(o.AddNode) { // not required + return nil + } + if err := o.AddNode.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "mysql" + "." + "add_node") @@ -8494,7 +8900,7 @@ swagger:model AddServiceParamsBodyMysqlAddNode */ type AddServiceParamsBodyMysqlAddNode struct { // NodeType describes supported Node types. - // Enum: [NODE_TYPE_UNSPECIFIED NODE_TYPE_GENERIC_NODE NODE_TYPE_CONTAINER_NODE NODE_TYPE_REMOTE_NODE NODE_TYPE_REMOTE_RDS_NODE NODE_TYPE_REMOTE_AZURE_DATABASE_NODE] + // Enum: ["NODE_TYPE_UNSPECIFIED","NODE_TYPE_GENERIC_NODE","NODE_TYPE_CONTAINER_NODE","NODE_TYPE_REMOTE_NODE","NODE_TYPE_REMOTE_RDS_NODE","NODE_TYPE_REMOTE_AZURE_DATABASE_NODE"] NodeType *string `json:"node_type,omitempty"` // Unique across all Nodes user-defined name. @@ -8696,7 +9102,7 @@ type AddServiceParamsBodyPostgresql struct { // it can be pull, push or auto mode chosen by server. // // - METRICS_MODE_UNSPECIFIED: Auto - // Enum: [METRICS_MODE_UNSPECIFIED METRICS_MODE_PULL METRICS_MODE_PUSH] + // Enum: ["METRICS_MODE_UNSPECIFIED","METRICS_MODE_PULL","METRICS_MODE_PUSH"] MetricsMode *string `json:"metrics_mode,omitempty"` // List of collector names to disable in this exporter. @@ -8717,7 +9123,7 @@ type AddServiceParamsBodyPostgresql struct { // 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] + // 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 for auto discovery. @@ -8889,6 +9295,11 @@ func (o *AddServiceParamsBodyPostgresql) ContextValidate(ctx context.Context, fo func (o *AddServiceParamsBodyPostgresql) contextValidateAddNode(ctx context.Context, formats strfmt.Registry) error { if o.AddNode != nil { + + if swag.IsZero(o.AddNode) { // not required + return nil + } + if err := o.AddNode.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "postgresql" + "." + "add_node") @@ -8926,7 +9337,7 @@ swagger:model AddServiceParamsBodyPostgresqlAddNode */ type AddServiceParamsBodyPostgresqlAddNode struct { // NodeType describes supported Node types. - // Enum: [NODE_TYPE_UNSPECIFIED NODE_TYPE_GENERIC_NODE NODE_TYPE_CONTAINER_NODE NODE_TYPE_REMOTE_NODE NODE_TYPE_REMOTE_RDS_NODE NODE_TYPE_REMOTE_AZURE_DATABASE_NODE] + // Enum: ["NODE_TYPE_UNSPECIFIED","NODE_TYPE_GENERIC_NODE","NODE_TYPE_CONTAINER_NODE","NODE_TYPE_REMOTE_NODE","NODE_TYPE_REMOTE_RDS_NODE","NODE_TYPE_REMOTE_AZURE_DATABASE_NODE"] NodeType *string `json:"node_type,omitempty"` // Unique across all Nodes user-defined name. @@ -9110,7 +9521,7 @@ type AddServiceParamsBodyProxysql struct { // it can be pull, push or auto mode chosen by server. // // - METRICS_MODE_UNSPECIFIED: Auto - // Enum: [METRICS_MODE_UNSPECIFIED METRICS_MODE_PULL METRICS_MODE_PUSH] + // Enum: ["METRICS_MODE_UNSPECIFIED","METRICS_MODE_PULL","METRICS_MODE_PUSH"] MetricsMode *string `json:"metrics_mode,omitempty"` // List of collector names to disable in this exporter. @@ -9122,7 +9533,7 @@ type AddServiceParamsBodyProxysql struct { // 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] + // 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 @@ -9288,6 +9699,11 @@ func (o *AddServiceParamsBodyProxysql) ContextValidate(ctx context.Context, form func (o *AddServiceParamsBodyProxysql) contextValidateAddNode(ctx context.Context, formats strfmt.Registry) error { if o.AddNode != nil { + + if swag.IsZero(o.AddNode) { // not required + return nil + } + if err := o.AddNode.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "proxysql" + "." + "add_node") @@ -9325,7 +9741,7 @@ swagger:model AddServiceParamsBodyProxysqlAddNode */ type AddServiceParamsBodyProxysqlAddNode struct { // NodeType describes supported Node types. - // Enum: [NODE_TYPE_UNSPECIFIED NODE_TYPE_GENERIC_NODE NODE_TYPE_CONTAINER_NODE NODE_TYPE_REMOTE_NODE NODE_TYPE_REMOTE_RDS_NODE NODE_TYPE_REMOTE_AZURE_DATABASE_NODE] + // Enum: ["NODE_TYPE_UNSPECIFIED","NODE_TYPE_GENERIC_NODE","NODE_TYPE_CONTAINER_NODE","NODE_TYPE_REMOTE_NODE","NODE_TYPE_REMOTE_RDS_NODE","NODE_TYPE_REMOTE_AZURE_DATABASE_NODE"] NodeType *string `json:"node_type,omitempty"` // Unique across all Nodes user-defined name. @@ -9471,7 +9887,7 @@ type AddServiceParamsBodyRDS struct { Port int64 `json:"port,omitempty"` // DiscoverRDSEngine describes supported RDS instance engines. - // Enum: [DISCOVER_RDS_ENGINE_UNSPECIFIED DISCOVER_RDS_ENGINE_MYSQL DISCOVER_RDS_ENGINE_POSTGRESQL] + // Enum: ["DISCOVER_RDS_ENGINE_UNSPECIFIED","DISCOVER_RDS_ENGINE_MYSQL","DISCOVER_RDS_ENGINE_POSTGRESQL"] Engine *string `json:"engine,omitempty"` // Unique across all Nodes user-defined name. Defaults to AWS instance ID. @@ -9537,7 +9953,7 @@ type AddServiceParamsBodyRDS struct { // it can be pull, push or auto mode chosen by server. // // - METRICS_MODE_UNSPECIFIED: Auto - // Enum: [METRICS_MODE_UNSPECIFIED METRICS_MODE_PULL METRICS_MODE_PUSH] + // Enum: ["METRICS_MODE_UNSPECIFIED","METRICS_MODE_PULL","METRICS_MODE_PUSH"] MetricsMode *string `json:"metrics_mode,omitempty"` // If true, add qan-pgstatements diff --git a/api/management/v1/json/client/management_service/discover_azure_database_responses.go b/api/management/v1/json/client/management_service/discover_azure_database_responses.go index fe848189ea..d407a5acea 100644 --- a/api/management/v1/json/client/management_service/discover_azure_database_responses.go +++ b/api/management/v1/json/client/management_service/discover_azure_database_responses.go @@ -59,8 +59,44 @@ type DiscoverAzureDatabaseOK struct { Payload *DiscoverAzureDatabaseOKBody } +// IsSuccess returns true when this discover azure database Ok response has a 2xx status code +func (o *DiscoverAzureDatabaseOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this discover azure database Ok response has a 3xx status code +func (o *DiscoverAzureDatabaseOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this discover azure database Ok response has a 4xx status code +func (o *DiscoverAzureDatabaseOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this discover azure database Ok response has a 5xx status code +func (o *DiscoverAzureDatabaseOK) IsServerError() bool { + return false +} + +// IsCode returns true when this discover azure database Ok response a status code equal to that given +func (o *DiscoverAzureDatabaseOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the discover azure database Ok response +func (o *DiscoverAzureDatabaseOK) Code() int { + return 200 +} + func (o *DiscoverAzureDatabaseOK) Error() string { - return fmt.Sprintf("[POST /v1/management/services:discoverAzure][%d] discoverAzureDatabaseOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/services:discoverAzure][%d] discoverAzureDatabaseOk %s", 200, payload) +} + +func (o *DiscoverAzureDatabaseOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/services:discoverAzure][%d] discoverAzureDatabaseOk %s", 200, payload) } func (o *DiscoverAzureDatabaseOK) GetPayload() *DiscoverAzureDatabaseOKBody { @@ -96,13 +132,44 @@ type DiscoverAzureDatabaseDefault struct { Payload *DiscoverAzureDatabaseDefaultBody } +// IsSuccess returns true when this discover azure database default response has a 2xx status code +func (o *DiscoverAzureDatabaseDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this discover azure database default response has a 3xx status code +func (o *DiscoverAzureDatabaseDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this discover azure database default response has a 4xx status code +func (o *DiscoverAzureDatabaseDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this discover azure database default response has a 5xx status code +func (o *DiscoverAzureDatabaseDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this discover azure database default response a status code equal to that given +func (o *DiscoverAzureDatabaseDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the discover azure database default response func (o *DiscoverAzureDatabaseDefault) Code() int { return o._statusCode } func (o *DiscoverAzureDatabaseDefault) Error() string { - return fmt.Sprintf("[POST /v1/management/services:discoverAzure][%d] DiscoverAzureDatabase default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/services:discoverAzure][%d] DiscoverAzureDatabase default %s", o._statusCode, payload) +} + +func (o *DiscoverAzureDatabaseDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/services:discoverAzure][%d] DiscoverAzureDatabase default %s", o._statusCode, payload) } func (o *DiscoverAzureDatabaseDefault) GetPayload() *DiscoverAzureDatabaseDefaultBody { @@ -238,6 +305,11 @@ func (o *DiscoverAzureDatabaseDefaultBody) ContextValidate(ctx context.Context, func (o *DiscoverAzureDatabaseDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("DiscoverAzureDatabase default" + "." + "details" + "." + strconv.Itoa(i)) @@ -277,6 +349,80 @@ swagger:model DiscoverAzureDatabaseDefaultBodyDetailsItems0 type DiscoverAzureDatabaseDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // discover azure database default body details items0 + DiscoverAzureDatabaseDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *DiscoverAzureDatabaseDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv DiscoverAzureDatabaseDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.DiscoverAzureDatabaseDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o DiscoverAzureDatabaseDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.DiscoverAzureDatabaseDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.DiscoverAzureDatabaseDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this discover azure database default body details items0 @@ -373,6 +519,11 @@ func (o *DiscoverAzureDatabaseOKBody) ContextValidate(ctx context.Context, forma func (o *DiscoverAzureDatabaseOKBody) contextValidateAzureDatabaseInstance(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.AzureDatabaseInstance); i++ { if o.AzureDatabaseInstance[i] != nil { + + if swag.IsZero(o.AzureDatabaseInstance[i]) { // not required + return nil + } + if err := o.AzureDatabaseInstance[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("discoverAzureDatabaseOk" + "." + "azure_database_instance" + "." + strconv.Itoa(i)) @@ -435,7 +586,7 @@ type DiscoverAzureDatabaseOKBodyAzureDatabaseInstanceItems0 struct { // // - DISCOVER_AZURE_DATABASE_TYPE_MYSQL: MySQL type: microsoft.dbformysql or MariaDB type: microsoft.dbformariadb // - DISCOVER_AZURE_DATABASE_TYPE_POSTGRESQL: PostgreSQL type: microsoft.dbformysql - // Enum: [DISCOVER_AZURE_DATABASE_TYPE_UNSPECIFIED DISCOVER_AZURE_DATABASE_TYPE_MYSQL DISCOVER_AZURE_DATABASE_TYPE_POSTGRESQL] + // Enum: ["DISCOVER_AZURE_DATABASE_TYPE_UNSPECIFIED","DISCOVER_AZURE_DATABASE_TYPE_MYSQL","DISCOVER_AZURE_DATABASE_TYPE_POSTGRESQL"] Type *string `json:"type,omitempty"` // Azure database availability zone. diff --git a/api/management/v1/json/client/management_service/discover_rds_responses.go b/api/management/v1/json/client/management_service/discover_rds_responses.go index 1484718b1f..bf43f10f8b 100644 --- a/api/management/v1/json/client/management_service/discover_rds_responses.go +++ b/api/management/v1/json/client/management_service/discover_rds_responses.go @@ -59,8 +59,44 @@ type DiscoverRDSOK struct { Payload *DiscoverRDSOKBody } +// IsSuccess returns true when this discover Rds Ok response has a 2xx status code +func (o *DiscoverRDSOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this discover Rds Ok response has a 3xx status code +func (o *DiscoverRDSOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this discover Rds Ok response has a 4xx status code +func (o *DiscoverRDSOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this discover Rds Ok response has a 5xx status code +func (o *DiscoverRDSOK) IsServerError() bool { + return false +} + +// IsCode returns true when this discover Rds Ok response a status code equal to that given +func (o *DiscoverRDSOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the discover Rds Ok response +func (o *DiscoverRDSOK) Code() int { + return 200 +} + func (o *DiscoverRDSOK) Error() string { - return fmt.Sprintf("[POST /v1/management/services:discoverRDS][%d] discoverRdsOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/services:discoverRDS][%d] discoverRdsOk %s", 200, payload) +} + +func (o *DiscoverRDSOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/services:discoverRDS][%d] discoverRdsOk %s", 200, payload) } func (o *DiscoverRDSOK) GetPayload() *DiscoverRDSOKBody { @@ -96,13 +132,44 @@ type DiscoverRDSDefault struct { Payload *DiscoverRDSDefaultBody } +// IsSuccess returns true when this discover RDS default response has a 2xx status code +func (o *DiscoverRDSDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this discover RDS default response has a 3xx status code +func (o *DiscoverRDSDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this discover RDS default response has a 4xx status code +func (o *DiscoverRDSDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this discover RDS default response has a 5xx status code +func (o *DiscoverRDSDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this discover RDS default response a status code equal to that given +func (o *DiscoverRDSDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the discover RDS default response func (o *DiscoverRDSDefault) Code() int { return o._statusCode } func (o *DiscoverRDSDefault) Error() string { - return fmt.Sprintf("[POST /v1/management/services:discoverRDS][%d] DiscoverRDS default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/services:discoverRDS][%d] DiscoverRDS default %s", o._statusCode, payload) +} + +func (o *DiscoverRDSDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/services:discoverRDS][%d] DiscoverRDS default %s", o._statusCode, payload) } func (o *DiscoverRDSDefault) GetPayload() *DiscoverRDSDefaultBody { @@ -232,6 +299,11 @@ func (o *DiscoverRDSDefaultBody) ContextValidate(ctx context.Context, formats st func (o *DiscoverRDSDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("DiscoverRDS default" + "." + "details" + "." + strconv.Itoa(i)) @@ -271,6 +343,80 @@ swagger:model DiscoverRDSDefaultBodyDetailsItems0 type DiscoverRDSDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // discover RDS default body details items0 + DiscoverRDSDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *DiscoverRDSDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv DiscoverRDSDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.DiscoverRDSDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o DiscoverRDSDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.DiscoverRDSDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.DiscoverRDSDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this discover RDS default body details items0 @@ -367,6 +513,11 @@ func (o *DiscoverRDSOKBody) ContextValidate(ctx context.Context, formats strfmt. func (o *DiscoverRDSOKBody) contextValidateRDSInstances(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.RDSInstances); i++ { if o.RDSInstances[i] != nil { + + if swag.IsZero(o.RDSInstances[i]) { // not required + return nil + } + if err := o.RDSInstances[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("discoverRdsOk" + "." + "rds_instances" + "." + strconv.Itoa(i)) @@ -423,7 +574,7 @@ type DiscoverRDSOKBodyRDSInstancesItems0 struct { Port int64 `json:"port,omitempty"` // DiscoverRDSEngine describes supported RDS instance engines. - // Enum: [DISCOVER_RDS_ENGINE_UNSPECIFIED DISCOVER_RDS_ENGINE_MYSQL DISCOVER_RDS_ENGINE_POSTGRESQL] + // Enum: ["DISCOVER_RDS_ENGINE_UNSPECIFIED","DISCOVER_RDS_ENGINE_MYSQL","DISCOVER_RDS_ENGINE_POSTGRESQL"] Engine *string `json:"engine,omitempty"` // Engine version. diff --git a/api/management/v1/json/client/management_service/get_node_responses.go b/api/management/v1/json/client/management_service/get_node_responses.go index b9148e8b35..052114c3ad 100644 --- a/api/management/v1/json/client/management_service/get_node_responses.go +++ b/api/management/v1/json/client/management_service/get_node_responses.go @@ -59,8 +59,44 @@ type GetNodeOK struct { Payload *GetNodeOKBody } +// IsSuccess returns true when this get node Ok response has a 2xx status code +func (o *GetNodeOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get node Ok response has a 3xx status code +func (o *GetNodeOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get node Ok response has a 4xx status code +func (o *GetNodeOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get node Ok response has a 5xx status code +func (o *GetNodeOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get node Ok response a status code equal to that given +func (o *GetNodeOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get node Ok response +func (o *GetNodeOK) Code() int { + return 200 +} + func (o *GetNodeOK) Error() string { - return fmt.Sprintf("[GET /v1/management/nodes/{node_id}][%d] getNodeOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/management/nodes/{node_id}][%d] getNodeOk %s", 200, payload) +} + +func (o *GetNodeOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/management/nodes/{node_id}][%d] getNodeOk %s", 200, payload) } func (o *GetNodeOK) GetPayload() *GetNodeOKBody { @@ -96,13 +132,44 @@ type GetNodeDefault struct { Payload *GetNodeDefaultBody } +// IsSuccess returns true when this get node default response has a 2xx status code +func (o *GetNodeDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this get node default response has a 3xx status code +func (o *GetNodeDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this get node default response has a 4xx status code +func (o *GetNodeDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this get node default response has a 5xx status code +func (o *GetNodeDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this get node default response a status code equal to that given +func (o *GetNodeDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the get node default response func (o *GetNodeDefault) Code() int { return o._statusCode } func (o *GetNodeDefault) Error() string { - return fmt.Sprintf("[GET /v1/management/nodes/{node_id}][%d] GetNode default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/management/nodes/{node_id}][%d] GetNode default %s", o._statusCode, payload) +} + +func (o *GetNodeDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/management/nodes/{node_id}][%d] GetNode default %s", o._statusCode, payload) } func (o *GetNodeDefault) GetPayload() *GetNodeDefaultBody { @@ -192,6 +259,11 @@ func (o *GetNodeDefaultBody) ContextValidate(ctx context.Context, formats strfmt func (o *GetNodeDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("GetNode default" + "." + "details" + "." + strconv.Itoa(i)) @@ -231,6 +303,80 @@ swagger:model GetNodeDefaultBodyDetailsItems0 type GetNodeDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // get node default body details items0 + GetNodeDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *GetNodeDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv GetNodeDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.GetNodeDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o GetNodeDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.GetNodeDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.GetNodeDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this get node default body details items0 @@ -319,6 +465,11 @@ func (o *GetNodeOKBody) ContextValidate(ctx context.Context, formats strfmt.Regi func (o *GetNodeOKBody) contextValidateNode(ctx context.Context, formats strfmt.Registry) error { if o.Node != nil { + + if swag.IsZero(o.Node) { // not required + return nil + } + if err := o.Node.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getNodeOk" + "." + "node") @@ -405,7 +556,7 @@ type GetNodeOKBodyNode struct { // - STATUS_UP: The node is up. // - STATUS_DOWN: The node is down. // - STATUS_UNKNOWN: The node's status cannot be known (e.g. there are no metrics yet). - // Enum: [STATUS_UNSPECIFIED STATUS_UP STATUS_DOWN STATUS_UNKNOWN] + // Enum: ["STATUS_UNSPECIFIED","STATUS_UP","STATUS_DOWN","STATUS_UNKNOWN"] Status *string `json:"status,omitempty"` // List of agents related to this node. @@ -590,6 +741,11 @@ func (o *GetNodeOKBodyNode) ContextValidate(ctx context.Context, formats strfmt. func (o *GetNodeOKBodyNode) contextValidateAgents(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Agents); i++ { if o.Agents[i] != nil { + + if swag.IsZero(o.Agents[i]) { // not required + return nil + } + if err := o.Agents[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getNodeOk" + "." + "node" + "." + "agents" + "." + strconv.Itoa(i)) @@ -607,6 +763,11 @@ func (o *GetNodeOKBodyNode) contextValidateAgents(ctx context.Context, formats s func (o *GetNodeOKBodyNode) contextValidateServices(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Services); i++ { if o.Services[i] != nil { + + if swag.IsZero(o.Services[i]) { // not required + return nil + } + if err := o.Services[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getNodeOk" + "." + "node" + "." + "services" + "." + strconv.Itoa(i)) diff --git a/api/management/v1/json/client/management_service/list_agent_versions_responses.go b/api/management/v1/json/client/management_service/list_agent_versions_responses.go index 989c314387..c8e2470228 100644 --- a/api/management/v1/json/client/management_service/list_agent_versions_responses.go +++ b/api/management/v1/json/client/management_service/list_agent_versions_responses.go @@ -59,8 +59,44 @@ type ListAgentVersionsOK struct { Payload *ListAgentVersionsOKBody } +// IsSuccess returns true when this list agent versions Ok response has a 2xx status code +func (o *ListAgentVersionsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this list agent versions Ok response has a 3xx status code +func (o *ListAgentVersionsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this list agent versions Ok response has a 4xx status code +func (o *ListAgentVersionsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this list agent versions Ok response has a 5xx status code +func (o *ListAgentVersionsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this list agent versions Ok response a status code equal to that given +func (o *ListAgentVersionsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the list agent versions Ok response +func (o *ListAgentVersionsOK) Code() int { + return 200 +} + func (o *ListAgentVersionsOK) Error() string { - return fmt.Sprintf("[GET /v1/management/agents/versions][%d] listAgentVersionsOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/management/agents/versions][%d] listAgentVersionsOk %s", 200, payload) +} + +func (o *ListAgentVersionsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/management/agents/versions][%d] listAgentVersionsOk %s", 200, payload) } func (o *ListAgentVersionsOK) GetPayload() *ListAgentVersionsOKBody { @@ -96,13 +132,44 @@ type ListAgentVersionsDefault struct { Payload *ListAgentVersionsDefaultBody } +// IsSuccess returns true when this list agent versions default response has a 2xx status code +func (o *ListAgentVersionsDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this list agent versions default response has a 3xx status code +func (o *ListAgentVersionsDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this list agent versions default response has a 4xx status code +func (o *ListAgentVersionsDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this list agent versions default response has a 5xx status code +func (o *ListAgentVersionsDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this list agent versions default response a status code equal to that given +func (o *ListAgentVersionsDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the list agent versions default response func (o *ListAgentVersionsDefault) Code() int { return o._statusCode } func (o *ListAgentVersionsDefault) Error() string { - return fmt.Sprintf("[GET /v1/management/agents/versions][%d] ListAgentVersions default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/management/agents/versions][%d] ListAgentVersions default %s", o._statusCode, payload) +} + +func (o *ListAgentVersionsDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/management/agents/versions][%d] ListAgentVersions default %s", o._statusCode, payload) } func (o *ListAgentVersionsDefault) GetPayload() *ListAgentVersionsDefaultBody { @@ -192,6 +259,11 @@ func (o *ListAgentVersionsDefaultBody) ContextValidate(ctx context.Context, form func (o *ListAgentVersionsDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ListAgentVersions default" + "." + "details" + "." + strconv.Itoa(i)) @@ -231,6 +303,80 @@ swagger:model ListAgentVersionsDefaultBodyDetailsItems0 type ListAgentVersionsDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // list agent versions default body details items0 + ListAgentVersionsDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ListAgentVersionsDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ListAgentVersionsDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ListAgentVersionsDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ListAgentVersionsDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ListAgentVersionsDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ListAgentVersionsDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this list agent versions default body details items0 @@ -327,6 +473,11 @@ func (o *ListAgentVersionsOKBody) ContextValidate(ctx context.Context, formats s func (o *ListAgentVersionsOKBody) contextValidateAgentVersions(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.AgentVersions); i++ { if o.AgentVersions[i] != nil { + + if swag.IsZero(o.AgentVersions[i]) { // not required + return nil + } + if err := o.AgentVersions[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listAgentVersionsOk" + "." + "agent_versions" + "." + strconv.Itoa(i)) @@ -377,7 +528,7 @@ type ListAgentVersionsOKBodyAgentVersionsItems0 struct { // - UPDATE_SEVERITY_UP_TO_DATE: The client version matches the server version. // - UPDATE_SEVERITY_REQUIRED: The client's minor or patch version is older. // - UPDATE_SEVERITY_CRITICAL: The client's major version is older. - // Enum: [UPDATE_SEVERITY_UNSPECIFIED UPDATE_SEVERITY_UNSUPPORTED UPDATE_SEVERITY_UP_TO_DATE UPDATE_SEVERITY_REQUIRED UPDATE_SEVERITY_CRITICAL] + // Enum: ["UPDATE_SEVERITY_UNSPECIFIED","UPDATE_SEVERITY_UNSUPPORTED","UPDATE_SEVERITY_UP_TO_DATE","UPDATE_SEVERITY_REQUIRED","UPDATE_SEVERITY_CRITICAL"] Severity *string `json:"severity,omitempty"` } diff --git a/api/management/v1/json/client/management_service/list_agents_responses.go b/api/management/v1/json/client/management_service/list_agents_responses.go index 9427bbe3da..cbf07d5dfa 100644 --- a/api/management/v1/json/client/management_service/list_agents_responses.go +++ b/api/management/v1/json/client/management_service/list_agents_responses.go @@ -7,6 +7,7 @@ package management_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -58,8 +59,44 @@ type ListAgentsOK struct { Payload *ListAgentsOKBody } +// IsSuccess returns true when this list agents Ok response has a 2xx status code +func (o *ListAgentsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this list agents Ok response has a 3xx status code +func (o *ListAgentsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this list agents Ok response has a 4xx status code +func (o *ListAgentsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this list agents Ok response has a 5xx status code +func (o *ListAgentsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this list agents Ok response a status code equal to that given +func (o *ListAgentsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the list agents Ok response +func (o *ListAgentsOK) Code() int { + return 200 +} + func (o *ListAgentsOK) Error() string { - return fmt.Sprintf("[GET /v1/management/agents][%d] listAgentsOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/management/agents][%d] listAgentsOk %s", 200, payload) +} + +func (o *ListAgentsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/management/agents][%d] listAgentsOk %s", 200, payload) } func (o *ListAgentsOK) GetPayload() *ListAgentsOKBody { @@ -95,13 +132,44 @@ type ListAgentsDefault struct { Payload *ListAgentsDefaultBody } +// IsSuccess returns true when this list agents default response has a 2xx status code +func (o *ListAgentsDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this list agents default response has a 3xx status code +func (o *ListAgentsDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this list agents default response has a 4xx status code +func (o *ListAgentsDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this list agents default response has a 5xx status code +func (o *ListAgentsDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this list agents default response a status code equal to that given +func (o *ListAgentsDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the list agents default response func (o *ListAgentsDefault) Code() int { return o._statusCode } func (o *ListAgentsDefault) Error() string { - return fmt.Sprintf("[GET /v1/management/agents][%d] ListAgents default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/management/agents][%d] ListAgents default %s", o._statusCode, payload) +} + +func (o *ListAgentsDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/management/agents][%d] ListAgents default %s", o._statusCode, payload) } func (o *ListAgentsDefault) GetPayload() *ListAgentsDefaultBody { @@ -191,6 +259,11 @@ func (o *ListAgentsDefaultBody) ContextValidate(ctx context.Context, formats str func (o *ListAgentsDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ListAgents default" + "." + "details" + "." + strconv.Itoa(i)) @@ -230,6 +303,80 @@ swagger:model ListAgentsDefaultBodyDetailsItems0 type ListAgentsDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // list agents default body details items0 + ListAgentsDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ListAgentsDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ListAgentsDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ListAgentsDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ListAgentsDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ListAgentsDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ListAgentsDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this list agents default body details items0 @@ -326,6 +473,11 @@ func (o *ListAgentsOKBody) ContextValidate(ctx context.Context, formats strfmt.R func (o *ListAgentsOKBody) contextValidateAgents(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Agents); i++ { if o.Agents[i] != nil { + + if swag.IsZero(o.Agents[i]) { // not required + return nil + } + if err := o.Agents[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listAgentsOk" + "." + "agents" + "." + strconv.Itoa(i)) @@ -650,6 +802,11 @@ func (o *ListAgentsOKBodyAgentsItems0) ContextValidate(ctx context.Context, form func (o *ListAgentsOKBodyAgentsItems0) contextValidateAzureOptions(ctx context.Context, formats strfmt.Registry) error { if o.AzureOptions != nil { + + if swag.IsZero(o.AzureOptions) { // not required + return nil + } + if err := o.AzureOptions.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("azure_options") @@ -665,6 +822,11 @@ func (o *ListAgentsOKBodyAgentsItems0) contextValidateAzureOptions(ctx context.C func (o *ListAgentsOKBodyAgentsItems0) contextValidateMongoDBOptions(ctx context.Context, formats strfmt.Registry) error { if o.MongoDBOptions != nil { + + if swag.IsZero(o.MongoDBOptions) { // not required + return nil + } + if err := o.MongoDBOptions.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("mongo_db_options") @@ -680,6 +842,11 @@ func (o *ListAgentsOKBodyAgentsItems0) contextValidateMongoDBOptions(ctx context func (o *ListAgentsOKBodyAgentsItems0) contextValidateMysqlOptions(ctx context.Context, formats strfmt.Registry) error { if o.MysqlOptions != nil { + + if swag.IsZero(o.MysqlOptions) { // not required + return nil + } + if err := o.MysqlOptions.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("mysql_options") @@ -695,6 +862,11 @@ func (o *ListAgentsOKBodyAgentsItems0) contextValidateMysqlOptions(ctx context.C func (o *ListAgentsOKBodyAgentsItems0) contextValidatePostgresqlOptions(ctx context.Context, formats strfmt.Registry) error { if o.PostgresqlOptions != nil { + + if swag.IsZero(o.PostgresqlOptions) { // not required + return nil + } + if err := o.PostgresqlOptions.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("postgresql_options") diff --git a/api/management/v1/json/client/management_service/list_nodes_responses.go b/api/management/v1/json/client/management_service/list_nodes_responses.go index 1419f11488..a9ca575d18 100644 --- a/api/management/v1/json/client/management_service/list_nodes_responses.go +++ b/api/management/v1/json/client/management_service/list_nodes_responses.go @@ -59,8 +59,44 @@ type ListNodesOK struct { Payload *ListNodesOKBody } +// IsSuccess returns true when this list nodes Ok response has a 2xx status code +func (o *ListNodesOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this list nodes Ok response has a 3xx status code +func (o *ListNodesOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this list nodes Ok response has a 4xx status code +func (o *ListNodesOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this list nodes Ok response has a 5xx status code +func (o *ListNodesOK) IsServerError() bool { + return false +} + +// IsCode returns true when this list nodes Ok response a status code equal to that given +func (o *ListNodesOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the list nodes Ok response +func (o *ListNodesOK) Code() int { + return 200 +} + func (o *ListNodesOK) Error() string { - return fmt.Sprintf("[GET /v1/management/nodes][%d] listNodesOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/management/nodes][%d] listNodesOk %s", 200, payload) +} + +func (o *ListNodesOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/management/nodes][%d] listNodesOk %s", 200, payload) } func (o *ListNodesOK) GetPayload() *ListNodesOKBody { @@ -96,13 +132,44 @@ type ListNodesDefault struct { Payload *ListNodesDefaultBody } +// IsSuccess returns true when this list nodes default response has a 2xx status code +func (o *ListNodesDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this list nodes default response has a 3xx status code +func (o *ListNodesDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this list nodes default response has a 4xx status code +func (o *ListNodesDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this list nodes default response has a 5xx status code +func (o *ListNodesDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this list nodes default response a status code equal to that given +func (o *ListNodesDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the list nodes default response func (o *ListNodesDefault) Code() int { return o._statusCode } func (o *ListNodesDefault) Error() string { - return fmt.Sprintf("[GET /v1/management/nodes][%d] ListNodes default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/management/nodes][%d] ListNodes default %s", o._statusCode, payload) +} + +func (o *ListNodesDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/management/nodes][%d] ListNodes default %s", o._statusCode, payload) } func (o *ListNodesDefault) GetPayload() *ListNodesDefaultBody { @@ -192,6 +259,11 @@ func (o *ListNodesDefaultBody) ContextValidate(ctx context.Context, formats strf func (o *ListNodesDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ListNodes default" + "." + "details" + "." + strconv.Itoa(i)) @@ -231,6 +303,80 @@ swagger:model ListNodesDefaultBodyDetailsItems0 type ListNodesDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // list nodes default body details items0 + ListNodesDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ListNodesDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ListNodesDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ListNodesDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ListNodesDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ListNodesDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ListNodesDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this list nodes default body details items0 @@ -327,6 +473,11 @@ func (o *ListNodesOKBody) ContextValidate(ctx context.Context, formats strfmt.Re func (o *ListNodesOKBody) contextValidateNodes(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Nodes); i++ { if o.Nodes[i] != nil { + + if swag.IsZero(o.Nodes[i]) { // not required + return nil + } + if err := o.Nodes[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listNodesOk" + "." + "nodes" + "." + strconv.Itoa(i)) @@ -414,7 +565,7 @@ type ListNodesOKBodyNodesItems0 struct { // - STATUS_UP: The node is up. // - STATUS_DOWN: The node is down. // - STATUS_UNKNOWN: The node's status cannot be known (e.g. there are no metrics yet). - // Enum: [STATUS_UNSPECIFIED STATUS_UP STATUS_DOWN STATUS_UNKNOWN] + // Enum: ["STATUS_UNSPECIFIED","STATUS_UP","STATUS_DOWN","STATUS_UNKNOWN"] Status *string `json:"status,omitempty"` // List of agents related to this node. @@ -599,6 +750,11 @@ func (o *ListNodesOKBodyNodesItems0) ContextValidate(ctx context.Context, format func (o *ListNodesOKBodyNodesItems0) contextValidateAgents(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Agents); i++ { if o.Agents[i] != nil { + + if swag.IsZero(o.Agents[i]) { // not required + return nil + } + if err := o.Agents[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("agents" + "." + strconv.Itoa(i)) @@ -616,6 +772,11 @@ func (o *ListNodesOKBodyNodesItems0) contextValidateAgents(ctx context.Context, func (o *ListNodesOKBodyNodesItems0) contextValidateServices(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Services); i++ { if o.Services[i] != nil { + + if swag.IsZero(o.Services[i]) { // not required + return nil + } + if err := o.Services[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("services" + "." + strconv.Itoa(i)) diff --git a/api/management/v1/json/client/management_service/list_services_responses.go b/api/management/v1/json/client/management_service/list_services_responses.go index cbd5983966..c18a94bd4f 100644 --- a/api/management/v1/json/client/management_service/list_services_responses.go +++ b/api/management/v1/json/client/management_service/list_services_responses.go @@ -59,8 +59,44 @@ type ListServicesOK struct { Payload *ListServicesOKBody } +// IsSuccess returns true when this list services Ok response has a 2xx status code +func (o *ListServicesOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this list services Ok response has a 3xx status code +func (o *ListServicesOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this list services Ok response has a 4xx status code +func (o *ListServicesOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this list services Ok response has a 5xx status code +func (o *ListServicesOK) IsServerError() bool { + return false +} + +// IsCode returns true when this list services Ok response a status code equal to that given +func (o *ListServicesOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the list services Ok response +func (o *ListServicesOK) Code() int { + return 200 +} + func (o *ListServicesOK) Error() string { - return fmt.Sprintf("[GET /v1/management/services][%d] listServicesOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/management/services][%d] listServicesOk %s", 200, payload) +} + +func (o *ListServicesOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/management/services][%d] listServicesOk %s", 200, payload) } func (o *ListServicesOK) GetPayload() *ListServicesOKBody { @@ -96,13 +132,44 @@ type ListServicesDefault struct { Payload *ListServicesDefaultBody } +// IsSuccess returns true when this list services default response has a 2xx status code +func (o *ListServicesDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this list services default response has a 3xx status code +func (o *ListServicesDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this list services default response has a 4xx status code +func (o *ListServicesDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this list services default response has a 5xx status code +func (o *ListServicesDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this list services default response a status code equal to that given +func (o *ListServicesDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the list services default response func (o *ListServicesDefault) Code() int { return o._statusCode } func (o *ListServicesDefault) Error() string { - return fmt.Sprintf("[GET /v1/management/services][%d] ListServices default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/management/services][%d] ListServices default %s", o._statusCode, payload) +} + +func (o *ListServicesDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/management/services][%d] ListServices default %s", o._statusCode, payload) } func (o *ListServicesDefault) GetPayload() *ListServicesDefaultBody { @@ -192,6 +259,11 @@ func (o *ListServicesDefaultBody) ContextValidate(ctx context.Context, formats s func (o *ListServicesDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ListServices default" + "." + "details" + "." + strconv.Itoa(i)) @@ -231,6 +303,80 @@ swagger:model ListServicesDefaultBodyDetailsItems0 type ListServicesDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // list services default body details items0 + ListServicesDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ListServicesDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ListServicesDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ListServicesDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ListServicesDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ListServicesDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ListServicesDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this list services default body details items0 @@ -327,6 +473,11 @@ func (o *ListServicesOKBody) ContextValidate(ctx context.Context, formats strfmt func (o *ListServicesOKBody) contextValidateServices(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Services); i++ { if o.Services[i] != nil { + + if swag.IsZero(o.Services[i]) { // not required + return nil + } + if err := o.Services[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listServicesOk" + "." + "services" + "." + strconv.Itoa(i)) @@ -426,7 +577,7 @@ type ListServicesOKBodyServicesItems0 struct { // - STATUS_UP: The service is up. // - STATUS_DOWN: The service is down. // - STATUS_UNKNOWN: The service's status cannot be known (e.g. there are no metrics yet). - // Enum: [STATUS_UNSPECIFIED STATUS_UP STATUS_DOWN STATUS_UNKNOWN] + // Enum: ["STATUS_UNSPECIFIED","STATUS_UP","STATUS_DOWN","STATUS_UNKNOWN"] Status *string `json:"status,omitempty"` // The service/database version. @@ -574,6 +725,11 @@ func (o *ListServicesOKBodyServicesItems0) ContextValidate(ctx context.Context, func (o *ListServicesOKBodyServicesItems0) contextValidateAgents(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Agents); i++ { if o.Agents[i] != nil { + + if swag.IsZero(o.Agents[i]) { // not required + return nil + } + if err := o.Agents[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("agents" + "." + strconv.Itoa(i)) @@ -898,6 +1054,11 @@ func (o *ListServicesOKBodyServicesItems0AgentsItems0) ContextValidate(ctx conte func (o *ListServicesOKBodyServicesItems0AgentsItems0) contextValidateAzureOptions(ctx context.Context, formats strfmt.Registry) error { if o.AzureOptions != nil { + + if swag.IsZero(o.AzureOptions) { // not required + return nil + } + if err := o.AzureOptions.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("azure_options") @@ -913,6 +1074,11 @@ func (o *ListServicesOKBodyServicesItems0AgentsItems0) contextValidateAzureOptio func (o *ListServicesOKBodyServicesItems0AgentsItems0) contextValidateMongoDBOptions(ctx context.Context, formats strfmt.Registry) error { if o.MongoDBOptions != nil { + + if swag.IsZero(o.MongoDBOptions) { // not required + return nil + } + if err := o.MongoDBOptions.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("mongo_db_options") @@ -928,6 +1094,11 @@ func (o *ListServicesOKBodyServicesItems0AgentsItems0) contextValidateMongoDBOpt func (o *ListServicesOKBodyServicesItems0AgentsItems0) contextValidateMysqlOptions(ctx context.Context, formats strfmt.Registry) error { if o.MysqlOptions != nil { + + if swag.IsZero(o.MysqlOptions) { // not required + return nil + } + if err := o.MysqlOptions.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("mysql_options") @@ -943,6 +1114,11 @@ func (o *ListServicesOKBodyServicesItems0AgentsItems0) contextValidateMysqlOptio func (o *ListServicesOKBodyServicesItems0AgentsItems0) contextValidatePostgresqlOptions(ctx context.Context, formats strfmt.Registry) error { if o.PostgresqlOptions != nil { + + if swag.IsZero(o.PostgresqlOptions) { // not required + return nil + } + if err := o.PostgresqlOptions.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("postgresql_options") diff --git a/api/management/v1/json/client/management_service/management_service_client.go b/api/management/v1/json/client/management_service/management_service_client.go index 3fedc6bbc0..acc985fd9b 100644 --- a/api/management/v1/json/client/management_service/management_service_client.go +++ b/api/management/v1/json/client/management_service/management_service_client.go @@ -7,6 +7,7 @@ package management_service import ( "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" ) @@ -15,6 +16,31 @@ func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientServi return &Client{transport: transport, formats: formats} } +// New creates a new management service API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new management service API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + /* Client for management service API */ @@ -23,7 +49,7 @@ type Client struct { formats strfmt.Registry } -// ClientOption is the option for Client methods +// ClientOption may be used to customize the behavior of Client methods. type ClientOption func(*runtime.ClientOperation) // ClientService is the interface for Client methods diff --git a/api/management/v1/json/client/management_service/register_node_responses.go b/api/management/v1/json/client/management_service/register_node_responses.go index 7c95da6106..290a1e219e 100644 --- a/api/management/v1/json/client/management_service/register_node_responses.go +++ b/api/management/v1/json/client/management_service/register_node_responses.go @@ -59,8 +59,44 @@ type RegisterNodeOK struct { Payload *RegisterNodeOKBody } +// IsSuccess returns true when this register node Ok response has a 2xx status code +func (o *RegisterNodeOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this register node Ok response has a 3xx status code +func (o *RegisterNodeOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this register node Ok response has a 4xx status code +func (o *RegisterNodeOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this register node Ok response has a 5xx status code +func (o *RegisterNodeOK) IsServerError() bool { + return false +} + +// IsCode returns true when this register node Ok response a status code equal to that given +func (o *RegisterNodeOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the register node Ok response +func (o *RegisterNodeOK) Code() int { + return 200 +} + func (o *RegisterNodeOK) Error() string { - return fmt.Sprintf("[POST /v1/management/nodes][%d] registerNodeOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/nodes][%d] registerNodeOk %s", 200, payload) +} + +func (o *RegisterNodeOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/nodes][%d] registerNodeOk %s", 200, payload) } func (o *RegisterNodeOK) GetPayload() *RegisterNodeOKBody { @@ -96,13 +132,44 @@ type RegisterNodeDefault struct { Payload *RegisterNodeDefaultBody } +// IsSuccess returns true when this register node default response has a 2xx status code +func (o *RegisterNodeDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this register node default response has a 3xx status code +func (o *RegisterNodeDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this register node default response has a 4xx status code +func (o *RegisterNodeDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this register node default response has a 5xx status code +func (o *RegisterNodeDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this register node default response a status code equal to that given +func (o *RegisterNodeDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the register node default response func (o *RegisterNodeDefault) Code() int { return o._statusCode } func (o *RegisterNodeDefault) Error() string { - return fmt.Sprintf("[POST /v1/management/nodes][%d] RegisterNode default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/nodes][%d] RegisterNode default %s", o._statusCode, payload) +} + +func (o *RegisterNodeDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/management/nodes][%d] RegisterNode default %s", o._statusCode, payload) } func (o *RegisterNodeDefault) GetPayload() *RegisterNodeDefaultBody { @@ -126,7 +193,7 @@ swagger:model RegisterNodeBody */ type RegisterNodeBody struct { // NodeType describes supported Node types. - // Enum: [NODE_TYPE_UNSPECIFIED NODE_TYPE_GENERIC_NODE NODE_TYPE_CONTAINER_NODE NODE_TYPE_REMOTE_NODE NODE_TYPE_REMOTE_RDS_NODE NODE_TYPE_REMOTE_AZURE_DATABASE_NODE] + // Enum: ["NODE_TYPE_UNSPECIFIED","NODE_TYPE_GENERIC_NODE","NODE_TYPE_CONTAINER_NODE","NODE_TYPE_REMOTE_NODE","NODE_TYPE_REMOTE_RDS_NODE","NODE_TYPE_REMOTE_AZURE_DATABASE_NODE"] NodeType *string `json:"node_type,omitempty"` // A user-defined name unique across all Nodes. @@ -166,7 +233,7 @@ type RegisterNodeBody struct { // it can be pull, push or auto mode chosen by server. // // - METRICS_MODE_UNSPECIFIED: Auto - // Enum: [METRICS_MODE_UNSPECIFIED METRICS_MODE_PULL METRICS_MODE_PUSH] + // Enum: ["METRICS_MODE_UNSPECIFIED","METRICS_MODE_PULL","METRICS_MODE_PUSH"] MetricsMode *string `json:"metrics_mode,omitempty"` // List of collector names to disable in this exporter. @@ -391,6 +458,11 @@ func (o *RegisterNodeDefaultBody) ContextValidate(ctx context.Context, formats s func (o *RegisterNodeDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("RegisterNode default" + "." + "details" + "." + strconv.Itoa(i)) @@ -430,6 +502,80 @@ swagger:model RegisterNodeDefaultBodyDetailsItems0 type RegisterNodeDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // register node default body details items0 + RegisterNodeDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *RegisterNodeDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv RegisterNodeDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.RegisterNodeDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o RegisterNodeDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.RegisterNodeDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.RegisterNodeDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this register node default body details items0 @@ -584,6 +730,11 @@ func (o *RegisterNodeOKBody) ContextValidate(ctx context.Context, formats strfmt func (o *RegisterNodeOKBody) contextValidateContainerNode(ctx context.Context, formats strfmt.Registry) error { if o.ContainerNode != nil { + + if swag.IsZero(o.ContainerNode) { // not required + return nil + } + if err := o.ContainerNode.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("registerNodeOk" + "." + "container_node") @@ -599,6 +750,11 @@ func (o *RegisterNodeOKBody) contextValidateContainerNode(ctx context.Context, f func (o *RegisterNodeOKBody) contextValidateGenericNode(ctx context.Context, formats strfmt.Registry) error { if o.GenericNode != nil { + + if swag.IsZero(o.GenericNode) { // not required + return nil + } + if err := o.GenericNode.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("registerNodeOk" + "." + "generic_node") @@ -614,6 +770,11 @@ func (o *RegisterNodeOKBody) contextValidateGenericNode(ctx context.Context, for func (o *RegisterNodeOKBody) contextValidatePMMAgent(ctx context.Context, formats strfmt.Registry) error { if o.PMMAgent != nil { + + if swag.IsZero(o.PMMAgent) { // not required + return nil + } + if err := o.PMMAgent.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("registerNodeOk" + "." + "pmm_agent") diff --git a/api/management/v1/json/client/management_service/remove_service_responses.go b/api/management/v1/json/client/management_service/remove_service_responses.go index c5dbf4c32a..39934d4575 100644 --- a/api/management/v1/json/client/management_service/remove_service_responses.go +++ b/api/management/v1/json/client/management_service/remove_service_responses.go @@ -7,6 +7,7 @@ package management_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type RemoveServiceOK struct { Payload interface{} } +// IsSuccess returns true when this remove service Ok response has a 2xx status code +func (o *RemoveServiceOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this remove service Ok response has a 3xx status code +func (o *RemoveServiceOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this remove service Ok response has a 4xx status code +func (o *RemoveServiceOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this remove service Ok response has a 5xx status code +func (o *RemoveServiceOK) IsServerError() bool { + return false +} + +// IsCode returns true when this remove service Ok response a status code equal to that given +func (o *RemoveServiceOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the remove service Ok response +func (o *RemoveServiceOK) Code() int { + return 200 +} + func (o *RemoveServiceOK) Error() string { - return fmt.Sprintf("[DELETE /v1/management/services/{service_id}][%d] removeServiceOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/management/services/{service_id}][%d] removeServiceOk %s", 200, payload) +} + +func (o *RemoveServiceOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/management/services/{service_id}][%d] removeServiceOk %s", 200, payload) } func (o *RemoveServiceOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type RemoveServiceDefault struct { Payload *RemoveServiceDefaultBody } +// IsSuccess returns true when this remove service default response has a 2xx status code +func (o *RemoveServiceDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this remove service default response has a 3xx status code +func (o *RemoveServiceDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this remove service default response has a 4xx status code +func (o *RemoveServiceDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this remove service default response has a 5xx status code +func (o *RemoveServiceDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this remove service default response a status code equal to that given +func (o *RemoveServiceDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the remove service default response func (o *RemoveServiceDefault) Code() int { return o._statusCode } func (o *RemoveServiceDefault) Error() string { - return fmt.Sprintf("[DELETE /v1/management/services/{service_id}][%d] RemoveService default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/management/services/{service_id}][%d] RemoveService default %s", o._statusCode, payload) +} + +func (o *RemoveServiceDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/management/services/{service_id}][%d] RemoveService default %s", o._statusCode, payload) } func (o *RemoveServiceDefault) GetPayload() *RemoveServiceDefaultBody { @@ -188,6 +256,11 @@ func (o *RemoveServiceDefaultBody) ContextValidate(ctx context.Context, formats func (o *RemoveServiceDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("RemoveService default" + "." + "details" + "." + strconv.Itoa(i)) @@ -227,6 +300,80 @@ swagger:model RemoveServiceDefaultBodyDetailsItems0 type RemoveServiceDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // remove service default body details items0 + RemoveServiceDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *RemoveServiceDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv RemoveServiceDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.RemoveServiceDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o RemoveServiceDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.RemoveServiceDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.RemoveServiceDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this remove service default body details items0 diff --git a/api/management/v1/json/client/management_service/unregister_node_responses.go b/api/management/v1/json/client/management_service/unregister_node_responses.go index eba7189b7a..4b94542ee5 100644 --- a/api/management/v1/json/client/management_service/unregister_node_responses.go +++ b/api/management/v1/json/client/management_service/unregister_node_responses.go @@ -7,6 +7,7 @@ package management_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type UnregisterNodeOK struct { Payload *UnregisterNodeOKBody } +// IsSuccess returns true when this unregister node Ok response has a 2xx status code +func (o *UnregisterNodeOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this unregister node Ok response has a 3xx status code +func (o *UnregisterNodeOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this unregister node Ok response has a 4xx status code +func (o *UnregisterNodeOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this unregister node Ok response has a 5xx status code +func (o *UnregisterNodeOK) IsServerError() bool { + return false +} + +// IsCode returns true when this unregister node Ok response a status code equal to that given +func (o *UnregisterNodeOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the unregister node Ok response +func (o *UnregisterNodeOK) Code() int { + return 200 +} + func (o *UnregisterNodeOK) Error() string { - return fmt.Sprintf("[DELETE /v1/management/nodes/{node_id}][%d] unregisterNodeOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/management/nodes/{node_id}][%d] unregisterNodeOk %s", 200, payload) +} + +func (o *UnregisterNodeOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/management/nodes/{node_id}][%d] unregisterNodeOk %s", 200, payload) } func (o *UnregisterNodeOK) GetPayload() *UnregisterNodeOKBody { @@ -94,13 +131,44 @@ type UnregisterNodeDefault struct { Payload *UnregisterNodeDefaultBody } +// IsSuccess returns true when this unregister node default response has a 2xx status code +func (o *UnregisterNodeDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this unregister node default response has a 3xx status code +func (o *UnregisterNodeDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this unregister node default response has a 4xx status code +func (o *UnregisterNodeDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this unregister node default response has a 5xx status code +func (o *UnregisterNodeDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this unregister node default response a status code equal to that given +func (o *UnregisterNodeDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the unregister node default response func (o *UnregisterNodeDefault) Code() int { return o._statusCode } func (o *UnregisterNodeDefault) Error() string { - return fmt.Sprintf("[DELETE /v1/management/nodes/{node_id}][%d] UnregisterNode default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/management/nodes/{node_id}][%d] UnregisterNode default %s", o._statusCode, payload) +} + +func (o *UnregisterNodeDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /v1/management/nodes/{node_id}][%d] UnregisterNode default %s", o._statusCode, payload) } func (o *UnregisterNodeDefault) GetPayload() *UnregisterNodeDefaultBody { @@ -190,6 +258,11 @@ func (o *UnregisterNodeDefaultBody) ContextValidate(ctx context.Context, formats func (o *UnregisterNodeDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("UnregisterNode default" + "." + "details" + "." + strconv.Itoa(i)) @@ -229,6 +302,80 @@ swagger:model UnregisterNodeDefaultBodyDetailsItems0 type UnregisterNodeDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // unregister node default body details items0 + UnregisterNodeDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *UnregisterNodeDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv UnregisterNodeDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.UnregisterNodeDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o UnregisterNodeDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.UnregisterNodeDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.UnregisterNodeDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this unregister node default body details items0 diff --git a/api/management/v1/json/v1.json b/api/management/v1/json/v1.json index 9b8ed40bf8..46faec53a7 100644 --- a/api/management/v1/json/v1.json +++ b/api/management/v1/json/v1.json @@ -54,6 +54,11 @@ "type": "string", "x-order": 0 }, + "is_agent_password_set": { + "description": "True if the agent password is set.", + "type": "boolean", + "x-order": 1 + }, "agent_type": { "description": "Agent type.", "type": "string", @@ -64,6 +69,11 @@ "type": "string", "x-order": 3 }, + "is_aws_secret_key_set": { + "description": "True if AWS Secret Key is set.", + "type": "boolean", + "x-order": 4 + }, "azure_options": { "type": "object", "properties": { @@ -95,11 +105,6 @@ }, "x-order": 5 }, - "comments_parsing_disabled": { - "description": "True if query comments parsing is disabled.", - "type": "boolean", - "x-order": 25 - }, "created_at": { "description": "Creation timestamp.", "type": "string", @@ -127,31 +132,6 @@ }, "x-order": 9 }, - "expose_exporter": { - "description": "True if an exporter agent is exposed on all host addresses.", - "type": "boolean", - "x-order": 39 - }, - "is_agent_password_set": { - "description": "True if the agent password is set.", - "type": "boolean", - "x-order": 1 - }, - "is_aws_secret_key_set": { - "description": "True if AWS Secret Key is set.", - "type": "boolean", - "x-order": 4 - }, - "is_connected": { - "description": "True if Agent is running and connected to pmm-managed.", - "type": "boolean", - "x-order": 38 - }, - "is_password_set": { - "description": "True if password for connecting the agent to the database is set.", - "type": "boolean", - "x-order": 19 - }, "listen_port": { "description": "Listen port for scraping metrics.", "type": "integer", @@ -188,16 +168,34 @@ "mongo_db_options": { "type": "object", "properties": { - "authentication_database": { - "description": "MongoDB auth database.", - "type": "string", - "x-order": 3 + "is_tls_certificate_key_set": { + "description": "True if TLS certificate is set.", + "type": "boolean", + "x-order": 0 + }, + "is_tls_certificate_key_file_password_set": { + "description": "True if TLS certificate file password is set.", + "type": "boolean", + "x-order": 1 }, "authentication_mechanism": { "description": "MongoDB auth mechanism.", "type": "string", "x-order": 2 }, + "authentication_database": { + "description": "MongoDB auth database.", + "type": "string", + "x-order": 3 + }, + "stats_collections": { + "description": "MongoDB stats collections.", + "type": "array", + "items": { + "type": "string" + }, + "x-order": 4 + }, "collections_limit": { "description": "MongoDB collections limit.", "type": "integer", @@ -208,24 +206,6 @@ "description": "True if all collectors are enabled.", "type": "boolean", "x-order": 6 - }, - "is_tls_certificate_key_file_password_set": { - "description": "True if TLS certificate file password is set.", - "type": "boolean", - "x-order": 1 - }, - "is_tls_certificate_key_set": { - "description": "True if TLS certificate is set.", - "type": "boolean", - "x-order": 0 - }, - "stats_collections": { - "description": "MongoDB stats collections.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 4 } }, "x-order": 16 @@ -246,6 +226,11 @@ "type": "string", "x-order": 18 }, + "is_password_set": { + "description": "True if password for connecting the agent to the database is set.", + "type": "boolean", + "x-order": 19 + }, "pmm_agent_id": { "description": "The pmm-agent identifier.", "type": "string", @@ -254,17 +239,17 @@ "postgresql_options": { "type": "object", "properties": { + "is_ssl_key_set": { + "description": "True if TLS key is set.", + "type": "boolean", + "x-order": 0 + }, "auto_discovery_limit": { "description": "Limit of databases for auto-discovery.", "type": "integer", "format": "int32", "x-order": 1 }, - "is_ssl_key_set": { - "description": "True if TLS key is set.", - "type": "boolean", - "x-order": 0 - }, "max_exporter_connections": { "description": "Maximum number of connections from exporter to PostgreSQL instance.", "type": "integer", @@ -289,6 +274,11 @@ "type": "boolean", "x-order": 24 }, + "comments_parsing_disabled": { + "description": "True if query comments parsing is disabled.", + "type": "boolean", + "x-order": 25 + }, "rds_basic_metrics_disabled": { "description": "True if RDS basic metrics are disdabled.", "type": "boolean", @@ -336,21 +326,31 @@ "type": "boolean", "x-order": 34 }, + "username": { + "description": "HTTP basic auth username for collecting metrics.", + "type": "string", + "x-order": 35 + }, "updated_at": { "description": "Last update timestamp.", "type": "string", "format": "date-time", "x-order": 36 }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 35 - }, "version": { "description": "Agent version.", "type": "string", "x-order": 37 + }, + "is_connected": { + "description": "True if Agent is running and connected to pmm-managed.", + "type": "boolean", + "x-order": 38 + }, + "expose_exporter": { + "description": "True if an exporter agent is exposed on all host addresses.", + "type": "boolean", + "x-order": 39 } } }, @@ -369,6 +369,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -379,13 +383,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -418,6 +418,11 @@ "type": "string", "x-order": 0 }, + "version": { + "description": "Agent version.", + "type": "string", + "x-order": 1 + }, "node_name": { "description": "Node name where the agent runs.", "type": "string", @@ -435,11 +440,6 @@ "UPDATE_SEVERITY_CRITICAL" ], "x-order": 3 - }, - "version": { - "description": "Agent version.", - "type": "string", - "x-order": 1 } } }, @@ -458,6 +458,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -468,13 +472,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -500,6 +500,19 @@ "description": "AddAnnotationRequest is a params to add new annotation.", "type": "object", "properties": { + "text": { + "description": "An annotation description. Required.", + "type": "string", + "x-order": 0 + }, + "tags": { + "description": "Tags are used to filter annotations.", + "type": "array", + "items": { + "type": "string" + }, + "x-order": 1 + }, "node_name": { "description": "Used for annotating a node.", "type": "string", @@ -512,19 +525,6 @@ "type": "string" }, "x-order": 3 - }, - "tags": { - "description": "Tags are used to filter annotations.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 1 - }, - "text": { - "description": "An annotation description. Required.", - "type": "string", - "x-order": 0 } } } @@ -547,6 +547,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -557,13 +561,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -607,45 +607,35 @@ "items": { "type": "object", "properties": { - "address": { - "description": "Node address (DNS name or IP).", + "node_id": { + "description": "Unique Node identifier.", "type": "string", - "x-order": 8 + "x-order": 0 }, - "agents": { - "description": "List of agents related to this node.", - "type": "array", - "items": { - "type": "object", - "properties": { - "agent_id": { - "description": "Unique Agent identifier.", - "type": "string", - "x-order": 0 - }, - "agent_type": { - "description": "Agent type.", - "type": "string", - "x-order": 1 - }, - "is_connected": { - "description": "True if Agent is running and connected to pmm-managed.", - "type": "boolean", - "x-order": 3 - }, - "status": { - "description": "Actual Agent status.", - "type": "string", - "x-order": 2 - } - } - }, - "x-order": 15 + "node_type": { + "description": "Node type.", + "type": "string", + "x-order": 1 }, - "az": { - "description": "Node availability zone.", + "node_name": { + "description": "User-defined node name.", "type": "string", - "x-order": 10 + "x-order": 2 + }, + "machine_id": { + "description": "Linux machine-id.", + "type": "string", + "x-order": 3 + }, + "distro": { + "description": "Linux distribution name and version.", + "type": "string", + "x-order": 4 + }, + "node_model": { + "description": "Node model.", + "type": "string", + "x-order": 5 }, "container_id": { "description": "A node's unique docker container identifier.", @@ -657,54 +647,82 @@ "type": "string", "x-order": 7 }, - "created_at": { - "description": "Creation timestamp.", + "address": { + "description": "Node address (DNS name or IP).", "type": "string", - "format": "date-time", - "x-order": 12 + "x-order": 8 }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 11 - }, - "distro": { - "description": "Linux distribution name and version.", + "region": { + "description": "Node region.", "type": "string", - "x-order": 4 + "x-order": 9 }, - "machine_id": { - "description": "Linux machine-id.", + "az": { + "description": "Node availability zone.", "type": "string", - "x-order": 3 + "x-order": 10 }, - "node_id": { - "description": "Unique Node identifier.", - "type": "string", - "x-order": 0 + "custom_labels": { + "description": "Custom user-assigned labels for Node.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 11 }, - "node_model": { - "description": "Node model.", + "created_at": { + "description": "Creation timestamp.", "type": "string", - "x-order": 5 + "format": "date-time", + "x-order": 12 }, - "node_name": { - "description": "User-defined node name.", + "updated_at": { + "description": "Last update timestamp.", "type": "string", - "x-order": 2 + "format": "date-time", + "x-order": 13 }, - "node_type": { - "description": "Node type.", + "status": { + "description": "Node status.\n\n - STATUS_UNSPECIFIED: Invalid status.\n - STATUS_UP: The node is up.\n - STATUS_DOWN: The node is down.\n - STATUS_UNKNOWN: The node's status cannot be known (e.g. there are no metrics yet).", "type": "string", - "x-order": 1 + "default": "STATUS_UNSPECIFIED", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_UP", + "STATUS_DOWN", + "STATUS_UNKNOWN" + ], + "x-order": 14 }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 9 + "agents": { + "description": "List of agents related to this node.", + "type": "array", + "items": { + "type": "object", + "properties": { + "agent_id": { + "description": "Unique Agent identifier.", + "type": "string", + "x-order": 0 + }, + "agent_type": { + "description": "Agent type.", + "type": "string", + "x-order": 1 + }, + "status": { + "description": "Actual Agent status.", + "type": "string", + "x-order": 2 + }, + "is_connected": { + "description": "True if Agent is running and connected to pmm-managed.", + "type": "boolean", + "x-order": 3 + } + } + }, + "x-order": 15 }, "services": { "description": "List of services running on this node.", @@ -718,37 +736,19 @@ "type": "string", "x-order": 0 }, - "service_name": { - "description": "Service name.", - "type": "string", - "x-order": 2 - }, "service_type": { "description": "Service type.", "type": "string", "x-order": 1 + }, + "service_name": { + "description": "Service name.", + "type": "string", + "x-order": 2 } } }, "x-order": 16 - }, - "status": { - "description": "Node status.\n\n - STATUS_UNSPECIFIED: Invalid status.\n - STATUS_UP: The node is up.\n - STATUS_DOWN: The node is down.\n - STATUS_UNKNOWN: The node's status cannot be known (e.g. there are no metrics yet).", - "type": "string", - "default": "STATUS_UNSPECIFIED", - "enum": [ - "STATUS_UNSPECIFIED", - "STATUS_UP", - "STATUS_DOWN", - "STATUS_UNKNOWN" - ], - "x-order": 14 - }, - "updated_at": { - "description": "Last update timestamp.", - "type": "string", - "format": "date-time", - "x-order": 13 } } }, @@ -767,6 +767,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -777,13 +781,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -805,20 +805,39 @@ "schema": { "type": "object", "properties": { + "node_type": { + "description": "NodeType describes supported Node types.", + "type": "string", + "default": "NODE_TYPE_UNSPECIFIED", + "enum": [ + "NODE_TYPE_UNSPECIFIED", + "NODE_TYPE_GENERIC_NODE", + "NODE_TYPE_CONTAINER_NODE", + "NODE_TYPE_REMOTE_NODE", + "NODE_TYPE_REMOTE_RDS_NODE", + "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" + ], + "x-order": 0 + }, + "node_name": { + "description": "A user-defined name unique across all Nodes.", + "type": "string", + "x-order": 1 + }, "address": { "description": "Node address (DNS name or IP).", "type": "string", "x-order": 2 }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", + "machine_id": { + "description": "Linux machine-id.", "type": "string", - "x-order": 14 + "x-order": 3 }, - "az": { - "description": "Node availability zone.", + "distro": { + "description": "Linux distribution name and version.", "type": "string", - "x-order": 9 + "x-order": 4 }, "container_id": { "description": "Container identifier. If specified, must be a unique Docker container identifier.", @@ -830,6 +849,21 @@ "type": "string", "x-order": 6 }, + "node_model": { + "description": "Node model.", + "type": "string", + "x-order": 7 + }, + "region": { + "description": "Node region.", + "type": "string", + "x-order": 8 + }, + "az": { + "description": "Node availability zone.", + "type": "string", + "x-order": 9 + }, "custom_labels": { "description": "Custom user-assigned labels for Node.", "type": "object", @@ -838,28 +872,10 @@ }, "x-order": 10 }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 13 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 4 - }, - "expose_exporter": { + "reregister": { + "description": "If true, and Node with that name already exist, it will be removed with all dependent Services and Agents.", "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 15 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 3 + "x-order": 11 }, "metrics_mode": { "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", @@ -872,39 +888,23 @@ ], "x-order": 12 }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 7 - }, - "node_name": { - "description": "A user-defined name unique across all Nodes.", - "type": "string", - "x-order": 1 - }, - "node_type": { - "description": "NodeType describes supported Node types.", - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "x-order": 0 + "disable_collectors": { + "description": "List of collector names to disable in this exporter.", + "type": "array", + "items": { + "type": "string" + }, + "x-order": 13 }, - "region": { - "description": "Node region.", + "agent_password": { + "description": "Custom password for exporter endpoint /metrics.", "type": "string", - "x-order": 8 + "x-order": 14 }, - "reregister": { - "description": "If true, and Node with that name already exist, it will be removed with all dependent Services and Agents.", + "expose_exporter": { "type": "boolean", - "x-order": 11 + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 15 } } } @@ -916,120 +916,120 @@ "schema": { "type": "object", "properties": { - "container_node": { - "description": "ContainerNode represents a Docker container.", + "generic_node": { + "description": "GenericNode represents a bare metal server or virtual machine.", "type": "object", "properties": { + "node_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 + }, + "node_name": { + "description": "Unique across all Nodes user-defined name.", + "type": "string", + "x-order": 1 + }, "address": { "description": "Node address (DNS name or IP).", "type": "string", "x-order": 2 }, - "az": { - "description": "Node availability zone.", + "machine_id": { + "description": "Linux machine-id.", "type": "string", - "x-order": 8 + "x-order": 3 }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", + "distro": { + "description": "Linux distribution name and version.", "type": "string", "x-order": 4 }, - "container_name": { - "description": "Container name.", + "node_model": { + "description": "Node model.", "type": "string", "x-order": 5 }, + "region": { + "description": "Node region.", + "type": "string", + "x-order": 6 + }, + "az": { + "description": "Node availability zone.", + "type": "string", + "x-order": 7 + }, "custom_labels": { "description": "Custom user-assigned labels.", "type": "object", "additionalProperties": { "type": "string" }, - "x-order": 9 - }, - "machine_id": { - "description": "Linux machine-id of the Generic Node where this Container Node runs.", - "type": "string", - "x-order": 3 - }, + "x-order": 8 + } + }, + "x-order": 0 + }, + "container_node": { + "description": "ContainerNode represents a Docker container.", + "type": "object", + "properties": { "node_id": { "description": "Unique randomly generated instance identifier.", "type": "string", "x-order": 0 }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 6 - }, "node_name": { "description": "Unique across all Nodes user-defined name.", "type": "string", "x-order": 1 }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 7 - } - }, - "x-order": 1 - }, - "generic_node": { - "description": "GenericNode represents a bare metal server or virtual machine.", - "type": "object", - "properties": { "address": { "description": "Node address (DNS name or IP).", "type": "string", "x-order": 2 }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 4 - }, "machine_id": { - "description": "Linux machine-id.", + "description": "Linux machine-id of the Generic Node where this Container Node runs.", "type": "string", "x-order": 3 }, - "node_id": { - "description": "Unique randomly generated instance identifier.", + "container_id": { + "description": "Container identifier. If specified, must be a unique Docker container identifier.", "type": "string", - "x-order": 0 + "x-order": 4 }, - "node_model": { - "description": "Node model.", + "container_name": { + "description": "Container name.", "type": "string", "x-order": 5 }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", + "node_model": { + "description": "Node model.", "type": "string", - "x-order": 1 + "x-order": 6 }, "region": { "description": "Node region.", "type": "string", - "x-order": 6 + "x-order": 7 + }, + "az": { + "description": "Node availability zone.", + "type": "string", + "x-order": 8 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 9 } }, - "x-order": 0 + "x-order": 1 }, "pmm_agent": { "description": "PMMAgent runs on Generic or Container Node.", @@ -1040,10 +1040,10 @@ "type": "string", "x-order": 0 }, - "connected": { - "description": "True if Agent is running and connected to pmm-managed.", - "type": "boolean", - "x-order": 3 + "runs_on_node_id": { + "description": "Node identifier where this instance runs.", + "type": "string", + "x-order": 1 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -1053,15 +1053,15 @@ }, "x-order": 2 }, + "connected": { + "description": "True if Agent is running and connected to pmm-managed.", + "type": "boolean", + "x-order": 3 + }, "process_exec_path": { "description": "Path to exec process.", "type": "string", "x-order": 4 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 } }, "x-order": 2 @@ -1089,6 +1089,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -1099,13 +1103,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -1139,45 +1139,35 @@ "node": { "type": "object", "properties": { - "address": { - "description": "Node address (DNS name or IP).", + "node_id": { + "description": "Unique Node identifier.", "type": "string", - "x-order": 8 + "x-order": 0 }, - "agents": { - "description": "List of agents related to this node.", - "type": "array", - "items": { - "type": "object", - "properties": { - "agent_id": { - "description": "Unique Agent identifier.", - "type": "string", - "x-order": 0 - }, - "agent_type": { - "description": "Agent type.", - "type": "string", - "x-order": 1 - }, - "is_connected": { - "description": "True if Agent is running and connected to pmm-managed.", - "type": "boolean", - "x-order": 3 - }, - "status": { - "description": "Actual Agent status.", - "type": "string", - "x-order": 2 - } - } - }, - "x-order": 15 + "node_type": { + "description": "Node type.", + "type": "string", + "x-order": 1 }, - "az": { - "description": "Node availability zone.", + "node_name": { + "description": "User-defined node name.", "type": "string", - "x-order": 10 + "x-order": 2 + }, + "machine_id": { + "description": "Linux machine-id.", + "type": "string", + "x-order": 3 + }, + "distro": { + "description": "Linux distribution name and version.", + "type": "string", + "x-order": 4 + }, + "node_model": { + "description": "Node model.", + "type": "string", + "x-order": 5 }, "container_id": { "description": "A node's unique docker container identifier.", @@ -1189,11 +1179,20 @@ "type": "string", "x-order": 7 }, - "created_at": { - "description": "Creation timestamp.", + "address": { + "description": "Node address (DNS name or IP).", "type": "string", - "format": "date-time", - "x-order": 12 + "x-order": 8 + }, + "region": { + "description": "Node region.", + "type": "string", + "x-order": 9 + }, + "az": { + "description": "Node availability zone.", + "type": "string", + "x-order": 10 }, "custom_labels": { "description": "Custom user-assigned labels for Node.", @@ -1203,84 +1202,85 @@ }, "x-order": 11 }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 4 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 3 - }, - "node_id": { - "description": "Unique Node identifier.", - "type": "string", - "x-order": 0 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 5 - }, - "node_name": { - "description": "User-defined node name.", + "created_at": { + "description": "Creation timestamp.", "type": "string", - "x-order": 2 + "format": "date-time", + "x-order": 12 }, - "node_type": { - "description": "Node type.", + "updated_at": { + "description": "Last update timestamp.", "type": "string", - "x-order": 1 + "format": "date-time", + "x-order": 13 }, - "region": { - "description": "Node region.", + "status": { + "description": "Node status.\n\n - STATUS_UNSPECIFIED: Invalid status.\n - STATUS_UP: The node is up.\n - STATUS_DOWN: The node is down.\n - STATUS_UNKNOWN: The node's status cannot be known (e.g. there are no metrics yet).", "type": "string", - "x-order": 9 + "default": "STATUS_UNSPECIFIED", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_UP", + "STATUS_DOWN", + "STATUS_UNKNOWN" + ], + "x-order": 14 }, - "services": { - "description": "List of services running on this node.", + "agents": { + "description": "List of agents related to this node.", "type": "array", "items": { - "description": "Service represents a service running on a node.", "type": "object", "properties": { - "service_id": { - "description": "Unique Service identifier.", + "agent_id": { + "description": "Unique Agent identifier.", "type": "string", "x-order": 0 }, - "service_name": { - "description": "Service name.", + "agent_type": { + "description": "Agent type.", + "type": "string", + "x-order": 1 + }, + "status": { + "description": "Actual Agent status.", "type": "string", "x-order": 2 }, + "is_connected": { + "description": "True if Agent is running and connected to pmm-managed.", + "type": "boolean", + "x-order": 3 + } + } + }, + "x-order": 15 + }, + "services": { + "description": "List of services running on this node.", + "type": "array", + "items": { + "description": "Service represents a service running on a node.", + "type": "object", + "properties": { + "service_id": { + "description": "Unique Service identifier.", + "type": "string", + "x-order": 0 + }, "service_type": { "description": "Service type.", "type": "string", "x-order": 1 + }, + "service_name": { + "description": "Service name.", + "type": "string", + "x-order": 2 } } }, "x-order": 16 - }, - "status": { - "description": "Node status.\n\n - STATUS_UNSPECIFIED: Invalid status.\n - STATUS_UP: The node is up.\n - STATUS_DOWN: The node is down.\n - STATUS_UNKNOWN: The node's status cannot be known (e.g. there are no metrics yet).", - "type": "string", - "default": "STATUS_UNSPECIFIED", - "enum": [ - "STATUS_UNSPECIFIED", - "STATUS_UP", - "STATUS_DOWN", - "STATUS_UNKNOWN" - ], - "x-order": 14 - }, - "updated_at": { - "description": "Last update timestamp.", - "type": "string", - "format": "date-time", - "x-order": 13 } }, "x-order": 0 @@ -1298,6 +1298,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -1308,13 +1312,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -1367,6 +1367,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -1377,13 +1381,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -1441,11 +1441,92 @@ "items": { "type": "object", "properties": { + "service_id": { + "description": "Unique service identifier.", + "type": "string", + "x-order": 0 + }, + "service_type": { + "description": "Service type.", + "type": "string", + "x-order": 1 + }, + "service_name": { + "description": "User-defined name unique across all Services.", + "type": "string", + "x-order": 2 + }, + "database_name": { + "description": "Database name.", + "type": "string", + "x-order": 3 + }, + "node_id": { + "description": "Node identifier where this instance runs.", + "type": "string", + "x-order": 4 + }, + "node_name": { + "description": "Node name where this instance runs.", + "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 for Service.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 9 + }, + "external_group": { + "description": "External group name.", + "type": "string", + "x-order": 10 + }, "address": { "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", "type": "string", "x-order": 11 }, + "port": { + "description": "Access port.\nPort is required when the address present.", + "type": "integer", + "format": "int64", + "x-order": 12 + }, + "socket": { + "description": "Access unix socket.\nAddress (and port) or socket is required.", + "type": "string", + "x-order": 13 + }, + "created_at": { + "description": "Creation timestamp.", + "type": "string", + "format": "date-time", + "x-order": 14 + }, + "updated_at": { + "description": "Last update timestamp.", + "type": "string", + "format": "date-time", + "x-order": 15 + }, "agents": { "description": "List of agents related to this service.", "type": "array", @@ -1457,6 +1538,11 @@ "type": "string", "x-order": 0 }, + "is_agent_password_set": { + "description": "True if the agent password is set.", + "type": "boolean", + "x-order": 1 + }, "agent_type": { "description": "Agent type.", "type": "string", @@ -1467,6 +1553,11 @@ "type": "string", "x-order": 3 }, + "is_aws_secret_key_set": { + "description": "True if AWS Secret Key is set.", + "type": "boolean", + "x-order": 4 + }, "azure_options": { "type": "object", "properties": { @@ -1498,11 +1589,6 @@ }, "x-order": 5 }, - "comments_parsing_disabled": { - "description": "True if query comments parsing is disabled.", - "type": "boolean", - "x-order": 25 - }, "created_at": { "description": "Creation timestamp.", "type": "string", @@ -1530,31 +1616,6 @@ }, "x-order": 9 }, - "expose_exporter": { - "description": "True if an exporter agent is exposed on all host addresses.", - "type": "boolean", - "x-order": 39 - }, - "is_agent_password_set": { - "description": "True if the agent password is set.", - "type": "boolean", - "x-order": 1 - }, - "is_aws_secret_key_set": { - "description": "True if AWS Secret Key is set.", - "type": "boolean", - "x-order": 4 - }, - "is_connected": { - "description": "True if Agent is running and connected to pmm-managed.", - "type": "boolean", - "x-order": 38 - }, - "is_password_set": { - "description": "True if password for connecting the agent to the database is set.", - "type": "boolean", - "x-order": 19 - }, "listen_port": { "description": "Listen port for scraping metrics.", "type": "integer", @@ -1591,16 +1652,34 @@ "mongo_db_options": { "type": "object", "properties": { - "authentication_database": { - "description": "MongoDB auth database.", - "type": "string", - "x-order": 3 + "is_tls_certificate_key_set": { + "description": "True if TLS certificate is set.", + "type": "boolean", + "x-order": 0 + }, + "is_tls_certificate_key_file_password_set": { + "description": "True if TLS certificate file password is set.", + "type": "boolean", + "x-order": 1 }, "authentication_mechanism": { "description": "MongoDB auth mechanism.", "type": "string", "x-order": 2 }, + "authentication_database": { + "description": "MongoDB auth database.", + "type": "string", + "x-order": 3 + }, + "stats_collections": { + "description": "MongoDB stats collections.", + "type": "array", + "items": { + "type": "string" + }, + "x-order": 4 + }, "collections_limit": { "description": "MongoDB collections limit.", "type": "integer", @@ -1611,24 +1690,6 @@ "description": "True if all collectors are enabled.", "type": "boolean", "x-order": 6 - }, - "is_tls_certificate_key_file_password_set": { - "description": "True if TLS certificate file password is set.", - "type": "boolean", - "x-order": 1 - }, - "is_tls_certificate_key_set": { - "description": "True if TLS certificate is set.", - "type": "boolean", - "x-order": 0 - }, - "stats_collections": { - "description": "MongoDB stats collections.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 4 } }, "x-order": 16 @@ -1649,6 +1710,11 @@ "type": "string", "x-order": 18 }, + "is_password_set": { + "description": "True if password for connecting the agent to the database is set.", + "type": "boolean", + "x-order": 19 + }, "pmm_agent_id": { "description": "The pmm-agent identifier.", "type": "string", @@ -1657,17 +1723,17 @@ "postgresql_options": { "type": "object", "properties": { + "is_ssl_key_set": { + "description": "True if TLS key is set.", + "type": "boolean", + "x-order": 0 + }, "auto_discovery_limit": { "description": "Limit of databases for auto-discovery.", "type": "integer", "format": "int32", "x-order": 1 }, - "is_ssl_key_set": { - "description": "True if TLS key is set.", - "type": "boolean", - "x-order": 0 - }, "max_exporter_connections": { "description": "Maximum number of connections from exporter to PostgreSQL instance.", "type": "integer", @@ -1692,8 +1758,13 @@ "type": "boolean", "x-order": 24 }, - "rds_basic_metrics_disabled": { - "description": "True if RDS basic metrics are disdabled.", + "comments_parsing_disabled": { + "description": "True if query comments parsing is disabled.", + "type": "boolean", + "x-order": 25 + }, + "rds_basic_metrics_disabled": { + "description": "True if RDS basic metrics are disdabled.", "type": "boolean", "x-order": 26 }, @@ -1739,101 +1810,36 @@ "type": "boolean", "x-order": 34 }, + "username": { + "description": "HTTP basic auth username for collecting metrics.", + "type": "string", + "x-order": 35 + }, "updated_at": { "description": "Last update timestamp.", "type": "string", "format": "date-time", "x-order": 36 }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 35 - }, "version": { "description": "Agent version.", "type": "string", "x-order": 37 + }, + "is_connected": { + "description": "True if Agent is running and connected to pmm-managed.", + "type": "boolean", + "x-order": 38 + }, + "expose_exporter": { + "description": "True if an exporter agent is exposed on all host addresses.", + "type": "boolean", + "x-order": 39 } } }, "x-order": 16 }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 7 - }, - "created_at": { - "description": "Creation timestamp.", - "type": "string", - "format": "date-time", - "x-order": 14 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - }, - "database_name": { - "description": "Database name.", - "type": "string", - "x-order": 3 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 6 - }, - "external_group": { - "description": "External group name.", - "type": "string", - "x-order": 10 - }, - "node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 4 - }, - "node_name": { - "description": "Node name where this instance runs.", - "type": "string", - "x-order": 5 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 12 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 8 - }, - "service_id": { - "description": "Unique service identifier.", - "type": "string", - "x-order": 0 - }, - "service_name": { - "description": "User-defined name unique across all Services.", - "type": "string", - "x-order": 2 - }, - "service_type": { - "description": "Service type.", - "type": "string", - "x-order": 1 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 13 - }, "status": { "description": "Service status.\n\n - STATUS_UNSPECIFIED: In case we don't support the db vendor yet.\n - STATUS_UP: The service is up.\n - STATUS_DOWN: The service is down.\n - STATUS_UNKNOWN: The service's status cannot be known (e.g. there are no metrics yet).", "type": "string", @@ -1846,12 +1852,6 @@ ], "x-order": 17 }, - "updated_at": { - "description": "Last update timestamp.", - "type": "string", - "format": "date-time", - "x-order": 15 - }, "version": { "description": "The service/database version.", "type": "string", @@ -1874,6 +1874,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -1884,13 +1888,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -1912,470 +1912,497 @@ "schema": { "type": "object", "properties": { - "external": { + "mysql": { "type": "object", "properties": { + "node_id": { + "description": "Node identifier on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", + "type": "string", + "x-order": 0 + }, + "node_name": { + "description": "Node name on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", + "type": "string", + "x-order": 1 + }, "add_node": { "description": "AddNodeParams holds node params and is used to add new node to inventory while adding new service.", "type": "object", "properties": { - "az": { - "description": "Node availability zone.", + "node_type": { + "description": "NodeType describes supported Node types.", "type": "string", - "x-order": 8 + "default": "NODE_TYPE_UNSPECIFIED", + "enum": [ + "NODE_TYPE_UNSPECIFIED", + "NODE_TYPE_GENERIC_NODE", + "NODE_TYPE_CONTAINER_NODE", + "NODE_TYPE_REMOTE_NODE", + "NODE_TYPE_REMOTE_RDS_NODE", + "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" + ], + "x-order": 0 }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", + "node_name": { + "description": "Unique across all Nodes user-defined name.", "type": "string", - "x-order": 4 + "x-order": 1 }, - "container_name": { - "description": "Container name.", + "machine_id": { + "description": "Linux machine-id.", "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 + "x-order": 2 }, "distro": { "description": "Linux distribution name and version.", "type": "string", "x-order": 3 }, - "machine_id": { - "description": "Linux machine-id.", + "container_id": { + "description": "Container identifier. If specified, must be a unique Docker container identifier.", "type": "string", - "x-order": 2 + "x-order": 4 + }, + "container_name": { + "description": "Container name.", + "type": "string", + "x-order": 5 }, "node_model": { "description": "Node model.", "type": "string", "x-order": 6 }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "node_type": { - "description": "NodeType describes supported Node types.", - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "x-order": 0 - }, "region": { "description": "Node region.", "type": "string", "x-order": 7 + }, + "az": { + "description": "Node availability zone.", + "type": "string", + "x-order": 8 + }, + "custom_labels": { + "description": "Custom user-assigned labels for Node.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 9 } }, "x-order": 2 }, - "address": { - "description": "Node and Exporter access address (DNS name or IP).\naddress should always be passed with add_node.", + "service_name": { + "description": "Unique across all Services user-defined name. Required.", "type": "string", "x-order": 3 }, - "cluster": { - "description": "Cluster name.", + "address": { + "description": "Node and Service access address (DNS name or IP).\nAddress (and port) or socket is required.", "type": "string", - "x-order": 12 + "x-order": 4 }, - "custom_labels": { - "description": "Custom user-assigned labels for Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 14 + "port": { + "description": "Service Access port.\nPort is required when the address present.", + "type": "integer", + "format": "int64", + "x-order": 5 + }, + "socket": { + "description": "Service Access socket.\nAddress (and port) or socket is required.", + "type": "string", + "x-order": 6 + }, + "pmm_agent_id": { + "description": "The \"pmm-agent\" identifier which should run agents. Required.", + "type": "string", + "x-order": 7 }, "environment": { "description": "Environment name.", "type": "string", - "x-order": 11 + "x-order": 8 }, - "group": { - "description": "Group name of external service.", + "cluster": { + "description": "Cluster name.", "type": "string", - "x-order": 15 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", "x-order": 9 }, - "metrics_mode": { - "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", + "replication_set": { + "description": "Replication set name.", "type": "string", - "default": "METRICS_MODE_UNSPECIFIED", - "enum": [ - "METRICS_MODE_UNSPECIFIED", - "METRICS_MODE_PULL", - "METRICS_MODE_PUSH" - ], - "x-order": 16 + "x-order": 10 }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", + "username": { + "description": "MySQL username for scraping metrics.", "type": "string", - "x-order": 8 + "x-order": 11 }, - "node_id": { - "description": "Node identifier on which an external service is been running.\nnode_id should always be passed with runs_on_node_id.", + "password": { + "description": "MySQL password for scraping metrics.", "type": "string", - "x-order": 10 + "x-order": 12 }, - "node_name": { - "description": "Node name on which a service and node is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 1 + "qan_mysql_perfschema": { + "description": "If true, adds qan-mysql-perfschema-agent for provided service.", + "type": "boolean", + "x-order": 13 }, - "password": { - "description": "HTTP basic auth password for collecting metrics.", + "qan_mysql_slowlog": { + "description": "If true, adds qan-mysql-slowlog-agent for provided service.", + "type": "boolean", + "x-order": 14 + }, + "custom_labels": { + "description": "Custom user-assigned labels for Service.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 15 + }, + "skip_connection_check": { + "description": "Skip connection check.", + "type": "boolean", + "x-order": 16 + }, + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", + "type": "boolean", + "x-order": 17 + }, + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", + "x-order": 18 + }, + "disable_query_examples": { + "description": "Disable query examples.", + "type": "boolean", + "x-order": 19 + }, + "max_slowlog_file_size": { + "description": "If qan-mysql-slowlog-agent is added, slowlog file is rotated at this size if \u003e 0.\nIf zero, server's default value is used.\nUse negative value to disable rotation.", "type": "string", - "x-order": 6 + "format": "int64", + "x-order": 20 }, - "replication_set": { - "description": "Replication set name.", + "tls": { + "description": "Use TLS for database connections.", + "type": "boolean", + "x-order": 21 + }, + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation.", + "type": "boolean", + "x-order": 22 + }, + "tls_ca": { + "description": "Certificate Authority certificate chain.", "type": "string", - "x-order": 13 + "x-order": 23 }, - "runs_on_node_id": { - "description": "Node identifier on which an external exporter is been running.\nruns_on_node_id should always be passed with node_id.\nExactly one of these parameters should be present: node_id, node_name, add_node.", + "tls_cert": { + "description": "Client certificate.", "type": "string", - "x-order": 0 + "x-order": 24 }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", + "tls_key": { + "description": "Password for decrypting tls_cert.", "type": "string", - "x-order": 7 + "x-order": 25 }, - "service_name": { - "description": "Unique across all Services user-defined name. Required.", + "tablestats_group_table_limit": { + "description": "Tablestats group collectors will be disabled if there are more than that number of tables.\nIf zero, server's default value is used.\nUse negative value to disable them.", + "type": "integer", + "format": "int32", + "x-order": 26 + }, + "metrics_mode": { + "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", "type": "string", - "x-order": 4 + "default": "METRICS_MODE_UNSPECIFIED", + "enum": [ + "METRICS_MODE_UNSPECIFIED", + "METRICS_MODE_PULL", + "METRICS_MODE_PUSH" + ], + "x-order": 27 }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 17 + "disable_collectors": { + "description": "List of collector names to disable in this exporter.", + "type": "array", + "items": { + "type": "string" + }, + "x-order": 28 }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", + "agent_password": { + "description": "Custom password for exporter endpoint /metrics.", "type": "string", - "x-order": 5 + "x-order": 29 + }, + "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": 30 + }, + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 31 } }, - "x-order": 5 + "x-order": 0 }, - "haproxy": { + "mongodb": { "type": "object", "properties": { + "node_id": { + "description": "Node identifier on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", + "type": "string", + "x-order": 0 + }, + "node_name": { + "description": "Node name on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", + "type": "string", + "x-order": 1 + }, "add_node": { "description": "AddNodeParams holds node params and is used to add new node to inventory while adding new service.", "type": "object", "properties": { - "az": { - "description": "Node availability zone.", + "node_type": { + "description": "NodeType describes supported Node types.", "type": "string", - "x-order": 8 + "default": "NODE_TYPE_UNSPECIFIED", + "enum": [ + "NODE_TYPE_UNSPECIFIED", + "NODE_TYPE_GENERIC_NODE", + "NODE_TYPE_CONTAINER_NODE", + "NODE_TYPE_REMOTE_NODE", + "NODE_TYPE_REMOTE_RDS_NODE", + "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" + ], + "x-order": 0 }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", + "node_name": { + "description": "Unique across all Nodes user-defined name.", "type": "string", - "x-order": 4 + "x-order": 1 }, - "container_name": { - "description": "Container name.", + "machine_id": { + "description": "Linux machine-id.", "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 + "x-order": 2 }, "distro": { "description": "Linux distribution name and version.", "type": "string", "x-order": 3 }, - "machine_id": { - "description": "Linux machine-id.", + "container_id": { + "description": "Container identifier. If specified, must be a unique Docker container identifier.", "type": "string", - "x-order": 2 + "x-order": 4 + }, + "container_name": { + "description": "Container name.", + "type": "string", + "x-order": 5 }, "node_model": { "description": "Node model.", "type": "string", "x-order": 6 }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "node_type": { - "description": "NodeType describes supported Node types.", - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "x-order": 0 - }, "region": { "description": "Node region.", "type": "string", "x-order": 7 + }, + "az": { + "description": "Node availability zone.", + "type": "string", + "x-order": 8 + }, + "custom_labels": { + "description": "Custom user-assigned labels for Node.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 9 } }, "x-order": 2 }, - "address": { - "description": "Node and Exporter access address (DNS name or IP).\naddress always should be passed with add_node.", + "service_name": { + "description": "Unique across all Services user-defined name. Required.", "type": "string", "x-order": 3 }, - "cluster": { - "description": "Cluster name.", + "address": { + "description": "Node and Service access address (DNS name or IP).\nAddress (and port) or socket is required.", "type": "string", - "x-order": 11 + "x-order": 4 }, - "custom_labels": { - "description": "Custom user-assigned labels for Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 10 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", + "port": { + "description": "Service Access port.\nPort is required when the address present.", "type": "integer", "format": "int64", - "x-order": 9 - }, - "metrics_mode": { - "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", - "type": "string", - "default": "METRICS_MODE_UNSPECIFIED", - "enum": [ - "METRICS_MODE_UNSPECIFIED", - "METRICS_MODE_PULL", - "METRICS_MODE_PUSH" - ], - "x-order": 14 + "x-order": 5 }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", + "socket": { + "description": "Service Access socket.\nAddress (and port) or socket is required.", "type": "string", - "x-order": 8 + "x-order": 6 }, - "node_id": { - "description": "Node identifier on which an external exporter is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", + "pmm_agent_id": { + "description": "The \"pmm-agent\" identifier which should run agents. Required.", "type": "string", - "x-order": 0 + "x-order": 7 }, - "node_name": { - "description": "Node name on which a service and node is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", + "environment": { + "description": "Environment name.", "type": "string", - "x-order": 1 + "x-order": 8 }, - "password": { - "description": "HTTP basic auth password for collecting metrics.", + "cluster": { + "description": "Cluster name.", "type": "string", - "x-order": 6 + "x-order": 9 }, "replication_set": { "description": "Replication set name.", "type": "string", - "x-order": 12 + "x-order": 10 }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", + "username": { + "description": "MongoDB username for exporter and QAN agent access.", "type": "string", - "x-order": 7 + "x-order": 11 }, - "service_name": { - "description": "Unique across all Services user-defined name. Required.", + "password": { + "description": "MongoDB password for exporter and QAN agent access.", "type": "string", - "x-order": 4 + "x-order": 12 + }, + "qan_mongodb_profiler": { + "description": "If true, adds qan-mongodb-profiler-agent for provided service.", + "type": "boolean", + "x-order": 13 + }, + "custom_labels": { + "description": "Custom user-assigned labels for Service.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 14 }, "skip_connection_check": { "description": "Skip connection check.", "type": "boolean", "x-order": 15 }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", + "tls": { + "description": "Use TLS for database connections.", + "type": "boolean", + "x-order": 16 + }, + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation.", + "type": "boolean", + "x-order": 17 + }, + "tls_certificate_key": { + "description": "Client certificate and key.", "type": "string", - "x-order": 5 - } - }, - "x-order": 4 - }, - "mongodb": { - "type": "object", - "properties": { - "add_node": { - "description": "AddNodeParams holds node params and is used to add new node to inventory while adding new service.", - "type": "object", - "properties": { - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 8 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 4 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 3 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 6 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "node_type": { - "description": "NodeType describes supported Node types.", - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "x-order": 0 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 7 - } - }, - "x-order": 2 + "x-order": 18 }, - "address": { - "description": "Node and Service access address (DNS name or IP).\nAddress (and port) or socket is required.", + "tls_certificate_key_file_password": { + "description": "Password for decrypting tls_certificate_key.", "type": "string", - "x-order": 4 + "x-order": 19 }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", + "tls_ca": { + "description": "Certificate Authority certificate chain.", "type": "string", - "x-order": 26 + "x-order": 20 }, - "authentication_database": { - "description": "Authentication database.", + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", + "x-order": 21 + }, + "metrics_mode": { + "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", "type": "string", - "x-order": 25 + "default": "METRICS_MODE_UNSPECIFIED", + "enum": [ + "METRICS_MODE_UNSPECIFIED", + "METRICS_MODE_PULL", + "METRICS_MODE_PUSH" + ], + "x-order": 22 + }, + "disable_collectors": { + "description": "List of collector names to disable in this exporter.", + "type": "array", + "items": { + "type": "string" + }, + "x-order": 23 }, "authentication_mechanism": { "description": "Authentication mechanism.\nSee https://docs.mongodb.com/manual/reference/connection-string/#mongodb-urioption-urioption.authMechanism\nfor details.", "type": "string", "x-order": 24 }, - "cluster": { - "description": "Cluster name.", + "authentication_database": { + "description": "Authentication database.", "type": "string", - "x-order": 9 - }, - "collections_limit": { - "type": "integer", - "format": "int32", - "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", - "x-order": 28 + "x-order": 25 }, - "custom_labels": { - "description": "Custom user-assigned labels for Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 14 + "agent_password": { + "description": "Custom password for exporter endpoint /metrics.", + "type": "string", + "x-order": 26 }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", + "stats_collections": { + "description": "List of collections to get stats from. Can use * .", "type": "array", "items": { "type": "string" }, - "x-order": 23 + "x-order": 27 + }, + "collections_limit": { + "type": "integer", + "format": "int32", + "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", + "x-order": 28 }, "enable_all_collectors": { "type": "boolean", "title": "Enable all collectors", "x-order": 29 }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 8 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 31 - }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", "type": "string", @@ -2391,23 +2418,17 @@ ], "x-order": 30 }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 21 - }, - "metrics_mode": { - "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", - "type": "string", - "default": "METRICS_MODE_UNSPECIFIED", - "enum": [ - "METRICS_MODE_UNSPECIFIED", - "METRICS_MODE_PULL", - "METRICS_MODE_PUSH" - ], - "x-order": 22 - }, + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 31 + } + }, + "x-order": 1 + }, + "postgresql": { + "type": "object", + "properties": { "node_id": { "description": "Node identifier on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", "type": "string", @@ -2418,174 +2439,151 @@ "type": "string", "x-order": 1 }, - "password": { - "description": "MongoDB password for exporter and QAN agent access.", - "type": "string", - "x-order": 12 - }, - "pmm_agent_id": { - "description": "The \"pmm-agent\" identifier which should run agents. Required.", - "type": "string", - "x-order": 7 - }, - "port": { - "description": "Service Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "qan_mongodb_profiler": { - "description": "If true, adds qan-mongodb-profiler-agent for provided service.", - "type": "boolean", - "x-order": 13 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 10 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 3 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 15 - }, - "socket": { - "description": "Service Access socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 6 - }, - "stats_collections": { - "description": "List of collections to get stats from. Can use * .", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 27 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 16 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 20 - }, - "tls_certificate_key": { - "description": "Client certificate and key.", - "type": "string", - "x-order": 18 - }, - "tls_certificate_key_file_password": { - "description": "Password for decrypting tls_certificate_key.", - "type": "string", - "x-order": 19 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 17 - }, - "username": { - "description": "MongoDB username for exporter and QAN agent access.", - "type": "string", - "x-order": 11 - } - }, - "x-order": 1 - }, - "mysql": { - "type": "object", - "properties": { "add_node": { "description": "AddNodeParams holds node params and is used to add new node to inventory while adding new service.", "type": "object", "properties": { - "az": { - "description": "Node availability zone.", + "node_type": { + "description": "NodeType describes supported Node types.", "type": "string", - "x-order": 8 + "default": "NODE_TYPE_UNSPECIFIED", + "enum": [ + "NODE_TYPE_UNSPECIFIED", + "NODE_TYPE_GENERIC_NODE", + "NODE_TYPE_CONTAINER_NODE", + "NODE_TYPE_REMOTE_NODE", + "NODE_TYPE_REMOTE_RDS_NODE", + "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" + ], + "x-order": 0 }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", + "node_name": { + "description": "Unique across all Nodes user-defined name.", "type": "string", - "x-order": 4 + "x-order": 1 }, - "container_name": { - "description": "Container name.", + "machine_id": { + "description": "Linux machine-id.", "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 + "x-order": 2 }, "distro": { "description": "Linux distribution name and version.", "type": "string", "x-order": 3 }, - "machine_id": { - "description": "Linux machine-id.", + "container_id": { + "description": "Container identifier. If specified, must be a unique Docker container identifier.", "type": "string", - "x-order": 2 + "x-order": 4 + }, + "container_name": { + "description": "Container name.", + "type": "string", + "x-order": 5 }, "node_model": { "description": "Node model.", "type": "string", "x-order": 6 }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "node_type": { - "description": "NodeType describes supported Node types.", - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "x-order": 0 - }, "region": { "description": "Node region.", "type": "string", "x-order": 7 + }, + "az": { + "description": "Node availability zone.", + "type": "string", + "x-order": 8 + }, + "custom_labels": { + "description": "Custom user-assigned labels for Node.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 9 } }, "x-order": 2 }, + "service_name": { + "description": "Unique across all Services user-defined name. Required.", + "type": "string", + "x-order": 3 + }, "address": { "description": "Node and Service access address (DNS name or IP).\nAddress (and port) or socket is required.", "type": "string", "x-order": 4 }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", + "port": { + "description": "Service Access port.\nPort is required when the address present.", + "type": "integer", + "format": "int64", + "x-order": 5 + }, + "database": { + "description": "Database name.", "type": "string", - "x-order": 29 + "x-order": 6 + }, + "socket": { + "description": "Service Access socket.\nAddress (and port) or socket is required.", + "type": "string", + "x-order": 7 + }, + "pmm_agent_id": { + "description": "The \"pmm-agent\" identifier which should run agents. Required.", + "type": "string", + "x-order": 8 + }, + "environment": { + "description": "Environment name.", + "type": "string", + "x-order": 9 }, "cluster": { "description": "Cluster name.", "type": "string", - "x-order": 9 + "x-order": 10 + }, + "replication_set": { + "description": "Replication set name.", + "type": "string", + "x-order": 11 + }, + "username": { + "description": "PostgreSQL username for scraping metrics.", + "type": "string", + "x-order": 12 + }, + "password": { + "description": "PostgreSQL password for scraping metrics.", + "type": "string", + "x-order": 13 + }, + "qan_postgresql_pgstatements_agent": { + "description": "If true, adds qan-postgresql-pgstatements-agent for provided service.", + "type": "boolean", + "x-order": 14 + }, + "qan_postgresql_pgstatmonitor_agent": { + "description": "If true, adds qan-postgresql-pgstatmonitor-agent for provided service.", + "type": "boolean", + "x-order": 15 + }, + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", + "x-order": 16 + }, + "disable_query_examples": { + "description": "Disable query examples.", + "type": "boolean", + "x-order": 17 }, "custom_labels": { "description": "Custom user-assigned labels for Service.", @@ -2593,7 +2591,38 @@ "additionalProperties": { "type": "string" }, - "x-order": 15 + "x-order": 18 + }, + "skip_connection_check": { + "description": "Skip connection check.", + "type": "boolean", + "x-order": 19 + }, + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", + "type": "boolean", + "x-order": 20 + }, + "tls": { + "description": "Use TLS for database connections.", + "type": "boolean", + "x-order": 21 + }, + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation. Uses sslmode=required instead of verify-full.", + "type": "boolean", + "x-order": 22 + }, + "metrics_mode": { + "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", + "type": "string", + "default": "METRICS_MODE_UNSPECIFIED", + "enum": [ + "METRICS_MODE_UNSPECIFIED", + "METRICS_MODE_PULL", + "METRICS_MODE_PUSH" + ], + "x-order": 23 }, "disable_collectors": { "description": "List of collector names to disable in this exporter.", @@ -2601,27 +2630,27 @@ "items": { "type": "string" }, - "x-order": 28 + "x-order": 24 }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 17 + "tls_ca": { + "description": "TLS CA certificate.", + "type": "string", + "x-order": 25 }, - "disable_query_examples": { - "description": "Disable query examples.", - "type": "boolean", - "x-order": 19 + "tls_cert": { + "description": "TLS Certifcate.", + "type": "string", + "x-order": 26 }, - "environment": { - "description": "Environment name.", + "tls_key": { + "description": "TLS Certificate Key.", "type": "string", - "x-order": 8 + "x-order": 27 }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 31 + "agent_password": { + "description": "Custom password for exporter endpoint /metrics.", + "type": "string", + "x-order": 28 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -2636,286 +2665,371 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], + "x-order": 29 + }, + "auto_discovery_limit": { + "description": "Limit for auto discovery.", + "type": "integer", + "format": "int32", "x-order": 30 }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 31 + }, + "max_exporter_connections": { + "description": "Maximum number of connections that exporter can open to the database instance.", "type": "integer", "format": "int32", - "x-order": 18 + "x-order": 32 + } + }, + "x-order": 2 + }, + "proxysql": { + "type": "object", + "properties": { + "node_id": { + "description": "Node identifier on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", + "type": "string", + "x-order": 0 }, - "max_slowlog_file_size": { - "description": "If qan-mysql-slowlog-agent is added, slowlog file is rotated at this size if \u003e 0.\nIf zero, server's default value is used.\nUse negative value to disable rotation.", + "node_name": { + "description": "Node name on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", "type": "string", - "format": "int64", - "x-order": 20 + "x-order": 1 + }, + "add_node": { + "description": "AddNodeParams holds node params and is used to add new node to inventory while adding new service.", + "type": "object", + "properties": { + "node_type": { + "description": "NodeType describes supported Node types.", + "type": "string", + "default": "NODE_TYPE_UNSPECIFIED", + "enum": [ + "NODE_TYPE_UNSPECIFIED", + "NODE_TYPE_GENERIC_NODE", + "NODE_TYPE_CONTAINER_NODE", + "NODE_TYPE_REMOTE_NODE", + "NODE_TYPE_REMOTE_RDS_NODE", + "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" + ], + "x-order": 0 + }, + "node_name": { + "description": "Unique across all Nodes user-defined name.", + "type": "string", + "x-order": 1 + }, + "machine_id": { + "description": "Linux machine-id.", + "type": "string", + "x-order": 2 + }, + "distro": { + "description": "Linux distribution name and version.", + "type": "string", + "x-order": 3 + }, + "container_id": { + "description": "Container identifier. If specified, must be a unique Docker container identifier.", + "type": "string", + "x-order": 4 + }, + "container_name": { + "description": "Container name.", + "type": "string", + "x-order": 5 + }, + "node_model": { + "description": "Node model.", + "type": "string", + "x-order": 6 + }, + "region": { + "description": "Node region.", + "type": "string", + "x-order": 7 + }, + "az": { + "description": "Node availability zone.", + "type": "string", + "x-order": 8 + }, + "custom_labels": { + "description": "Custom user-assigned labels for Node.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 9 + } + }, + "x-order": 2 }, - "metrics_mode": { - "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", + "service_name": { + "description": "Unique across all Services user-defined name. Required.", "type": "string", - "default": "METRICS_MODE_UNSPECIFIED", - "enum": [ - "METRICS_MODE_UNSPECIFIED", - "METRICS_MODE_PULL", - "METRICS_MODE_PUSH" - ], - "x-order": 27 + "x-order": 3 }, - "node_id": { - "description": "Node identifier on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", + "address": { + "description": "Node and Service access address (DNS name or IP).\nAddress (and port) or socket is required.", "type": "string", - "x-order": 0 + "x-order": 4 }, - "node_name": { - "description": "Node name on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 1 + "port": { + "description": "Service Access port.\nPort is required when the address present.", + "type": "integer", + "format": "int64", + "x-order": 5 }, - "password": { - "description": "MySQL password for scraping metrics.", + "socket": { + "description": "Service Access socket.\nAddress (and port) or socket is required.", "type": "string", - "x-order": 12 + "x-order": 6 }, "pmm_agent_id": { "description": "The \"pmm-agent\" identifier which should run agents. Required.", "type": "string", "x-order": 7 }, - "port": { - "description": "Service Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "qan_mysql_perfschema": { - "description": "If true, adds qan-mysql-perfschema-agent for provided service.", - "type": "boolean", - "x-order": 13 + "environment": { + "description": "Environment name.", + "type": "string", + "x-order": 8 }, - "qan_mysql_slowlog": { - "description": "If true, adds qan-mysql-slowlog-agent for provided service.", - "type": "boolean", - "x-order": 14 + "cluster": { + "description": "Cluster name.", + "type": "string", + "x-order": 9 }, "replication_set": { "description": "Replication set name.", "type": "string", "x-order": 10 }, - "service_name": { - "description": "Unique across all Services user-defined name. Required.", + "username": { + "description": "ProxySQL username for scraping metrics.", "type": "string", - "x-order": 3 + "x-order": 11 + }, + "password": { + "description": "ProxySQL password for scraping metrics.", + "type": "string", + "x-order": 12 + }, + "custom_labels": { + "description": "Custom user-assigned labels for Service.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 13 }, "skip_connection_check": { "description": "Skip connection check.", "type": "boolean", - "x-order": 16 - }, - "socket": { - "description": "Service Access socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 6 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors will be disabled if there are more than that number of tables.\nIf zero, server's default value is used.\nUse negative value to disable them.", - "type": "integer", - "format": "int32", - "x-order": 26 + "x-order": 14 }, "tls": { "description": "Use TLS for database connections.", "type": "boolean", - "x-order": 21 + "x-order": 15 }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation.", + "type": "boolean", + "x-order": 16 + }, + "metrics_mode": { + "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", "type": "string", - "x-order": 23 + "default": "METRICS_MODE_UNSPECIFIED", + "enum": [ + "METRICS_MODE_UNSPECIFIED", + "METRICS_MODE_PULL", + "METRICS_MODE_PUSH" + ], + "x-order": 17 }, - "tls_cert": { - "description": "Client certificate.", + "disable_collectors": { + "description": "List of collector names to disable in this exporter.", + "type": "array", + "items": { + "type": "string" + }, + "x-order": 18 + }, + "agent_password": { + "description": "Custom password for exporter endpoint /metrics.", "type": "string", - "x-order": 24 + "x-order": 19 }, - "tls_key": { - "description": "Password for decrypting tls_cert.", + "log_level": { + "description": "- LOG_LEVEL_UNSPECIFIED: Auto", "type": "string", - "x-order": 25 + "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": 20 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", + "expose_exporter": { "type": "boolean", - "x-order": 22 - }, - "username": { - "description": "MySQL username for scraping metrics.", - "type": "string", - "x-order": 11 + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 21 } }, - "x-order": 0 + "x-order": 3 }, - "postgresql": { + "haproxy": { "type": "object", "properties": { + "node_id": { + "description": "Node identifier on which an external exporter is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", + "type": "string", + "x-order": 0 + }, + "node_name": { + "description": "Node name on which a service and node is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", + "type": "string", + "x-order": 1 + }, "add_node": { "description": "AddNodeParams holds node params and is used to add new node to inventory while adding new service.", "type": "object", "properties": { - "az": { - "description": "Node availability zone.", + "node_type": { + "description": "NodeType describes supported Node types.", "type": "string", - "x-order": 8 + "default": "NODE_TYPE_UNSPECIFIED", + "enum": [ + "NODE_TYPE_UNSPECIFIED", + "NODE_TYPE_GENERIC_NODE", + "NODE_TYPE_CONTAINER_NODE", + "NODE_TYPE_REMOTE_NODE", + "NODE_TYPE_REMOTE_RDS_NODE", + "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" + ], + "x-order": 0 }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", + "node_name": { + "description": "Unique across all Nodes user-defined name.", "type": "string", - "x-order": 4 + "x-order": 1 }, - "container_name": { - "description": "Container name.", + "machine_id": { + "description": "Linux machine-id.", "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 + "x-order": 2 }, "distro": { "description": "Linux distribution name and version.", "type": "string", "x-order": 3 }, - "machine_id": { - "description": "Linux machine-id.", + "container_id": { + "description": "Container identifier. If specified, must be a unique Docker container identifier.", "type": "string", - "x-order": 2 + "x-order": 4 + }, + "container_name": { + "description": "Container name.", + "type": "string", + "x-order": 5 }, "node_model": { "description": "Node model.", "type": "string", "x-order": 6 }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "node_type": { - "description": "NodeType describes supported Node types.", - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "x-order": 0 - }, "region": { "description": "Node region.", "type": "string", "x-order": 7 + }, + "az": { + "description": "Node availability zone.", + "type": "string", + "x-order": 8 + }, + "custom_labels": { + "description": "Custom user-assigned labels for Node.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 9 } }, "x-order": 2 }, "address": { - "description": "Node and Service access address (DNS name or IP).\nAddress (and port) or socket is required.", + "description": "Node and Exporter access address (DNS name or IP).\naddress always should be passed with add_node.", "type": "string", - "x-order": 4 + "x-order": 3 }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", + "service_name": { + "description": "Unique across all Services user-defined name. Required.", "type": "string", - "x-order": 28 - }, - "auto_discovery_limit": { - "description": "Limit for auto discovery.", - "type": "integer", - "format": "int32", - "x-order": 30 + "x-order": 4 }, - "cluster": { - "description": "Cluster name.", + "username": { + "description": "HTTP basic auth username for collecting metrics.", "type": "string", - "x-order": 10 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 18 + "x-order": 5 }, - "database": { - "description": "Database name.", + "password": { + "description": "HTTP basic auth password for collecting metrics.", "type": "string", "x-order": 6 }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 24 + "scheme": { + "description": "Scheme to generate URI to exporter metrics endpoints.", + "type": "string", + "x-order": 7 }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 20 + "metrics_path": { + "description": "Path under which metrics are exposed, used to generate URI.", + "type": "string", + "x-order": 8 }, - "disable_query_examples": { - "description": "Disable query examples.", - "type": "boolean", - "x-order": 17 + "listen_port": { + "description": "Listen port for scraping metrics.", + "type": "integer", + "format": "int64", + "x-order": 9 }, "environment": { "description": "Environment name.", "type": "string", - "x-order": 9 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 31 + "x-order": 10 }, - "log_level": { - "description": "- LOG_LEVEL_UNSPECIFIED: Auto", + "cluster": { + "description": "Cluster name.", "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": 29 + "x-order": 11 }, - "max_exporter_connections": { - "description": "Maximum number of connections that exporter can open to the database instance.", - "type": "integer", - "format": "int32", - "x-order": 32 + "replication_set": { + "description": "Replication set name.", + "type": "string", + "x-order": 12 }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 16 + "custom_labels": { + "description": "Custom user-assigned labels for Service.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 13 }, "metrics_mode": { "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", @@ -2926,183 +3040,153 @@ "METRICS_MODE_PULL", "METRICS_MODE_PUSH" ], - "x-order": 23 - }, - "node_id": { - "description": "Node identifier on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Node name on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 1 - }, - "password": { - "description": "PostgreSQL password for scraping metrics.", - "type": "string", - "x-order": 13 - }, - "pmm_agent_id": { - "description": "The \"pmm-agent\" identifier which should run agents. Required.", - "type": "string", - "x-order": 8 - }, - "port": { - "description": "Service Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "qan_postgresql_pgstatements_agent": { - "description": "If true, adds qan-postgresql-pgstatements-agent for provided service.", - "type": "boolean", "x-order": 14 }, - "qan_postgresql_pgstatmonitor_agent": { - "description": "If true, adds qan-postgresql-pgstatmonitor-agent for provided service.", - "type": "boolean", - "x-order": 15 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 11 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 3 - }, "skip_connection_check": { "description": "Skip connection check.", "type": "boolean", - "x-order": 19 - }, - "socket": { - "description": "Service Access socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 7 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 21 - }, - "tls_ca": { - "description": "TLS CA certificate.", - "type": "string", - "x-order": 25 - }, - "tls_cert": { - "description": "TLS Certifcate.", - "type": "string", - "x-order": 26 - }, - "tls_key": { - "description": "TLS Certificate Key.", - "type": "string", - "x-order": 27 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation. Uses sslmode=required instead of verify-full.", - "type": "boolean", - "x-order": 22 - }, - "username": { - "description": "PostgreSQL username for scraping metrics.", - "type": "string", - "x-order": 12 + "x-order": 15 } }, - "x-order": 2 + "x-order": 4 }, - "proxysql": { + "external": { "type": "object", "properties": { + "runs_on_node_id": { + "description": "Node identifier on which an external exporter is been running.\nruns_on_node_id should always be passed with node_id.\nExactly one of these parameters should be present: node_id, node_name, add_node.", + "type": "string", + "x-order": 0 + }, + "node_name": { + "description": "Node name on which a service and node is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", + "type": "string", + "x-order": 1 + }, "add_node": { "description": "AddNodeParams holds node params and is used to add new node to inventory while adding new service.", "type": "object", "properties": { - "az": { - "description": "Node availability zone.", + "node_type": { + "description": "NodeType describes supported Node types.", "type": "string", - "x-order": 8 + "default": "NODE_TYPE_UNSPECIFIED", + "enum": [ + "NODE_TYPE_UNSPECIFIED", + "NODE_TYPE_GENERIC_NODE", + "NODE_TYPE_CONTAINER_NODE", + "NODE_TYPE_REMOTE_NODE", + "NODE_TYPE_REMOTE_RDS_NODE", + "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" + ], + "x-order": 0 }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", + "node_name": { + "description": "Unique across all Nodes user-defined name.", "type": "string", - "x-order": 4 + "x-order": 1 }, - "container_name": { - "description": "Container name.", + "machine_id": { + "description": "Linux machine-id.", "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 + "x-order": 2 }, "distro": { "description": "Linux distribution name and version.", "type": "string", "x-order": 3 }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Node model.", + "container_id": { + "description": "Container identifier. If specified, must be a unique Docker container identifier.", "type": "string", - "x-order": 6 + "x-order": 4 }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", + "container_name": { + "description": "Container name.", "type": "string", - "x-order": 1 + "x-order": 5 }, - "node_type": { - "description": "NodeType describes supported Node types.", + "node_model": { + "description": "Node model.", "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "x-order": 0 + "x-order": 6 }, "region": { "description": "Node region.", "type": "string", "x-order": 7 + }, + "az": { + "description": "Node availability zone.", + "type": "string", + "x-order": 8 + }, + "custom_labels": { + "description": "Custom user-assigned labels for Node.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 9 } }, "x-order": 2 }, "address": { - "description": "Node and Service access address (DNS name or IP).\nAddress (and port) or socket is required.", + "description": "Node and Exporter access address (DNS name or IP).\naddress should always be passed with add_node.", + "type": "string", + "x-order": 3 + }, + "service_name": { + "description": "Unique across all Services user-defined name. Required.", "type": "string", "x-order": 4 }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", + "username": { + "description": "HTTP basic auth username for collecting metrics.", "type": "string", - "x-order": 19 + "x-order": 5 + }, + "password": { + "description": "HTTP basic auth password for collecting metrics.", + "type": "string", + "x-order": 6 + }, + "scheme": { + "description": "Scheme to generate URI to exporter metrics endpoints.", + "type": "string", + "x-order": 7 + }, + "metrics_path": { + "description": "Path under which metrics are exposed, used to generate URI.", + "type": "string", + "x-order": 8 + }, + "listen_port": { + "description": "Listen port for scraping metrics.", + "type": "integer", + "format": "int64", + "x-order": 9 + }, + "node_id": { + "description": "Node identifier on which an external service is been running.\nnode_id should always be passed with runs_on_node_id.", + "type": "string", + "x-order": 10 + }, + "environment": { + "description": "Environment name.", + "type": "string", + "x-order": 11 }, "cluster": { "description": "Cluster name.", "type": "string", - "x-order": 9 + "x-order": 12 + }, + "replication_set": { + "description": "Replication set name.", + "type": "string", + "x-order": 13 }, "custom_labels": { "description": "Custom user-assigned labels for Service.", @@ -3110,40 +3194,12 @@ "additionalProperties": { "type": "string" }, - "x-order": 13 - }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 18 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 8 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 21 + "x-order": 14 }, - "log_level": { - "description": "- LOG_LEVEL_UNSPECIFIED: Auto", + "group": { + "description": "Group name of external service.", "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": 20 + "x-order": 15 }, "metrics_mode": { "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", @@ -3154,90 +3210,95 @@ "METRICS_MODE_PULL", "METRICS_MODE_PUSH" ], - "x-order": 17 + "x-order": 16 }, - "node_id": { - "description": "Node identifier on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", + "skip_connection_check": { + "description": "Skip connection check.", + "type": "boolean", + "x-order": 17 + } + }, + "x-order": 5 + }, + "rds": { + "type": "object", + "properties": { + "region": { + "description": "AWS region.", "type": "string", "x-order": 0 }, - "node_name": { - "description": "Node name on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", + "az": { + "description": "AWS availability zone.", "type": "string", "x-order": 1 }, - "password": { - "description": "ProxySQL password for scraping metrics.", + "instance_id": { + "description": "AWS instance ID.", "type": "string", - "x-order": 12 + "x-order": 2 }, - "pmm_agent_id": { - "description": "The \"pmm-agent\" identifier which should run agents. Required.", + "node_model": { + "description": "AWS instance class.", "type": "string", - "x-order": 7 + "x-order": 3 + }, + "address": { + "description": "Address used to connect to it.", + "type": "string", + "x-order": 4 }, "port": { - "description": "Service Access port.\nPort is required when the address present.", + "description": "Access port.", "type": "integer", "format": "int64", "x-order": 5 }, - "replication_set": { - "description": "Replication set name.", + "engine": { + "description": "DiscoverRDSEngine describes supported RDS instance engines.", "type": "string", - "x-order": 10 + "default": "DISCOVER_RDS_ENGINE_UNSPECIFIED", + "enum": [ + "DISCOVER_RDS_ENGINE_UNSPECIFIED", + "DISCOVER_RDS_ENGINE_MYSQL", + "DISCOVER_RDS_ENGINE_POSTGRESQL" + ], + "x-order": 6 }, - "service_name": { - "description": "Unique across all Services user-defined name. Required.", + "node_name": { + "description": "Unique across all Nodes user-defined name. Defaults to AWS instance ID.", "type": "string", - "x-order": 3 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 14 + "x-order": 7 }, - "socket": { - "description": "Service Access socket.\nAddress (and port) or socket is required.", + "service_name": { + "description": "Unique across all Services user-defined name. Defaults to AWS instance ID.", "type": "string", - "x-order": 6 + "x-order": 8 }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 15 + "environment": { + "description": "Environment name.", + "type": "string", + "x-order": 9 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 16 + "cluster": { + "description": "Cluster name.", + "type": "string", + "x-order": 10 }, - "username": { - "description": "ProxySQL username for scraping metrics.", + "replication_set": { + "description": "Replication set name.", "type": "string", "x-order": 11 - } - }, - "x-order": 3 - }, - "rds": { - "type": "object", - "properties": { - "address": { - "description": "Address used to connect to it.", - "type": "string", - "x-order": 4 }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", + "username": { + "description": "Username for scraping metrics.", "type": "string", - "x-order": 28 + "x-order": 12 }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 30 + "password": { + "description": "Password for scraping metrics.", + "type": "string", + "x-order": 13 }, "aws_access_key": { "description": "AWS Access key.", @@ -3249,15 +3310,15 @@ "type": "string", "x-order": 15 }, - "az": { - "description": "AWS availability zone.", - "type": "string", - "x-order": 1 + "rds_exporter": { + "description": "If true, adds rds_exporter.", + "type": "boolean", + "x-order": 16 }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 10 + "qan_mysql_perfschema": { + "description": "If true, adds qan-mysql-perfschema-agent.", + "type": "boolean", + "x-order": 17 }, "custom_labels": { "description": "Custom user-assigned labels for Node and Service.", @@ -3267,57 +3328,41 @@ }, "x-order": 18 }, - "database": { - "description": "Database name.", - "type": "string", - "x-order": 29 - }, - "disable_basic_metrics": { - "description": "Disable basic metrics.", + "skip_connection_check": { + "description": "Skip connection check.", "type": "boolean", - "x-order": 24 + "x-order": 19 }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", + "tls": { + "description": "Use TLS for database connections.", "type": "boolean", - "x-order": 31 + "x-order": 20 }, - "disable_enhanced_metrics": { - "description": "Disable enhanced metrics.", + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation.", "type": "boolean", - "x-order": 25 + "x-order": 21 }, "disable_query_examples": { "description": "Disable query examples.", "type": "boolean", "x-order": 22 }, - "engine": { - "description": "DiscoverRDSEngine describes supported RDS instance engines.", - "type": "string", - "default": "DISCOVER_RDS_ENGINE_UNSPECIFIED", - "enum": [ - "DISCOVER_RDS_ENGINE_UNSPECIFIED", - "DISCOVER_RDS_ENGINE_MYSQL", - "DISCOVER_RDS_ENGINE_POSTGRESQL" - ], - "x-order": 6 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 9 - }, - "instance_id": { - "description": "AWS instance ID.", - "type": "string", - "x-order": 2 - }, - "max_postgresql_exporter_connections": { - "description": "Maximum number of exporter connections to PostgreSQL instance.", + "tablestats_group_table_limit": { + "description": "Tablestats group collectors will be disabled if there are more than that number of tables.\nIf zero, server's default value is used.\nUse negative value to disable them.", "type": "integer", "format": "int32", - "x-order": 32 + "x-order": 23 + }, + "disable_basic_metrics": { + "description": "Disable basic metrics.", + "type": "boolean", + "x-order": 24 + }, + "disable_enhanced_metrics": { + "description": "Disable enhanced metrics.", + "type": "boolean", + "x-order": 25 }, "metrics_mode": { "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", @@ -3330,82 +3375,37 @@ ], "x-order": 26 }, - "node_model": { - "description": "AWS instance class.", - "type": "string", - "x-order": 3 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name. Defaults to AWS instance ID.", - "type": "string", - "x-order": 7 - }, - "password": { - "description": "Password for scraping metrics.", - "type": "string", - "x-order": 13 - }, - "port": { - "description": "Access port.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "qan_mysql_perfschema": { - "description": "If true, adds qan-mysql-perfschema-agent.", - "type": "boolean", - "x-order": 17 - }, "qan_postgresql_pgstatements": { "type": "boolean", "title": "If true, add qan-pgstatements", "x-order": 27 }, - "rds_exporter": { - "description": "If true, adds rds_exporter.", - "type": "boolean", - "x-order": 16 - }, - "region": { - "description": "AWS region.", - "type": "string", - "x-order": 0 - }, - "replication_set": { - "description": "Replication set name.", + "agent_password": { + "description": "Custom password for exporter endpoint /metrics.", "type": "string", - "x-order": 11 + "x-order": 28 }, - "service_name": { - "description": "Unique across all Services user-defined name. Defaults to AWS instance ID.", + "database": { + "description": "Database name.", "type": "string", - "x-order": 8 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 19 + "x-order": 29 }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors will be disabled if there are more than that number of tables.\nIf zero, server's default value is used.\nUse negative value to disable them.", + "auto_discovery_limit": { + "description": "Limit of databases for auto-discovery.", "type": "integer", "format": "int32", - "x-order": 23 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 20 + "x-order": 30 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", "type": "boolean", - "x-order": 21 + "x-order": 31 }, - "username": { - "description": "Username for scraping metrics.", - "type": "string", - "x-order": 12 + "max_postgresql_exporter_connections": { + "description": "Maximum number of exporter connections to PostgreSQL instance.", + "type": "integer", + "format": "int32", + "x-order": 32 } }, "x-order": 6 @@ -3420,134 +3420,13 @@ "schema": { "type": "object", "properties": { - "external": { + "mysql": { "type": "object", "properties": { - "external_exporter": { - "description": "ExternalExporter runs on any Node type, including Remote Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "disabled": { - "description": "If disabled, metrics from this exporter will not be collected.", - "type": "boolean", - "x-order": 2 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", - "type": "string", - "x-order": 6 - }, - "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 - }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, - "mr": { - "description": "Medium resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 11 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 9 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 5 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 3 - }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 1 - }, "service": { - "description": "ExternalService represents a generic External service instance.", + "description": "MySQLService represents a generic MySQL instance.", "type": "object", - "properties": { - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "group": { - "description": "Group name of external service.", - "type": "string", - "x-order": 7 - }, - "node_id": { - "description": "Node identifier where this service instance runs.", - "type": "string", - "x-order": 2 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, + "properties": { "service_id": { "description": "Unique randomly generated instance identifier.", "type": "string", @@ -3557,112 +3436,42 @@ "description": "Unique across all Services user-defined name.", "type": "string", "x-order": 1 - } - }, - "x-order": 0 - } - }, - "x-order": 5 - }, - "haproxy": { - "type": "object", - "properties": { - "external_exporter": { - "description": "ExternalExporter runs on any Node type, including Remote Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "disabled": { - "description": "If disabled, metrics from this exporter will not be collected.", - "type": "boolean", - "x-order": 2 }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", + "node_id": { + "description": "Node identifier where this instance runs.", "type": "string", - "x-order": 6 - }, - "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 - }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, - "mr": { - "description": "Medium resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 11 + "x-order": 2 }, - "process_exec_path": { - "description": "Path to exec process.", + "address": { + "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", "type": "string", - "x-order": 10 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 9 + "x-order": 3 }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 + "port": { + "description": "Access port.\nPort is required when the address present.", + "type": "integer", + "format": "int64", + "x-order": 4 }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", + "socket": { + "description": "Access unix socket.\nAddress (and port) or socket is required.", "type": "string", "x-order": 5 }, - "service_id": { - "description": "Service identifier.", + "environment": { + "description": "Environment name.", "type": "string", - "x-order": 3 + "x-order": 6 }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 1 - }, - "service": { - "description": "HAProxyService represents a generic HAProxy service instance.", - "type": "object", - "properties": { "cluster": { "description": "Cluster name.", "type": "string", - "x-order": 4 + "x-order": 7 + }, + "replication_set": { + "description": "Replication set name.", + "type": "string", + "x-order": 8 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -3670,44 +3479,18 @@ "additionalProperties": { "type": "string" }, - "x-order": 6 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "node_id": { - "description": "Node identifier where this service instance runs.", - "type": "string", - "x-order": 2 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, - "service_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 + "x-order": 9 }, - "service_name": { - "description": "Unique across all Services user-defined name.", + "version": { + "description": "MySQL version.", "type": "string", - "x-order": 1 + "x-order": 10 } }, "x-order": 0 - } - }, - "x-order": 4 - }, - "mongodb": { - "type": "object", - "properties": { - "mongodb_exporter": { - "description": "MongoDBExporter runs on Generic or Container Node and exposes MongoDB Service metrics.", + }, + "mysqld_exporter": { + "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", "type": "object", "properties": { "agent_id": { @@ -3715,113 +3498,83 @@ "type": "string", "x-order": 0 }, - "collections_limit": { - "type": "integer", - "format": "int32", - "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", - "x-order": 13 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 + "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 }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 + "service_id": { + "description": "Service identifier.", + "type": "string", + "x-order": 3 }, - "enable_all_collectors": { - "description": "Enable All collectors.", - "type": "boolean", - "x-order": 14 + "username": { + "description": "MySQL username for scraping metrics.", + "type": "string", + "x-order": 4 }, - "expose_exporter": { + "tls": { + "description": "Use TLS for database connections.", "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 17 + "x-order": 5 }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 11 + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation.", + "type": "boolean", + "x-order": 6 }, - "log_level": { - "description": "- LOG_LEVEL_UNSPECIFIED: Auto", + "tls_ca": { + "description": "Certificate Authority certificate chain.", "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": 16 + "x-order": 7 }, - "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 - }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, - "mr": { - "description": "Medium resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 18 + "tls_cert": { + "description": "Client certificate.", + "type": "string", + "x-order": 8 }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", + "tls_key": { + "description": "Password for decrypting tls_cert.", "type": "string", - "x-order": 1 + "x-order": 9 + }, + "tablestats_group_table_limit": { + "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", + "type": "integer", + "format": "int32", + "x-order": 10 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 11 }, "push_metrics_enabled": { "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 8 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 3 + "x-order": 12 }, - "stats_collections": { + "disabled_collectors": { + "description": "List of disabled collector names.", "type": "array", - "title": "List of colletions to get stats from. Can use *", "items": { "type": "string" }, - "x-order": 12 + "x-order": 13 + }, + "table_count": { + "description": "Actual table count at the moment of adding.", + "type": "integer", + "format": "int32", + "x-order": 14 }, "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", @@ -3837,47 +3590,23 @@ "AGENT_STATUS_DONE", "AGENT_STATUS_UNKNOWN" ], - "x-order": 10 + "x-order": 15 }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 5 + "listen_port": { + "description": "Listen port for scraping metrics.", + "type": "integer", + "format": "int64", + "x-order": 16 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", + "tablestats_group_disabled": { + "description": "True if tablestats group collectors are currently disabled.", "type": "boolean", - "x-order": 6 + "x-order": 17 }, - "username": { - "description": "MongoDB username for scraping metrics.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 1 - }, - "qan_mongodb_profiler": { - "description": "QANMongoDBProfilerAgent runs within pmm-agent and sends MongoDB Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", + "process_exec_path": { + "description": "Path to exec process.", "type": "string", - "x-order": 0 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 + "x-order": 18 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -3892,44 +3621,66 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 11 + "x-order": 19 }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 7 + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 20 + }, + "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": 21 + } + }, + "x-order": 1 + }, + "qan_mysql_perfschema": { + "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 + "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 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "MySQL username for getting performance data.", "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 + "x-order": 4 }, "tls": { "description": "Use TLS for database connections.", @@ -3941,126 +3692,65 @@ "type": "boolean", "x-order": 6 }, - "username": { - "description": "MongoDB username for getting profiler data.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 2 - }, - "service": { - "description": "MongoDBService represents a generic MongoDB instance.", - "type": "object", - "properties": { - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", + "tls_ca": { + "description": "Certificate Authority certificate chain.", "type": "string", "x-order": 7 }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 6 - }, - "node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 2 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", + "tls_cert": { + "description": "Client certificate.", "type": "string", "x-order": 8 }, - "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 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", + "tls_key": { + "description": "Password for decrypting tls_cert.", "type": "string", - "x-order": 5 + "x-order": 9 }, - "version": { - "description": "MongoDB version.", - "type": "string", + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", + "type": "boolean", "x-order": 10 - } - }, - "x-order": 0 - } - }, - "x-order": 1 - }, - "mysql": { - "type": "object", - "properties": { - "mysqld_exporter": { - "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", "x-order": 11 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "query_examples_disabled": { + "description": "True if query examples are disabled.", "type": "boolean", - "x-order": 2 + "x-order": 12 }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { "type": "string" }, "x-order": 13 }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 20 + "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 finished.\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": 14 }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 16 + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 15 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -4075,88 +3765,50 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 19 - }, - "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 - }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, - "mr": { - "description": "Medium resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 21 + "x-order": 16 + } + }, + "x-order": 2 + }, + "qan_mysql_slowlog": { + "description": "QANMySQLSlowlogAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 18 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 12 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "MySQL username for getting performance data.", "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": 15 - }, - "table_count": { - "description": "Actual table count at the moment of adding.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 17 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 10 + "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 + }, "tls_ca": { "description": "Certificate Authority certificate chain.", "type": "string", @@ -4172,27 +3824,27 @@ "type": "string", "x-order": 9 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", "type": "boolean", - "x-order": 6 + "x-order": 10 }, - "username": { - "description": "MySQL username for scraping metrics.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 1 - }, - "qan_mysql_perfschema": { - "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", + "max_query_length": { + "type": "integer", + "format": "int32", + "title": "Limit query length in QAN (default: server-defined; -1: no limit)", + "x-order": 11 + }, + "query_examples_disabled": { + "description": "True if query examples are disabled.", + "type": "boolean", + "x-order": 12 + }, + "max_slowlog_file_size": { + "description": "Slowlog file is rotated at this size if \u003e 0.", "type": "string", - "x-order": 0 + "format": "int64", + "x-order": 13 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -4200,17 +3852,28 @@ "additionalProperties": { "type": "string" }, - "x-order": 13 + "x-order": 14 }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 + "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 finished.\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": 15 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 + "process_exec_path": { + "type": "string", + "title": "mod tidy", + "x-order": 16 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -4225,109 +3888,194 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 16 + "x-order": 17 + } + }, + "x-order": 3 + }, + "table_count": { + "description": "Actual table count at the moment of adding.", + "type": "integer", + "format": "int32", + "x-order": 4 + } + }, + "x-order": 0 + }, + "mongodb": { + "type": "object", + "properties": { + "service": { + "description": "MongoDBService represents a generic MongoDB 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 }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 11 + "version": { + "description": "MongoDB version.", + "type": "string", + "x-order": 10 + } + }, + "x-order": 0 + }, + "mongodb_exporter": { + "description": "MongoDBExporter runs on Generic or Container Node and exposes MongoDB Service metrics.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 12 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "MongoDB username for scraping metrics.", "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": 14 + "x-order": 4 }, "tls": { "description": "Use TLS for database connections.", "type": "boolean", "x-order": 5 }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, "tls_skip_verify": { "description": "Skip TLS certificate and hostname validation.", "type": "boolean", "x-order": 6 }, - "username": { - "description": "MySQL username for getting performance data.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 2 - }, - "qan_mysql_slowlog": { - "description": "QANMySQLSlowlogAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, "custom_labels": { "description": "Custom user-assigned labels.", "type": "object", "additionalProperties": { "type": "string" }, - "x-order": 14 + "x-order": 7 }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", "type": "boolean", + "x-order": 8 + }, + "disabled_collectors": { + "description": "List of disabled collector names.", + "type": "array", + "items": { + "type": "string" + }, + "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 finished.\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 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "listen_port": { + "description": "Listen port for scraping metrics.", + "type": "integer", + "format": "int64", + "x-order": 11 + }, + "stats_collections": { + "type": "array", + "title": "List of colletions to get stats from. Can use *", + "items": { + "type": "string" + }, + "x-order": 12 + }, + "collections_limit": { + "type": "integer", + "format": "int32", + "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", + "x-order": 13 + }, + "enable_all_collectors": { + "description": "Enable All collectors.", "type": "boolean", - "x-order": 2 + "x-order": 14 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 15 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -4342,167 +4090,213 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 17 + "x-order": 16 }, - "max_query_length": { - "type": "integer", - "format": "int32", - "title": "Limit query length in QAN (default: server-defined; -1: no limit)", - "x-order": 11 + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 17 }, - "max_slowlog_file_size": { - "description": "Slowlog file is rotated at this size if \u003e 0.", + "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": 18 + } + }, + "x-order": 1 + }, + "qan_mongodb_profiler": { + "description": "QANMongoDBProfilerAgent runs within pmm-agent and sends MongoDB Query Analytics data to the PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "format": "int64", - "x-order": 13 + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "type": "string", - "title": "mod tidy", - "x-order": 16 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 12 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "MongoDB username for getting profiler data.", "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": 15 + "x-order": 4 }, "tls": { "description": "Use TLS for database connections.", "type": "boolean", "x-order": 5 }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation.", + "type": "boolean", + "x-order": 6 + }, + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", "x-order": 7 }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, "x-order": 8 }, - "tls_key": { - "description": "Password for decrypting tls_cert.", + "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 finished.\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 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 6 + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 10 }, - "username": { - "description": "MySQL username for getting performance data.", + "log_level": { + "description": "- LOG_LEVEL_UNSPECIFIED: Auto", "type": "string", - "x-order": 4 + "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": 11 } }, - "x-order": 3 - }, + "x-order": 2 + } + }, + "x-order": 1 + }, + "postgresql": { + "type": "object", + "properties": { "service": { - "description": "MySQLService represents a generic MySQL instance.", + "description": "PostgreSQLService represents a generic PostgreSQL instance.", "type": "object", "properties": { - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", + "service_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 3 + "x-order": 0 }, - "cluster": { - "description": "Cluster name.", + "service_name": { + "description": "Unique across all Services user-defined name.", "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 + "x-order": 1 }, - "environment": { - "description": "Environment name.", + "database_name": { + "description": "Database name.", "type": "string", - "x-order": 6 + "x-order": 2 }, "node_id": { "description": "Node identifier where this instance runs.", "type": "string", - "x-order": 2 + "x-order": 3 + }, + "address": { + "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", + "type": "string", + "x-order": 4 }, "port": { "description": "Access port.\nPort is required when the address present.", "type": "integer", "format": "int64", - "x-order": 4 + "x-order": 5 }, - "replication_set": { - "description": "Replication set name.", + "socket": { + "description": "Access unix socket.\nAddress (and port) or socket is required.", "type": "string", - "x-order": 8 + "x-order": 6 }, - "service_id": { - "description": "Unique randomly generated instance identifier.", + "environment": { + "description": "Environment name.", "type": "string", - "x-order": 0 + "x-order": 7 }, - "service_name": { - "description": "Unique across all Services user-defined name.", + "cluster": { + "description": "Cluster name.", "type": "string", - "x-order": 1 + "x-order": 8 }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", + "replication_set": { + "description": "Replication set name.", "type": "string", - "x-order": 5 + "x-order": 9 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 10 }, "version": { - "description": "MySQL version.", + "description": "PostgreSQL version.", "type": "string", - "x-order": 10 + "x-order": 11 + }, + "auto_discovery_limit": { + "description": "Limit of databases for auto-discovery.", + "type": "integer", + "format": "int32", + "x-order": 12 } }, "x-order": 0 }, - "table_count": { - "description": "Actual table count at the moment of adding.", - "type": "integer", - "format": "int32", - "x-order": 4 - } - }, - "x-order": 0 - }, - "postgresql": { - "type": "object", - "properties": { "postgres_exporter": { "description": "PostgresExporter runs on Generic or Container Node and exposes PostgreSQL Service metrics.", "type": "object", @@ -4512,11 +4306,35 @@ "type": "string", "x-order": 0 }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 14 + "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": "PostgreSQL username for scraping metrics.", + "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. Uses sslmode=required instead of verify-full.", + "type": "boolean", + "x-order": 6 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -4526,10 +4344,10 @@ }, "x-order": 7 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 2 + "x-order": 8 }, "disabled_collectors": { "description": "List of disabled collector names.", @@ -4539,10 +4357,21 @@ }, "x-order": 9 }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 15 + "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 finished.\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.", @@ -4550,6 +4379,11 @@ "format": "int64", "x-order": 11 }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 12 + }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", "type": "string", @@ -4565,6 +4399,17 @@ ], "x-order": 13 }, + "auto_discovery_limit": { + "description": "Limit of databases for auto-discovery.", + "type": "integer", + "format": "int32", + "x-order": 14 + }, + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 15 + }, "max_exporter_connections": { "description": "Maximum number of connections that exporter can open to the database instance.", "type": "integer", @@ -4580,38 +4425,79 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 17 + } + }, + "x-order": 1 + }, + "qan_postgresql_pgstatements_agent": { + "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", + "type": "boolean", + "x-order": 2 + }, + "service_id": { + "description": "Service identifier.", "type": "string", - "x-order": 12 + "x-order": 3 + }, + "username": { + "description": "PostgreSQL username for getting pg stat statements data.", + "type": "string", + "x-order": 4 + }, + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", + "type": "boolean", + "x-order": 5 + }, + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", + "x-order": 6 + }, + "tls": { + "description": "Use TLS for database connections.", + "type": "boolean", + "x-order": 7 }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation.", "type": "boolean", "x-order": 8 }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 3 + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", @@ -4629,26 +4515,31 @@ ], "x-order": 10 }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 5 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation. Uses sslmode=required instead of verify-full.", - "type": "boolean", - "x-order": 6 + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 11 }, - "username": { - "description": "PostgreSQL username for scraping metrics.", + "log_level": { + "description": "- LOG_LEVEL_UNSPECIFIED: Auto", "type": "string", - "x-order": 4 + "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": 12 } }, - "x-order": 1 + "x-order": 2 }, - "qan_postgresql_pgstatements_agent": { - "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", + "qan_postgresql_pgstatmonitor_agent": { + "description": "QANPostgreSQLPgStatMonitorAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", "type": "object", "properties": { "agent_id": { @@ -4656,23 +4547,80 @@ "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": "PostgreSQL username for getting pg stat monitor 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 + }, + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", + "type": "boolean", + "x-order": 7 + }, + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", + "x-order": 8 + }, + "query_examples_disabled": { + "description": "True if query examples are disabled.", + "type": "boolean", + "x-order": 9 + }, "custom_labels": { "description": "Custom user-assigned labels.", "type": "object", "additionalProperties": { "type": "string" }, - "x-order": 9 + "x-order": 10 }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 5 + "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 finished.\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": 11 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 12 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -4687,65 +4635,90 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 12 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 6 + "x-order": 13 + } + }, + "x-order": 3 + }, + "warning": { + "description": "Warning message.", + "type": "string", + "x-order": 4 + } + }, + "x-order": 2 + }, + "proxysql": { + "type": "object", + "properties": { + "service": { + "description": "ProxySQLService represents a generic ProxySQL instance.", + "type": "object", + "properties": { + "service_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", + "service_name": { + "description": "Unique across all Services user-defined name.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", + "node_id": { + "description": "Node identifier where this instance runs.", "type": "string", - "x-order": 11 + "x-order": 2 }, - "service_id": { - "description": "Service identifier.", + "address": { + "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "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", - "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 + "x-order": 5 }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", + "environment": { + "description": "Environment name.", + "type": "string", + "x-order": 6 + }, + "cluster": { + "description": "Cluster name.", + "type": "string", "x-order": 7 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", + "replication_set": { + "description": "Replication set name.", + "type": "string", "x-order": 8 }, - "username": { - "description": "PostgreSQL username for getting pg stat statements data.", + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 9 + }, + "version": { + "description": "ProxySQL version.", "type": "string", - "x-order": 4 + "x-order": 10 } }, - "x-order": 2 + "x-order": 0 }, - "qan_postgresql_pgstatmonitor_agent": { - "description": "QANPostgreSQLPgStatMonitorAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", + "proxysql_exporter": { + "description": "ProxySQLExporter runs on Generic or Container Node and exposes ProxySQL Service metrics.", "type": "object", "properties": { "agent_id": { @@ -4753,65 +4726,57 @@ "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": "ProxySQL username for scraping metrics.", + "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": 10 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", "x-order": 7 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 2 - }, - "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": 13 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", "x-order": 8 }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 1 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", + "disabled_collectors": { + "description": "List of disabled collector names.", + "type": "array", + "items": { + "type": "string" + }, "x-order": 9 }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 3 - }, "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", "type": "string", @@ -4826,116 +4791,117 @@ "AGENT_STATUS_DONE", "AGENT_STATUS_UNKNOWN" ], + "x-order": 10 + }, + "listen_port": { + "description": "Listen port for scraping metrics.", + "type": "integer", + "format": "int64", "x-order": 11 }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 5 + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 12 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", + "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": 13 + }, + "expose_exporter": { "type": "boolean", - "x-order": 6 + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 14 }, - "username": { - "description": "PostgreSQL username for getting pg stat monitor data.", - "type": "string", - "x-order": 4 + "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": 15 } }, - "x-order": 3 - }, + "x-order": 1 + } + }, + "x-order": 3 + }, + "haproxy": { + "type": "object", + "properties": { "service": { - "description": "PostgreSQLService represents a generic PostgreSQL instance.", + "description": "HAProxyService represents a generic HAProxy service instance.", "type": "object", "properties": { - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", + "service_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 4 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 12 + "x-order": 0 }, - "cluster": { - "description": "Cluster name.", + "service_name": { + "description": "Unique across all Services user-defined name.", "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 + "x-order": 1 }, - "database_name": { - "description": "Database name.", + "node_id": { + "description": "Node identifier where this service instance runs.", "type": "string", "x-order": 2 }, "environment": { "description": "Environment name.", "type": "string", - "x-order": 7 - }, - "node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", "x-order": 3 }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 + "cluster": { + "description": "Cluster name.", + "type": "string", + "x-order": 4 }, "replication_set": { "description": "Replication set name.", "type": "string", - "x-order": 9 - }, - "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 + "x-order": 5 }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, "x-order": 6 - }, - "version": { - "description": "PostgreSQL version.", - "type": "string", - "x-order": 11 } }, "x-order": 0 }, - "warning": { - "description": "Warning message.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 2 - }, - "proxysql": { - "type": "object", - "properties": { - "proxysql_exporter": { - "description": "ProxySQLExporter runs on Generic or Container Node and exposes ProxySQL Service metrics.", + "external_exporter": { + "description": "ExternalExporter runs on any Node type, including Remote Node.", "type": "object", "properties": { "agent_id": { @@ -4943,52 +4909,59 @@ "type": "string", "x-order": 0 }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 + "runs_on_node_id": { + "description": "Node identifier where this instance runs.", + "type": "string", + "x-order": 1 }, "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "description": "If disabled, metrics from this exporter will not be collected.", "type": "boolean", "x-order": 2 }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { + "service_id": { + "description": "Service identifier.", + "type": "string", + "x-order": 3 + }, + "username": { + "description": "HTTP basic auth username for collecting metrics.", + "type": "string", + "x-order": 4 + }, + "scheme": { + "description": "Scheme to generate URI to exporter metrics endpoints.", + "type": "string", + "x-order": 5 + }, + "metrics_path": { + "description": "Path under which metrics are exposed, used to generate URI.", + "type": "string", + "x-order": 6 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { "type": "string" }, - "x-order": 9 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 14 + "x-order": 7 }, "listen_port": { "description": "Listen port for scraping metrics.", "type": "integer", "format": "int64", - "x-order": 11 + "x-order": 8 }, - "log_level": { - "description": "- LOG_LEVEL_UNSPECIFIED: Auto", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", + "type": "boolean", + "x-order": 9 + }, + "process_exec_path": { + "description": "Path to exec process.", "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": 13 + "x-order": 10 }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", @@ -4999,86 +4972,116 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 15 + "x-order": 11 + } + }, + "x-order": 1 + } + }, + "x-order": 4 + }, + "external": { + "type": "object", + "properties": { + "service": { + "description": "ExternalService represents a generic External service instance.", + "type": "object", + "properties": { + "service_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", + "service_name": { + "description": "Unique across all Services user-defined name.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", + "node_id": { + "description": "Node identifier where this service instance runs.", "type": "string", - "x-order": 12 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 + "x-order": 2 }, - "service_id": { - "description": "Service identifier.", + "environment": { + "description": "Environment name.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "cluster": { + "description": "Cluster name.", "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 + "x-order": 4 }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", + "replication_set": { + "description": "Replication set name.", + "type": "string", "x-order": 5 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, "x-order": 6 }, - "username": { - "description": "ProxySQL username for scraping metrics.", + "group": { + "description": "Group name of external service.", "type": "string", - "x-order": 4 + "x-order": 7 } }, - "x-order": 1 + "x-order": 0 }, - "service": { - "description": "ProxySQLService represents a generic ProxySQL instance.", + "external_exporter": { + "description": "ExternalExporter runs on any Node type, including Remote Node.", "type": "object", "properties": { - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 + }, + "runs_on_node_id": { + "description": "Node identifier where this instance runs.", + "type": "string", + "x-order": 1 + }, + "disabled": { + "description": "If disabled, metrics from this exporter will not be collected.", + "type": "boolean", + "x-order": 2 + }, + "service_id": { + "description": "Service identifier.", "type": "string", "x-order": 3 }, - "cluster": { - "description": "Cluster name.", + "username": { + "description": "HTTP basic auth username for collecting metrics.", "type": "string", - "x-order": 7 + "x-order": 4 + }, + "scheme": { + "description": "Scheme to generate URI to exporter metrics endpoints.", + "type": "string", + "x-order": 5 + }, + "metrics_path": { + "description": "Path under which metrics are exposed, used to generate URI.", + "type": "string", + "x-order": 6 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -5086,126 +5089,102 @@ "additionalProperties": { "type": "string" }, - "x-order": 9 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 6 - }, - "node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 2 + "x-order": 7 }, - "port": { - "description": "Access port.\nPort is required when the address present.", + "listen_port": { + "description": "Listen port for scraping metrics.", "type": "integer", "format": "int64", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", "x-order": 8 }, - "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 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 5 + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", + "type": "boolean", + "x-order": 9 }, - "version": { - "description": "ProxySQL version.", + "process_exec_path": { + "description": "Path to exec process.", "type": "string", "x-order": 10 + }, + "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": 11 } }, - "x-order": 0 + "x-order": 1 } }, - "x-order": 3 + "x-order": 5 }, "rds": { "type": "object", "properties": { - "mysql": { - "description": "MySQLService represents a generic MySQL instance.", - "type": "object", - "properties": { - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 6 - }, + "node": { + "description": "RemoteRDSNode represents remote RDS Node. Agents can't run on Remote RDS Nodes.", + "type": "object", + "properties": { "node_id": { - "description": "Node identifier where this instance runs.", + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 2 + "x-order": 0 }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 4 + "node_name": { + "description": "Unique across all Nodes user-defined name.", + "type": "string", + "x-order": 1 }, - "replication_set": { - "description": "Replication set name.", + "address": { + "description": "DB instance identifier.", "type": "string", - "x-order": 8 + "x-order": 2 }, - "service_id": { - "description": "Unique randomly generated instance identifier.", + "node_model": { + "description": "Node model.", "type": "string", - "x-order": 0 + "x-order": 3 }, - "service_name": { - "description": "Unique across all Services user-defined name.", + "region": { + "description": "Node region.", "type": "string", - "x-order": 1 + "x-order": 4 }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", + "az": { + "description": "Node availability zone.", "type": "string", "x-order": 5 }, - "version": { - "description": "MySQL version.", - "type": "string", - "x-order": 10 + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 6 } }, - "x-order": 2 + "x-order": 0 }, - "mysqld_exporter": { - "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", + "rds_exporter": { + "description": "RDSExporter runs on Generic or Container Node and exposes RemoteRDS Node metrics.", "type": "object", "properties": { "agent_id": { @@ -5213,37 +5192,75 @@ "type": "string", "x-order": 0 }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 11 + "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 }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { + "node_id": { + "description": "Node identifier.", + "type": "string", + "x-order": 3 + }, + "aws_access_key": { + "description": "AWS Access Key.", + "type": "string", + "x-order": 4 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { "type": "string" }, - "x-order": 13 + "x-order": 5 }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 20 + "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 finished.\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": 6 }, "listen_port": { - "description": "Listen port for scraping metrics.", + "description": "Listen port for scraping metrics (the same for several configurations).", "type": "integer", "format": "int64", - "x-order": 16 + "x-order": 7 + }, + "basic_metrics_disabled": { + "description": "Basic metrics are disabled.", + "type": "boolean", + "x-order": 8 + }, + "enhanced_metrics_disabled": { + "description": "Enhanced metrics are disabled.", + "type": "boolean", + "x-order": 9 + }, + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", + "type": "boolean", + "x-order": 10 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 11 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -5258,7 +5275,13 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 19 + "x-order": 12 + }, + "auto_discovery_limit": { + "description": "Limit of databases for auto-discovery.", + "type": "integer", + "format": "int32", + "x-order": 13 }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", @@ -5269,168 +5292,70 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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": 21 - }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 1 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 18 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 12 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 3 - }, - "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 finished.\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": 15 - }, - "table_count": { - "description": "Actual table count at the moment of adding.", - "type": "integer", - "format": "int32", "x-order": 14 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 17 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 10 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 5 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 6 - }, - "username": { - "description": "MySQL username for scraping metrics.", - "type": "string", - "x-order": 4 } }, - "x-order": 3 + "x-order": 1 }, - "node": { - "description": "RemoteRDSNode represents remote RDS Node. Agents can't run on Remote RDS Nodes.", + "mysql": { + "description": "MySQLService represents a generic MySQL instance.", "type": "object", - "properties": { - "address": { - "description": "DB instance identifier.", - "type": "string", - "x-order": 2 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "node_id": { + "properties": { + "service_id": { "description": "Unique randomly generated instance identifier.", "type": "string", "x-order": 0 }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", + "service_name": { + "description": "Unique across all Services user-defined name.", "type": "string", "x-order": 1 }, - "region": { - "description": "Node region.", + "node_id": { + "description": "Node identifier where this instance runs.", "type": "string", - "x-order": 4 - } - }, - "x-order": 0 - }, - "postgresql": { - "description": "PostgreSQLService represents a generic PostgreSQL instance.", - "type": "object", - "properties": { + "x-order": 2 + }, "address": { "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", "type": "string", - "x-order": 4 + "x-order": 3 }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", + "port": { + "description": "Access port.\nPort is required when the address present.", "type": "integer", - "format": "int32", - "x-order": 12 + "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": { @@ -5439,71 +5364,75 @@ "additionalProperties": { "type": "string" }, + "x-order": 9 + }, + "version": { + "description": "MySQL version.", + "type": "string", "x-order": 10 + } + }, + "x-order": 2 + }, + "mysqld_exporter": { + "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, - "database_name": { - "description": "Database name.", + "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 }, - "environment": { - "description": "Environment name.", + "service_id": { + "description": "Service identifier.", "type": "string", - "x-order": 7 + "x-order": 3 }, - "node_id": { - "description": "Node identifier where this instance runs.", + "username": { + "description": "MySQL username for scraping metrics.", "type": "string", - "x-order": 3 + "x-order": 4 }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", + "tls": { + "description": "Use TLS for database connections.", + "type": "boolean", "x-order": 5 }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 9 - }, - "service_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation.", + "type": "boolean", + "x-order": 6 }, - "service_name": { - "description": "Unique across all Services user-defined name.", + "tls_ca": { + "description": "Certificate Authority certificate chain.", "type": "string", - "x-order": 1 + "x-order": 7 }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", + "tls_cert": { + "description": "Client certificate.", "type": "string", - "x-order": 6 + "x-order": 8 }, - "version": { - "description": "PostgreSQL version.", - "type": "string", - "x-order": 11 - } - }, - "x-order": 5 - }, - "postgresql_exporter": { - "description": "PostgresExporter runs on Generic or Container Node and exposes PostgreSQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", + "tls_key": { + "description": "Password for decrypting tls_cert.", "type": "string", - "x-order": 0 + "x-order": 9 }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", + "tablestats_group_table_limit": { + "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", "type": "integer", "format": "int32", - "x-order": 14 + "x-order": 10 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -5511,12 +5440,12 @@ "additionalProperties": { "type": "string" }, - "x-order": 7 + "x-order": 11 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 2 + "x-order": 12 }, "disabled_collectors": { "description": "List of disabled collector names.", @@ -5524,81 +5453,13 @@ "items": { "type": "string" }, - "x-order": 9 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 15 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 11 - }, - "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": 13 }, - "max_exporter_connections": { - "description": "Maximum number of connections that exporter can open to the database instance.", + "table_count": { + "description": "Actual table count at the moment of adding.", "type": "integer", "format": "int32", - "x-order": 16 - }, - "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 - }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, - "mr": { - "description": "Medium resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 17 - }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 1 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 3 + "x-order": 14 }, "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", @@ -5613,53 +5474,24 @@ "AGENT_STATUS_STOPPING", "AGENT_STATUS_DONE", "AGENT_STATUS_UNKNOWN" - ], - "x-order": 10 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 5 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation. Uses sslmode=required instead of verify-full.", - "type": "boolean", - "x-order": 6 - }, - "username": { - "description": "PostgreSQL username for scraping metrics.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 6 - }, - "qan_mysql_perfschema": { - "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 + ], + "x-order": 15 }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 + "listen_port": { + "description": "Listen port for scraping metrics.", + "type": "integer", + "format": "int64", + "x-order": 16 }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", + "tablestats_group_disabled": { + "description": "True if tablestats group collectors are currently disabled.", "type": "boolean", - "x-order": 10 + "x-order": 17 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 18 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -5674,55 +5506,77 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 16 + "x-order": 19 }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 11 + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 20 + }, + "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": 21 + } + }, + "x-order": 3 + }, + "qan_mysql_perfschema": { + "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", "type": "boolean", - "x-order": 12 + "x-order": 2 }, "service_id": { "description": "Service identifier.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "username": { + "description": "MySQL username for getting performance data.", "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": 14 + "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 + }, "tls_ca": { "description": "Certificate Authority certificate chain.", "type": "string", @@ -5738,27 +5592,21 @@ "type": "string", "x-order": 9 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", "type": "boolean", - "x-order": 6 + "x-order": 10 }, - "username": { - "description": "MySQL username for getting performance data.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 4 - }, - "qan_postgresql_pgstatements": { - "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", + "x-order": 11 + }, + "query_examples_disabled": { + "description": "True if query examples are disabled.", + "type": "boolean", + "x-order": 12 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -5766,17 +5614,28 @@ "additionalProperties": { "type": "string" }, - "x-order": 9 + "x-order": 13 }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 5 + "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 finished.\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": 14 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 2 + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 15 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -5791,65 +5650,90 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 12 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 6 + "x-order": 16 + } + }, + "x-order": 4 + }, + "postgresql": { + "description": "PostgreSQLService represents a generic PostgreSQL instance.", + "type": "object", + "properties": { + "service_id": { + "description": "Unique randomly generated instance identifier.", + "type": "string", + "x-order": 0 }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", + "service_name": { + "description": "Unique across all Services user-defined name.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", + "database_name": { + "description": "Database name.", "type": "string", - "x-order": 11 + "x-order": 2 }, - "service_id": { - "description": "Service identifier.", + "node_id": { + "description": "Node identifier where this instance runs.", "type": "string", "x-order": 3 }, - "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", + "address": { + "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", "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 + "x-order": 4 }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", + "port": { + "description": "Access port.\nPort is required when the address present.", + "type": "integer", + "format": "int64", + "x-order": 5 + }, + "socket": { + "description": "Access unix socket.\nAddress (and port) or socket is required.", + "type": "string", + "x-order": 6 + }, + "environment": { + "description": "Environment name.", + "type": "string", "x-order": 7 }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", + "cluster": { + "description": "Cluster name.", + "type": "string", "x-order": 8 }, - "username": { - "description": "PostgreSQL username for getting pg stat statements data.", + "replication_set": { + "description": "Replication set name.", + "type": "string", + "x-order": 9 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 10 + }, + "version": { + "description": "PostgreSQL version.", "type": "string", - "x-order": 4 + "x-order": 11 + }, + "auto_discovery_limit": { + "description": "Limit of databases for auto-discovery.", + "type": "integer", + "format": "int32", + "x-order": 12 } }, - "x-order": 7 + "x-order": 5 }, - "rds_exporter": { - "description": "RDSExporter runs on Generic or Container Node and exposes RemoteRDS Node metrics.", + "postgresql_exporter": { + "description": "PostgresExporter runs on Generic or Container Node and exposes PostgreSQL Service metrics.", "type": "object", "properties": { "agent_id": { @@ -5857,21 +5741,35 @@ "type": "string", "x-order": 0 }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 13 + "pmm_agent_id": { + "description": "The pmm-agent identifier which runs this instance.", + "type": "string", + "x-order": 1 }, - "aws_access_key": { - "description": "AWS Access Key.", + "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": "PostgreSQL username for scraping metrics.", "type": "string", "x-order": 4 }, - "basic_metrics_disabled": { - "description": "Basic metrics are disabled.", + "tls": { + "description": "Use TLS for database connections.", "type": "boolean", - "x-order": 8 + "x-order": 5 + }, + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation. Uses sslmode=required instead of verify-full.", + "type": "boolean", + "x-order": 6 }, "custom_labels": { "description": "Custom user-assigned labels.", @@ -5879,23 +5777,47 @@ "additionalProperties": { "type": "string" }, - "x-order": 5 + "x-order": 7 }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", + "push_metrics_enabled": { + "description": "True if exporter uses push metrics mode.", "type": "boolean", - "x-order": 2 + "x-order": 8 }, - "enhanced_metrics_disabled": { - "description": "Enhanced metrics are disabled.", - "type": "boolean", + "disabled_collectors": { + "description": "List of disabled collector names.", + "type": "array", + "items": { + "type": "string" + }, "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 finished.\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 (the same for several configurations).", + "description": "Listen port for scraping metrics.", "type": "integer", "format": "int64", - "x-order": 7 + "x-order": 11 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 12 }, "log_level": { "description": "- LOG_LEVEL_UNSPECIFIED: Auto", @@ -5910,7 +5832,24 @@ "LOG_LEVEL_INFO", "LOG_LEVEL_DEBUG" ], - "x-order": 12 + "x-order": 13 + }, + "auto_discovery_limit": { + "description": "Limit of databases for auto-discovery.", + "type": "integer", + "format": "int32", + "x-order": 14 + }, + "expose_exporter": { + "type": "boolean", + "title": "Optionally expose the exporter process on all public interfaces", + "x-order": 15 + }, + "max_exporter_connections": { + "description": "Maximum number of connections that exporter can open to the database instance.", + "type": "integer", + "format": "int32", + "x-order": 16 }, "metrics_resolutions": { "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", @@ -5921,38 +5860,79 @@ "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. In JSON should be represented as a string with number of seconds with `s` suffix.", - "type": "string", - "x-order": 2 - }, "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 - }, - "node_id": { - "description": "Node identifier.", + "x-order": 17 + } + }, + "x-order": 6 + }, + "qan_postgresql_pgstatements": { + "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", + "type": "object", + "properties": { + "agent_id": { + "description": "Unique randomly generated instance identifier.", "type": "string", - "x-order": 3 + "x-order": 0 }, "pmm_agent_id": { "description": "The pmm-agent identifier which runs this instance.", "type": "string", "x-order": 1 }, - "process_exec_path": { - "description": "Path to exec process.", + "disabled": { + "description": "Desired Agent status: enabled (false) or disabled (true).", + "type": "boolean", + "x-order": 2 + }, + "service_id": { + "description": "Service identifier.", "type": "string", - "x-order": 11 + "x-order": 3 }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", + "username": { + "description": "PostgreSQL username for getting pg stat statements data.", + "type": "string", + "x-order": 4 + }, + "disable_comments_parsing": { + "description": "Disable parsing comments from queries and showing them in QAN.", "type": "boolean", - "x-order": 10 + "x-order": 5 + }, + "max_query_length": { + "description": "Limit query length in QAN (default: server-defined; -1: no limit).", + "type": "integer", + "format": "int32", + "x-order": 6 + }, + "tls": { + "description": "Use TLS for database connections.", + "type": "boolean", + "x-order": 7 + }, + "tls_skip_verify": { + "description": "Skip TLS certificate and hostname validation.", + "type": "boolean", + "x-order": 8 + }, + "custom_labels": { + "description": "Custom user-assigned labels.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "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 finished.\n - AGENT_STATUS_UNKNOWN: Agent is not connected, we don't know anything about it's state.", @@ -5968,10 +5948,30 @@ "AGENT_STATUS_DONE", "AGENT_STATUS_UNKNOWN" ], - "x-order": 6 + "x-order": 10 + }, + "process_exec_path": { + "description": "Path to exec process.", + "type": "string", + "x-order": 11 + }, + "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": 12 } }, - "x-order": 1 + "x-order": 7 } }, "x-order": 6 @@ -5989,6 +5989,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -5999,13 +6003,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -6029,15 +6029,61 @@ "schema": { "type": "object", "properties": { + "region": { + "description": "Azure database location.", + "type": "string", + "x-order": 0 + }, + "az": { + "description": "Azure database availability zone.", + "type": "string", + "x-order": 1 + }, + "instance_id": { + "description": "Azure database instance ID.", + "type": "string", + "x-order": 2 + }, + "node_model": { + "description": "Represents a purchasable Stock Keeping Unit (SKU) under a product.\nhttps://docs.microsoft.com/en-us/partner-center/develop/product-resources#sku.", + "type": "string", + "x-order": 3 + }, "address": { "description": "Address used to connect to it.", "type": "string", - "x-order": 4 + "x-order": 4 + }, + "port": { + "description": "Access port.", + "type": "integer", + "format": "int64", + "x-order": 5 + }, + "node_name": { + "description": "Unique across all Nodes user-defined name. Defaults to Azure Database instance ID.", + "type": "string", + "x-order": 6 + }, + "service_name": { + "description": "Unique across all Services user-defined name. Defaults to Azure Database instance ID.", + "type": "string", + "x-order": 7 + }, + "environment": { + "description": "Environment name.", + "type": "string", + "x-order": 8 }, - "az": { - "description": "Azure database availability zone.", + "username": { + "description": "Username for scraping metrics.", "type": "string", - "x-order": 1 + "x-order": 9 + }, + "password": { + "description": "Password for scraping metrics.", + "type": "string", + "x-order": 10 }, "azure_client_id": { "description": "Azure client ID.", @@ -6049,96 +6095,44 @@ "type": "string", "x-order": 12 }, - "azure_database_exporter": { - "description": "If true, adds azure_database_exporter.", - "type": "boolean", - "x-order": 16 - }, - "azure_resource_group": { - "description": "Azure resource group.", + "azure_tenant_id": { + "description": "Azure tanant ID.", "type": "string", - "x-order": 15 + "x-order": 13 }, "azure_subscription_id": { "description": "Azure subscription ID.", "type": "string", "x-order": 14 }, - "azure_tenant_id": { - "description": "Azure tanant ID.", + "azure_resource_group": { + "description": "Azure resource group.", "type": "string", - "x-order": 13 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node and Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 18 + "x-order": 15 }, - "disable_query_examples": { - "description": "Disable query examples.", + "azure_database_exporter": { + "description": "If true, adds azure_database_exporter.", "type": "boolean", - "x-order": 22 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 8 - }, - "instance_id": { - "description": "Azure database instance ID.", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Represents a purchasable Stock Keeping Unit (SKU) under a product.\nhttps://docs.microsoft.com/en-us/partner-center/develop/product-resources#sku.", - "type": "string", - "x-order": 3 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name. Defaults to Azure Database instance ID.", - "type": "string", - "x-order": 6 - }, - "password": { - "description": "Password for scraping metrics.", - "type": "string", - "x-order": 10 - }, - "port": { - "description": "Access port.", - "type": "integer", - "format": "int64", - "x-order": 5 + "x-order": 16 }, "qan": { "description": "If true, adds qan-mysql-perfschema-agent or qan-postgresql-pgstatements-agent.", "type": "boolean", "x-order": 17 }, - "region": { - "description": "Azure database location.", - "type": "string", - "x-order": 0 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Defaults to Azure Database instance ID.", - "type": "string", - "x-order": 7 + "custom_labels": { + "description": "Custom user-assigned labels for Node and Service.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 18 }, "skip_connection_check": { "description": "Skip connection check.", "type": "boolean", "x-order": 19 }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors will be disabled if there are more than that number of tables.\nIf zero, server's default value is used.\nUse negative value to disable them.", - "type": "integer", - "format": "int32", - "x-order": 23 - }, "tls": { "description": "Use TLS for database connections.", "type": "boolean", @@ -6149,6 +6143,17 @@ "type": "boolean", "x-order": 21 }, + "disable_query_examples": { + "description": "Disable query examples.", + "type": "boolean", + "x-order": 22 + }, + "tablestats_group_table_limit": { + "description": "Tablestats group collectors will be disabled if there are more than that number of tables.\nIf zero, server's default value is used.\nUse negative value to disable them.", + "type": "integer", + "format": "int32", + "x-order": 23 + }, "type": { "description": "DiscoverAzureDatabaseType describes supported Azure Database instance engines.\n\n - DISCOVER_AZURE_DATABASE_TYPE_MYSQL: MySQL type: microsoft.dbformysql or MariaDB type: microsoft.dbformariadb\n - DISCOVER_AZURE_DATABASE_TYPE_POSTGRESQL: PostgreSQL type: microsoft.dbformysql", "type": "string", @@ -6159,11 +6164,6 @@ "DISCOVER_AZURE_DATABASE_TYPE_POSTGRESQL" ], "x-order": 24 - }, - "username": { - "description": "Username for scraping metrics.", - "type": "string", - "x-order": 9 } } } @@ -6186,6 +6186,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -6196,13 +6200,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -6260,6 +6260,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -6270,13 +6274,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -6312,15 +6312,15 @@ "type": "string", "x-order": 1 }, - "azure_subscription_id": { - "description": "Azure subscription ID.", - "type": "string", - "x-order": 3 - }, "azure_tenant_id": { "description": "Azure tanant ID.", "type": "string", "x-order": 2 + }, + "azure_subscription_id": { + "description": "Azure subscription ID.", + "type": "string", + "x-order": 3 } } } @@ -6339,36 +6339,11 @@ "description": "DiscoverAzureDatabaseInstance models an unique Azure Database instance for the list of instances returned by Discovery.", "type": "object", "properties": { - "address": { - "description": "Address used to connect to it.", - "type": "string", - "x-order": 4 - }, - "az": { - "description": "Azure database availability zone.", - "type": "string", - "x-order": 8 - }, - "azure_resource_group": { - "description": "Azure Resource group.", - "type": "string", - "x-order": 5 - }, - "environment": { - "description": "Environment tag.", - "type": "string", - "x-order": 6 - }, "instance_id": { "description": "Azure database instance ID.", "type": "string", "x-order": 0 }, - "node_model": { - "description": "Represents a purchasable Stock Keeping Unit (SKU) under a product.\nhttps://docs.microsoft.com/en-us/partner-center/develop/product-resources#sku.", - "type": "string", - "x-order": 9 - }, "region": { "description": "Azure database location.", "type": "string", @@ -6379,6 +6354,26 @@ "type": "string", "x-order": 2 }, + "username": { + "description": "Database username.", + "type": "string", + "x-order": 3 + }, + "address": { + "description": "Address used to connect to it.", + "type": "string", + "x-order": 4 + }, + "azure_resource_group": { + "description": "Azure Resource group.", + "type": "string", + "x-order": 5 + }, + "environment": { + "description": "Environment tag.", + "type": "string", + "x-order": 6 + }, "type": { "description": "DiscoverAzureDatabaseType describes supported Azure Database instance engines.\n\n - DISCOVER_AZURE_DATABASE_TYPE_MYSQL: MySQL type: microsoft.dbformysql or MariaDB type: microsoft.dbformariadb\n - DISCOVER_AZURE_DATABASE_TYPE_POSTGRESQL: PostgreSQL type: microsoft.dbformysql", "type": "string", @@ -6390,10 +6385,15 @@ ], "x-order": 7 }, - "username": { - "description": "Database username.", + "az": { + "description": "Azure database availability zone.", "type": "string", - "x-order": 3 + "x-order": 8 + }, + "node_model": { + "description": "Represents a purchasable Stock Keeping Unit (SKU) under a product.\nhttps://docs.microsoft.com/en-us/partner-center/develop/product-resources#sku.", + "type": "string", + "x-order": 9 } } }, @@ -6412,6 +6412,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -6422,13 +6426,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -6478,32 +6478,16 @@ "description": "DiscoverRDSInstance models an unique RDS instance for the list of instances returned by Discovery.", "type": "object", "properties": { - "address": { - "description": "Address used to connect to it.", + "region": { + "description": "AWS region.", "type": "string", - "x-order": 4 + "x-order": 0 }, "az": { "description": "AWS availability zone.", "type": "string", "x-order": 1 }, - "engine": { - "description": "DiscoverRDSEngine describes supported RDS instance engines.", - "type": "string", - "default": "DISCOVER_RDS_ENGINE_UNSPECIFIED", - "enum": [ - "DISCOVER_RDS_ENGINE_UNSPECIFIED", - "DISCOVER_RDS_ENGINE_MYSQL", - "DISCOVER_RDS_ENGINE_POSTGRESQL" - ], - "x-order": 6 - }, - "engine_version": { - "description": "Engine version.", - "type": "string", - "x-order": 7 - }, "instance_id": { "description": "AWS instance ID.", "type": "string", @@ -6514,16 +6498,32 @@ "type": "string", "x-order": 3 }, + "address": { + "description": "Address used to connect to it.", + "type": "string", + "x-order": 4 + }, "port": { "description": "Access port.", "type": "integer", "format": "int64", "x-order": 5 }, - "region": { - "description": "AWS region.", + "engine": { + "description": "DiscoverRDSEngine describes supported RDS instance engines.", "type": "string", - "x-order": 0 + "default": "DISCOVER_RDS_ENGINE_UNSPECIFIED", + "enum": [ + "DISCOVER_RDS_ENGINE_UNSPECIFIED", + "DISCOVER_RDS_ENGINE_MYSQL", + "DISCOVER_RDS_ENGINE_POSTGRESQL" + ], + "x-order": 6 + }, + "engine_version": { + "description": "Engine version.", + "type": "string", + "x-order": 7 } } }, @@ -6542,6 +6542,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -6552,13 +6556,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } diff --git a/api/platform/v1/json/client/platform_service/connect_responses.go b/api/platform/v1/json/client/platform_service/connect_responses.go index a0a4c5e5f4..078c378f0e 100644 --- a/api/platform/v1/json/client/platform_service/connect_responses.go +++ b/api/platform/v1/json/client/platform_service/connect_responses.go @@ -7,6 +7,7 @@ package platform_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type ConnectOK struct { Payload interface{} } +// IsSuccess returns true when this connect Ok response has a 2xx status code +func (o *ConnectOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this connect Ok response has a 3xx status code +func (o *ConnectOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this connect Ok response has a 4xx status code +func (o *ConnectOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this connect Ok response has a 5xx status code +func (o *ConnectOK) IsServerError() bool { + return false +} + +// IsCode returns true when this connect Ok response a status code equal to that given +func (o *ConnectOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the connect Ok response +func (o *ConnectOK) Code() int { + return 200 +} + func (o *ConnectOK) Error() string { - return fmt.Sprintf("[POST /v1/platform:connect][%d] connectOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/platform:connect][%d] connectOk %s", 200, payload) +} + +func (o *ConnectOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/platform:connect][%d] connectOk %s", 200, payload) } func (o *ConnectOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type ConnectDefault struct { Payload *ConnectDefaultBody } +// IsSuccess returns true when this connect default response has a 2xx status code +func (o *ConnectDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this connect default response has a 3xx status code +func (o *ConnectDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this connect default response has a 4xx status code +func (o *ConnectDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this connect default response has a 5xx status code +func (o *ConnectDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this connect default response a status code equal to that given +func (o *ConnectDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the connect default response func (o *ConnectDefault) Code() int { return o._statusCode } func (o *ConnectDefault) Error() string { - return fmt.Sprintf("[POST /v1/platform:connect][%d] Connect default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/platform:connect][%d] Connect default %s", o._statusCode, payload) +} + +func (o *ConnectDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/platform:connect][%d] Connect default %s", o._statusCode, payload) } func (o *ConnectDefault) GetPayload() *ConnectDefaultBody { @@ -228,6 +296,11 @@ func (o *ConnectDefaultBody) ContextValidate(ctx context.Context, formats strfmt func (o *ConnectDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("Connect default" + "." + "details" + "." + strconv.Itoa(i)) @@ -267,6 +340,80 @@ swagger:model ConnectDefaultBodyDetailsItems0 type ConnectDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // connect default body details items0 + ConnectDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ConnectDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ConnectDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ConnectDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ConnectDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ConnectDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ConnectDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this connect default body details items0 diff --git a/api/platform/v1/json/client/platform_service/disconnect_responses.go b/api/platform/v1/json/client/platform_service/disconnect_responses.go index 6ec1e882c2..210eafa639 100644 --- a/api/platform/v1/json/client/platform_service/disconnect_responses.go +++ b/api/platform/v1/json/client/platform_service/disconnect_responses.go @@ -7,6 +7,7 @@ package platform_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type DisconnectOK struct { Payload interface{} } +// IsSuccess returns true when this disconnect Ok response has a 2xx status code +func (o *DisconnectOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this disconnect Ok response has a 3xx status code +func (o *DisconnectOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this disconnect Ok response has a 4xx status code +func (o *DisconnectOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this disconnect Ok response has a 5xx status code +func (o *DisconnectOK) IsServerError() bool { + return false +} + +// IsCode returns true when this disconnect Ok response a status code equal to that given +func (o *DisconnectOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the disconnect Ok response +func (o *DisconnectOK) Code() int { + return 200 +} + func (o *DisconnectOK) Error() string { - return fmt.Sprintf("[POST /v1/platform:disconnect][%d] disconnectOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/platform:disconnect][%d] disconnectOk %s", 200, payload) +} + +func (o *DisconnectOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/platform:disconnect][%d] disconnectOk %s", 200, payload) } func (o *DisconnectOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type DisconnectDefault struct { Payload *DisconnectDefaultBody } +// IsSuccess returns true when this disconnect default response has a 2xx status code +func (o *DisconnectDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this disconnect default response has a 3xx status code +func (o *DisconnectDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this disconnect default response has a 4xx status code +func (o *DisconnectDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this disconnect default response has a 5xx status code +func (o *DisconnectDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this disconnect default response a status code equal to that given +func (o *DisconnectDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the disconnect default response func (o *DisconnectDefault) Code() int { return o._statusCode } func (o *DisconnectDefault) Error() string { - return fmt.Sprintf("[POST /v1/platform:disconnect][%d] Disconnect default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/platform:disconnect][%d] Disconnect default %s", o._statusCode, payload) +} + +func (o *DisconnectDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/platform:disconnect][%d] Disconnect default %s", o._statusCode, payload) } func (o *DisconnectDefault) GetPayload() *DisconnectDefaultBody { @@ -225,6 +293,11 @@ func (o *DisconnectDefaultBody) ContextValidate(ctx context.Context, formats str func (o *DisconnectDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("Disconnect default" + "." + "details" + "." + strconv.Itoa(i)) @@ -264,6 +337,80 @@ swagger:model DisconnectDefaultBodyDetailsItems0 type DisconnectDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // disconnect default body details items0 + DisconnectDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *DisconnectDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv DisconnectDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.DisconnectDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o DisconnectDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.DisconnectDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.DisconnectDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this disconnect default body details items0 diff --git a/api/platform/v1/json/client/platform_service/get_contact_information_responses.go b/api/platform/v1/json/client/platform_service/get_contact_information_responses.go index 19b2083d4e..048cac1845 100644 --- a/api/platform/v1/json/client/platform_service/get_contact_information_responses.go +++ b/api/platform/v1/json/client/platform_service/get_contact_information_responses.go @@ -7,6 +7,7 @@ package platform_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type GetContactInformationOK struct { Payload *GetContactInformationOKBody } +// IsSuccess returns true when this get contact information Ok response has a 2xx status code +func (o *GetContactInformationOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get contact information Ok response has a 3xx status code +func (o *GetContactInformationOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get contact information Ok response has a 4xx status code +func (o *GetContactInformationOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get contact information Ok response has a 5xx status code +func (o *GetContactInformationOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get contact information Ok response a status code equal to that given +func (o *GetContactInformationOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get contact information Ok response +func (o *GetContactInformationOK) Code() int { + return 200 +} + func (o *GetContactInformationOK) Error() string { - return fmt.Sprintf("[GET /v1/platform/contact][%d] getContactInformationOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/platform/contact][%d] getContactInformationOk %s", 200, payload) +} + +func (o *GetContactInformationOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/platform/contact][%d] getContactInformationOk %s", 200, payload) } func (o *GetContactInformationOK) GetPayload() *GetContactInformationOKBody { @@ -94,13 +131,44 @@ type GetContactInformationDefault struct { Payload *GetContactInformationDefaultBody } +// IsSuccess returns true when this get contact information default response has a 2xx status code +func (o *GetContactInformationDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this get contact information default response has a 3xx status code +func (o *GetContactInformationDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this get contact information default response has a 4xx status code +func (o *GetContactInformationDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this get contact information default response has a 5xx status code +func (o *GetContactInformationDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this get contact information default response a status code equal to that given +func (o *GetContactInformationDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the get contact information default response func (o *GetContactInformationDefault) Code() int { return o._statusCode } func (o *GetContactInformationDefault) Error() string { - return fmt.Sprintf("[GET /v1/platform/contact][%d] GetContactInformation default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/platform/contact][%d] GetContactInformation default %s", o._statusCode, payload) +} + +func (o *GetContactInformationDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/platform/contact][%d] GetContactInformation default %s", o._statusCode, payload) } func (o *GetContactInformationDefault) GetPayload() *GetContactInformationDefaultBody { @@ -190,6 +258,11 @@ func (o *GetContactInformationDefaultBody) ContextValidate(ctx context.Context, func (o *GetContactInformationDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("GetContactInformation default" + "." + "details" + "." + strconv.Itoa(i)) @@ -229,6 +302,80 @@ swagger:model GetContactInformationDefaultBodyDetailsItems0 type GetContactInformationDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // get contact information default body details items0 + GetContactInformationDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *GetContactInformationDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv GetContactInformationDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.GetContactInformationDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o GetContactInformationDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.GetContactInformationDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.GetContactInformationDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this get contact information default body details items0 @@ -320,6 +467,11 @@ func (o *GetContactInformationOKBody) ContextValidate(ctx context.Context, forma func (o *GetContactInformationOKBody) contextValidateCustomerSuccess(ctx context.Context, formats strfmt.Registry) error { if o.CustomerSuccess != nil { + + if swag.IsZero(o.CustomerSuccess) { // not required + return nil + } + if err := o.CustomerSuccess.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getContactInformationOk" + "." + "customer_success") diff --git a/api/platform/v1/json/client/platform_service/platform_service_client.go b/api/platform/v1/json/client/platform_service/platform_service_client.go index ada337e47e..ebb246cc64 100644 --- a/api/platform/v1/json/client/platform_service/platform_service_client.go +++ b/api/platform/v1/json/client/platform_service/platform_service_client.go @@ -7,6 +7,7 @@ package platform_service import ( "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" ) @@ -15,6 +16,31 @@ func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientServi return &Client{transport: transport, formats: formats} } +// New creates a new platform service API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new platform service API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + /* Client for platform service API */ @@ -23,7 +49,7 @@ type Client struct { formats strfmt.Registry } -// ClientOption is the option for Client methods +// ClientOption may be used to customize the behavior of Client methods. type ClientOption func(*runtime.ClientOperation) // ClientService is the interface for Client methods diff --git a/api/platform/v1/json/client/platform_service/search_organization_entitlements_responses.go b/api/platform/v1/json/client/platform_service/search_organization_entitlements_responses.go index 5294d803b6..eabef9309b 100644 --- a/api/platform/v1/json/client/platform_service/search_organization_entitlements_responses.go +++ b/api/platform/v1/json/client/platform_service/search_organization_entitlements_responses.go @@ -7,6 +7,7 @@ package platform_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -58,8 +59,44 @@ type SearchOrganizationEntitlementsOK struct { Payload *SearchOrganizationEntitlementsOKBody } +// IsSuccess returns true when this search organization entitlements Ok response has a 2xx status code +func (o *SearchOrganizationEntitlementsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this search organization entitlements Ok response has a 3xx status code +func (o *SearchOrganizationEntitlementsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this search organization entitlements Ok response has a 4xx status code +func (o *SearchOrganizationEntitlementsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this search organization entitlements Ok response has a 5xx status code +func (o *SearchOrganizationEntitlementsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this search organization entitlements Ok response a status code equal to that given +func (o *SearchOrganizationEntitlementsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the search organization entitlements Ok response +func (o *SearchOrganizationEntitlementsOK) Code() int { + return 200 +} + func (o *SearchOrganizationEntitlementsOK) Error() string { - return fmt.Sprintf("[GET /v1/platform/organization/entitlements][%d] searchOrganizationEntitlementsOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/platform/organization/entitlements][%d] searchOrganizationEntitlementsOk %s", 200, payload) +} + +func (o *SearchOrganizationEntitlementsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/platform/organization/entitlements][%d] searchOrganizationEntitlementsOk %s", 200, payload) } func (o *SearchOrganizationEntitlementsOK) GetPayload() *SearchOrganizationEntitlementsOKBody { @@ -95,13 +132,44 @@ type SearchOrganizationEntitlementsDefault struct { Payload *SearchOrganizationEntitlementsDefaultBody } +// IsSuccess returns true when this search organization entitlements default response has a 2xx status code +func (o *SearchOrganizationEntitlementsDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this search organization entitlements default response has a 3xx status code +func (o *SearchOrganizationEntitlementsDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this search organization entitlements default response has a 4xx status code +func (o *SearchOrganizationEntitlementsDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this search organization entitlements default response has a 5xx status code +func (o *SearchOrganizationEntitlementsDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this search organization entitlements default response a status code equal to that given +func (o *SearchOrganizationEntitlementsDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the search organization entitlements default response func (o *SearchOrganizationEntitlementsDefault) Code() int { return o._statusCode } func (o *SearchOrganizationEntitlementsDefault) Error() string { - return fmt.Sprintf("[GET /v1/platform/organization/entitlements][%d] SearchOrganizationEntitlements default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/platform/organization/entitlements][%d] SearchOrganizationEntitlements default %s", o._statusCode, payload) +} + +func (o *SearchOrganizationEntitlementsDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/platform/organization/entitlements][%d] SearchOrganizationEntitlements default %s", o._statusCode, payload) } func (o *SearchOrganizationEntitlementsDefault) GetPayload() *SearchOrganizationEntitlementsDefaultBody { @@ -191,6 +259,11 @@ func (o *SearchOrganizationEntitlementsDefaultBody) ContextValidate(ctx context. func (o *SearchOrganizationEntitlementsDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("SearchOrganizationEntitlements default" + "." + "details" + "." + strconv.Itoa(i)) @@ -230,6 +303,80 @@ swagger:model SearchOrganizationEntitlementsDefaultBodyDetailsItems0 type SearchOrganizationEntitlementsDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // search organization entitlements default body details items0 + SearchOrganizationEntitlementsDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *SearchOrganizationEntitlementsDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv SearchOrganizationEntitlementsDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.SearchOrganizationEntitlementsDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o SearchOrganizationEntitlementsDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.SearchOrganizationEntitlementsDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.SearchOrganizationEntitlementsDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this search organization entitlements default body details items0 @@ -326,6 +473,11 @@ func (o *SearchOrganizationEntitlementsOKBody) ContextValidate(ctx context.Conte func (o *SearchOrganizationEntitlementsOKBody) contextValidateEntitlements(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Entitlements); i++ { if o.Entitlements[i] != nil { + + if swag.IsZero(o.Entitlements[i]) { // not required + return nil + } + if err := o.Entitlements[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("searchOrganizationEntitlementsOk" + "." + "entitlements" + "." + strconv.Itoa(i)) @@ -482,6 +634,11 @@ func (o *SearchOrganizationEntitlementsOKBodyEntitlementsItems0) ContextValidate func (o *SearchOrganizationEntitlementsOKBodyEntitlementsItems0) contextValidatePlatform(ctx context.Context, formats strfmt.Registry) error { if o.Platform != nil { + + if swag.IsZero(o.Platform) { // not required + return nil + } + if err := o.Platform.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("platform") diff --git a/api/platform/v1/json/client/platform_service/search_organization_tickets_responses.go b/api/platform/v1/json/client/platform_service/search_organization_tickets_responses.go index 0c3972d55f..dc9d57f422 100644 --- a/api/platform/v1/json/client/platform_service/search_organization_tickets_responses.go +++ b/api/platform/v1/json/client/platform_service/search_organization_tickets_responses.go @@ -7,6 +7,7 @@ package platform_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -58,8 +59,44 @@ type SearchOrganizationTicketsOK struct { Payload *SearchOrganizationTicketsOKBody } +// IsSuccess returns true when this search organization tickets Ok response has a 2xx status code +func (o *SearchOrganizationTicketsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this search organization tickets Ok response has a 3xx status code +func (o *SearchOrganizationTicketsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this search organization tickets Ok response has a 4xx status code +func (o *SearchOrganizationTicketsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this search organization tickets Ok response has a 5xx status code +func (o *SearchOrganizationTicketsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this search organization tickets Ok response a status code equal to that given +func (o *SearchOrganizationTicketsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the search organization tickets Ok response +func (o *SearchOrganizationTicketsOK) Code() int { + return 200 +} + func (o *SearchOrganizationTicketsOK) Error() string { - return fmt.Sprintf("[GET /v1/platform/organization/tickets][%d] searchOrganizationTicketsOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/platform/organization/tickets][%d] searchOrganizationTicketsOk %s", 200, payload) +} + +func (o *SearchOrganizationTicketsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/platform/organization/tickets][%d] searchOrganizationTicketsOk %s", 200, payload) } func (o *SearchOrganizationTicketsOK) GetPayload() *SearchOrganizationTicketsOKBody { @@ -95,13 +132,44 @@ type SearchOrganizationTicketsDefault struct { Payload *SearchOrganizationTicketsDefaultBody } +// IsSuccess returns true when this search organization tickets default response has a 2xx status code +func (o *SearchOrganizationTicketsDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this search organization tickets default response has a 3xx status code +func (o *SearchOrganizationTicketsDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this search organization tickets default response has a 4xx status code +func (o *SearchOrganizationTicketsDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this search organization tickets default response has a 5xx status code +func (o *SearchOrganizationTicketsDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this search organization tickets default response a status code equal to that given +func (o *SearchOrganizationTicketsDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the search organization tickets default response func (o *SearchOrganizationTicketsDefault) Code() int { return o._statusCode } func (o *SearchOrganizationTicketsDefault) Error() string { - return fmt.Sprintf("[GET /v1/platform/organization/tickets][%d] SearchOrganizationTickets default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/platform/organization/tickets][%d] SearchOrganizationTickets default %s", o._statusCode, payload) +} + +func (o *SearchOrganizationTicketsDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/platform/organization/tickets][%d] SearchOrganizationTickets default %s", o._statusCode, payload) } func (o *SearchOrganizationTicketsDefault) GetPayload() *SearchOrganizationTicketsDefaultBody { @@ -191,6 +259,11 @@ func (o *SearchOrganizationTicketsDefaultBody) ContextValidate(ctx context.Conte func (o *SearchOrganizationTicketsDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("SearchOrganizationTickets default" + "." + "details" + "." + strconv.Itoa(i)) @@ -230,6 +303,80 @@ swagger:model SearchOrganizationTicketsDefaultBodyDetailsItems0 type SearchOrganizationTicketsDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // search organization tickets default body details items0 + SearchOrganizationTicketsDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *SearchOrganizationTicketsDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv SearchOrganizationTicketsDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.SearchOrganizationTicketsDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o SearchOrganizationTicketsDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.SearchOrganizationTicketsDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.SearchOrganizationTicketsDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this search organization tickets default body details items0 @@ -326,6 +473,11 @@ func (o *SearchOrganizationTicketsOKBody) ContextValidate(ctx context.Context, f func (o *SearchOrganizationTicketsOKBody) contextValidateTickets(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Tickets); i++ { if o.Tickets[i] != nil { + + if swag.IsZero(o.Tickets[i]) { // not required + return nil + } + if err := o.Tickets[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("searchOrganizationTicketsOk" + "." + "tickets" + "." + strconv.Itoa(i)) diff --git a/api/platform/v1/json/client/platform_service/server_info_responses.go b/api/platform/v1/json/client/platform_service/server_info_responses.go index c28aa272c1..10d6d12ff4 100644 --- a/api/platform/v1/json/client/platform_service/server_info_responses.go +++ b/api/platform/v1/json/client/platform_service/server_info_responses.go @@ -7,6 +7,7 @@ package platform_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type ServerInfoOK struct { Payload *ServerInfoOKBody } +// IsSuccess returns true when this server info Ok response has a 2xx status code +func (o *ServerInfoOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this server info Ok response has a 3xx status code +func (o *ServerInfoOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this server info Ok response has a 4xx status code +func (o *ServerInfoOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this server info Ok response has a 5xx status code +func (o *ServerInfoOK) IsServerError() bool { + return false +} + +// IsCode returns true when this server info Ok response a status code equal to that given +func (o *ServerInfoOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the server info Ok response +func (o *ServerInfoOK) Code() int { + return 200 +} + func (o *ServerInfoOK) Error() string { - return fmt.Sprintf("[GET /v1/platform/server][%d] serverInfoOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/platform/server][%d] serverInfoOk %s", 200, payload) +} + +func (o *ServerInfoOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/platform/server][%d] serverInfoOk %s", 200, payload) } func (o *ServerInfoOK) GetPayload() *ServerInfoOKBody { @@ -94,13 +131,44 @@ type ServerInfoDefault struct { Payload *ServerInfoDefaultBody } +// IsSuccess returns true when this server info default response has a 2xx status code +func (o *ServerInfoDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this server info default response has a 3xx status code +func (o *ServerInfoDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this server info default response has a 4xx status code +func (o *ServerInfoDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this server info default response has a 5xx status code +func (o *ServerInfoDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this server info default response a status code equal to that given +func (o *ServerInfoDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the server info default response func (o *ServerInfoDefault) Code() int { return o._statusCode } func (o *ServerInfoDefault) Error() string { - return fmt.Sprintf("[GET /v1/platform/server][%d] ServerInfo default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/platform/server][%d] ServerInfo default %s", o._statusCode, payload) +} + +func (o *ServerInfoDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/platform/server][%d] ServerInfo default %s", o._statusCode, payload) } func (o *ServerInfoDefault) GetPayload() *ServerInfoDefaultBody { @@ -190,6 +258,11 @@ func (o *ServerInfoDefaultBody) ContextValidate(ctx context.Context, formats str func (o *ServerInfoDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ServerInfo default" + "." + "details" + "." + strconv.Itoa(i)) @@ -229,6 +302,80 @@ swagger:model ServerInfoDefaultBodyDetailsItems0 type ServerInfoDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // server info default body details items0 + ServerInfoDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ServerInfoDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ServerInfoDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ServerInfoDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ServerInfoDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ServerInfoDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ServerInfoDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this server info default body details items0 diff --git a/api/platform/v1/json/client/platform_service/user_status_responses.go b/api/platform/v1/json/client/platform_service/user_status_responses.go index e4113b9f1e..1cfe76a4d0 100644 --- a/api/platform/v1/json/client/platform_service/user_status_responses.go +++ b/api/platform/v1/json/client/platform_service/user_status_responses.go @@ -7,6 +7,7 @@ package platform_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type UserStatusOK struct { Payload *UserStatusOKBody } +// IsSuccess returns true when this user status Ok response has a 2xx status code +func (o *UserStatusOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this user status Ok response has a 3xx status code +func (o *UserStatusOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this user status Ok response has a 4xx status code +func (o *UserStatusOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this user status Ok response has a 5xx status code +func (o *UserStatusOK) IsServerError() bool { + return false +} + +// IsCode returns true when this user status Ok response a status code equal to that given +func (o *UserStatusOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the user status Ok response +func (o *UserStatusOK) Code() int { + return 200 +} + func (o *UserStatusOK) Error() string { - return fmt.Sprintf("[GET /v1/platform/user][%d] userStatusOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/platform/user][%d] userStatusOk %s", 200, payload) +} + +func (o *UserStatusOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/platform/user][%d] userStatusOk %s", 200, payload) } func (o *UserStatusOK) GetPayload() *UserStatusOKBody { @@ -94,13 +131,44 @@ type UserStatusDefault struct { Payload *UserStatusDefaultBody } +// IsSuccess returns true when this user status default response has a 2xx status code +func (o *UserStatusDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this user status default response has a 3xx status code +func (o *UserStatusDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this user status default response has a 4xx status code +func (o *UserStatusDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this user status default response has a 5xx status code +func (o *UserStatusDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this user status default response a status code equal to that given +func (o *UserStatusDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the user status default response func (o *UserStatusDefault) Code() int { return o._statusCode } func (o *UserStatusDefault) Error() string { - return fmt.Sprintf("[GET /v1/platform/user][%d] UserStatus default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/platform/user][%d] UserStatus default %s", o._statusCode, payload) +} + +func (o *UserStatusDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/platform/user][%d] UserStatus default %s", o._statusCode, payload) } func (o *UserStatusDefault) GetPayload() *UserStatusDefaultBody { @@ -190,6 +258,11 @@ func (o *UserStatusDefaultBody) ContextValidate(ctx context.Context, formats str func (o *UserStatusDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("UserStatus default" + "." + "details" + "." + strconv.Itoa(i)) @@ -229,6 +302,80 @@ swagger:model UserStatusDefaultBodyDetailsItems0 type UserStatusDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // user status default body details items0 + UserStatusDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *UserStatusDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv UserStatusDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.UserStatusDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o UserStatusDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.UserStatusDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.UserStatusDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this user status default body details items0 diff --git a/api/platform/v1/json/v1.json b/api/platform/v1/json/v1.json index 34e8de03ec..560ccdd639 100644 --- a/api/platform/v1/json/v1.json +++ b/api/platform/v1/json/v1.json @@ -33,13 +33,13 @@ "description": "CustomerSuccess contains the contanct details of the customer success employee assigned to a customer's account.", "type": "object", "properties": { - "email": { - "type": "string", - "x-order": 1 - }, "name": { "type": "string", "x-order": 0 + }, + "email": { + "type": "string", + "x-order": 1 } }, "x-order": 0 @@ -62,6 +62,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -72,13 +76,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -106,66 +106,21 @@ "description": "OrganizationEntitlement contains information about Organization entitlement.", "type": "object", "properties": { - "end_date": { - "description": "Entitlement end date.\nNote: only date is used here but not time.", - "type": "string", - "format": "date-time", - "x-order": 9 - }, - "name": { - "description": "Entitlement name.", - "type": "string", - "x-order": 1 - }, "number": { "description": "Entitlement number.", "type": "string", "x-order": 0 }, - "platform": { - "description": "Platform indicates platform specific entitlements.", - "type": "object", - "properties": { - "config_advisor": { - "description": "Flag indicates that config advisors are covered by this entitlement.", - "type": "string", - "x-nullable": true, - "x-order": 1 - }, - "security_advisor": { - "description": "Flag indicates that security advisors are covered by this entitlement.", - "type": "string", - "x-nullable": true, - "x-order": 0 - } - }, - "x-order": 10 - }, - "software_families": { - "description": "Percona product families covered by this entitlement.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 7 - }, - "start_date": { - "description": "Entitlement start data.\nNote: only date is used here but not time.", + "name": { + "description": "Entitlement name.", "type": "string", - "format": "date-time", - "x-order": 8 + "x-order": 1 }, "summary": { "description": "Entitlement short summary.", "type": "string", "x-order": 2 }, - "support_level": { - "description": "Support level covered by this entitlement.", - "type": "string", - "x-nullable": true, - "x-order": 6 - }, "tier": { "description": "Entitlement tier.", "type": "string", @@ -183,6 +138,51 @@ "type": "boolean", "x-nullable": true, "x-order": 5 + }, + "support_level": { + "description": "Support level covered by this entitlement.", + "type": "string", + "x-nullable": true, + "x-order": 6 + }, + "software_families": { + "description": "Percona product families covered by this entitlement.", + "type": "array", + "items": { + "type": "string" + }, + "x-order": 7 + }, + "start_date": { + "description": "Entitlement start data.\nNote: only date is used here but not time.", + "type": "string", + "format": "date-time", + "x-order": 8 + }, + "end_date": { + "description": "Entitlement end date.\nNote: only date is used here but not time.", + "type": "string", + "format": "date-time", + "x-order": 9 + }, + "platform": { + "description": "Platform indicates platform specific entitlements.", + "type": "object", + "properties": { + "security_advisor": { + "description": "Flag indicates that security advisors are covered by this entitlement.", + "type": "string", + "x-nullable": true, + "x-order": 0 + }, + "config_advisor": { + "description": "Flag indicates that config advisors are covered by this entitlement.", + "type": "string", + "x-nullable": true, + "x-order": 1 + } + }, + "x-order": 10 } } }, @@ -201,6 +201,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -211,13 +215,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -246,41 +246,41 @@ "description": "OrganizationTicket contains information about the support ticket.", "type": "object", "properties": { - "create_time": { - "description": "Ticket creation time.", - "type": "string", - "format": "date-time", - "x-order": 4 - }, - "department": { - "description": "Department.", - "type": "string", - "x-order": 5 - }, "number": { "description": "Ticket number.", "type": "string", "x-order": 0 }, + "short_description": { + "description": "Ticket short description.", + "type": "string", + "x-order": 1 + }, "priority": { "description": "Ticket priority.", "type": "string", "x-order": 2 }, - "requester": { - "description": "Ticket requester.", + "state": { + "description": "Ticket state.", "type": "string", - "x-order": 6 + "x-order": 3 }, - "short_description": { - "description": "Ticket short description.", + "create_time": { + "description": "Ticket creation time.", "type": "string", - "x-order": 1 + "format": "date-time", + "x-order": 4 }, - "state": { - "description": "Ticket state.", + "department": { + "description": "Department.", "type": "string", - "x-order": 3 + "x-order": 5 + }, + "requester": { + "description": "Ticket requester.", + "type": "string", + "x-order": 6 }, "task_type": { "description": "Task type.", @@ -309,6 +309,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -319,13 +323,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -347,21 +347,21 @@ "schema": { "type": "object", "properties": { - "connected_to_portal": { - "type": "boolean", - "x-order": 3 + "pmm_server_name": { + "type": "string", + "x-order": 0 }, "pmm_server_id": { "type": "string", "x-order": 1 }, - "pmm_server_name": { - "type": "string", - "x-order": 0 - }, "pmm_server_telemetry_id": { "type": "string", "x-order": 2 + }, + "connected_to_portal": { + "type": "boolean", + "x-order": 3 } } } @@ -376,6 +376,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -386,13 +390,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -431,6 +431,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -441,13 +445,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -471,15 +471,15 @@ "schema": { "type": "object", "properties": { - "personal_access_token": { - "description": "Personal Access Token that the user obtains from Percona Portal.", - "type": "string", - "x-order": 1 - }, "server_name": { "description": "User defined human readable PMM Server Name.", "type": "string", "x-order": 0 + }, + "personal_access_token": { + "description": "Personal Access Token that the user obtains from Percona Portal.", + "type": "string", + "x-order": 1 } } } @@ -502,6 +502,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -512,13 +516,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -568,6 +568,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -578,13 +582,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } diff --git a/api/qan/v1/json/client/qan_service/explain_fingerprint_by_query_id_responses.go b/api/qan/v1/json/client/qan_service/explain_fingerprint_by_query_id_responses.go index 83cd1036ea..49d669294f 100644 --- a/api/qan/v1/json/client/qan_service/explain_fingerprint_by_query_id_responses.go +++ b/api/qan/v1/json/client/qan_service/explain_fingerprint_by_query_id_responses.go @@ -7,6 +7,7 @@ package qan_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type ExplainFingerprintByQueryIDOK struct { Payload *ExplainFingerprintByQueryIDOKBody } +// IsSuccess returns true when this explain fingerprint by query Id Ok response has a 2xx status code +func (o *ExplainFingerprintByQueryIDOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this explain fingerprint by query Id Ok response has a 3xx status code +func (o *ExplainFingerprintByQueryIDOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this explain fingerprint by query Id Ok response has a 4xx status code +func (o *ExplainFingerprintByQueryIDOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this explain fingerprint by query Id Ok response has a 5xx status code +func (o *ExplainFingerprintByQueryIDOK) IsServerError() bool { + return false +} + +// IsCode returns true when this explain fingerprint by query Id Ok response a status code equal to that given +func (o *ExplainFingerprintByQueryIDOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the explain fingerprint by query Id Ok response +func (o *ExplainFingerprintByQueryIDOK) Code() int { + return 200 +} + func (o *ExplainFingerprintByQueryIDOK) Error() string { - return fmt.Sprintf("[POST /v1/qan:explainFingerprint][%d] explainFingerprintByQueryIdOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan:explainFingerprint][%d] explainFingerprintByQueryIdOk %s", 200, payload) +} + +func (o *ExplainFingerprintByQueryIDOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan:explainFingerprint][%d] explainFingerprintByQueryIdOk %s", 200, payload) } func (o *ExplainFingerprintByQueryIDOK) GetPayload() *ExplainFingerprintByQueryIDOKBody { @@ -94,13 +131,44 @@ type ExplainFingerprintByQueryIDDefault struct { Payload *ExplainFingerprintByQueryIDDefaultBody } +// IsSuccess returns true when this explain fingerprint by query ID default response has a 2xx status code +func (o *ExplainFingerprintByQueryIDDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this explain fingerprint by query ID default response has a 3xx status code +func (o *ExplainFingerprintByQueryIDDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this explain fingerprint by query ID default response has a 4xx status code +func (o *ExplainFingerprintByQueryIDDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this explain fingerprint by query ID default response has a 5xx status code +func (o *ExplainFingerprintByQueryIDDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this explain fingerprint by query ID default response a status code equal to that given +func (o *ExplainFingerprintByQueryIDDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the explain fingerprint by query ID default response func (o *ExplainFingerprintByQueryIDDefault) Code() int { return o._statusCode } func (o *ExplainFingerprintByQueryIDDefault) Error() string { - return fmt.Sprintf("[POST /v1/qan:explainFingerprint][%d] ExplainFingerprintByQueryID default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan:explainFingerprint][%d] ExplainFingerprintByQueryID default %s", o._statusCode, payload) +} + +func (o *ExplainFingerprintByQueryIDDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan:explainFingerprint][%d] ExplainFingerprintByQueryID default %s", o._statusCode, payload) } func (o *ExplainFingerprintByQueryIDDefault) GetPayload() *ExplainFingerprintByQueryIDDefaultBody { @@ -230,6 +298,11 @@ func (o *ExplainFingerprintByQueryIDDefaultBody) ContextValidate(ctx context.Con func (o *ExplainFingerprintByQueryIDDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ExplainFingerprintByQueryID default" + "." + "details" + "." + strconv.Itoa(i)) @@ -269,6 +342,80 @@ swagger:model ExplainFingerprintByQueryIDDefaultBodyDetailsItems0 type ExplainFingerprintByQueryIDDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // explain fingerprint by query ID default body details items0 + ExplainFingerprintByQueryIDDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ExplainFingerprintByQueryIDDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ExplainFingerprintByQueryIDDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ExplainFingerprintByQueryIDDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ExplainFingerprintByQueryIDDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ExplainFingerprintByQueryIDDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ExplainFingerprintByQueryIDDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this explain fingerprint by query ID default body details items0 diff --git a/api/qan/v1/json/client/qan_service/get_filtered_metrics_names_responses.go b/api/qan/v1/json/client/qan_service/get_filtered_metrics_names_responses.go index 43d3611a92..2fa39a5790 100644 --- a/api/qan/v1/json/client/qan_service/get_filtered_metrics_names_responses.go +++ b/api/qan/v1/json/client/qan_service/get_filtered_metrics_names_responses.go @@ -7,6 +7,7 @@ package qan_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -58,8 +59,44 @@ type GetFilteredMetricsNamesOK struct { Payload *GetFilteredMetricsNamesOKBody } +// IsSuccess returns true when this get filtered metrics names Ok response has a 2xx status code +func (o *GetFilteredMetricsNamesOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get filtered metrics names Ok response has a 3xx status code +func (o *GetFilteredMetricsNamesOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get filtered metrics names Ok response has a 4xx status code +func (o *GetFilteredMetricsNamesOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get filtered metrics names Ok response has a 5xx status code +func (o *GetFilteredMetricsNamesOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get filtered metrics names Ok response a status code equal to that given +func (o *GetFilteredMetricsNamesOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get filtered metrics names Ok response +func (o *GetFilteredMetricsNamesOK) Code() int { + return 200 +} + func (o *GetFilteredMetricsNamesOK) Error() string { - return fmt.Sprintf("[POST /v1/qan/metrics:getFilters][%d] getFilteredMetricsNamesOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/metrics:getFilters][%d] getFilteredMetricsNamesOk %s", 200, payload) +} + +func (o *GetFilteredMetricsNamesOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/metrics:getFilters][%d] getFilteredMetricsNamesOk %s", 200, payload) } func (o *GetFilteredMetricsNamesOK) GetPayload() *GetFilteredMetricsNamesOKBody { @@ -95,13 +132,44 @@ type GetFilteredMetricsNamesDefault struct { Payload *GetFilteredMetricsNamesDefaultBody } +// IsSuccess returns true when this get filtered metrics names default response has a 2xx status code +func (o *GetFilteredMetricsNamesDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this get filtered metrics names default response has a 3xx status code +func (o *GetFilteredMetricsNamesDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this get filtered metrics names default response has a 4xx status code +func (o *GetFilteredMetricsNamesDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this get filtered metrics names default response has a 5xx status code +func (o *GetFilteredMetricsNamesDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this get filtered metrics names default response a status code equal to that given +func (o *GetFilteredMetricsNamesDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the get filtered metrics names default response func (o *GetFilteredMetricsNamesDefault) Code() int { return o._statusCode } func (o *GetFilteredMetricsNamesDefault) Error() string { - return fmt.Sprintf("[POST /v1/qan/metrics:getFilters][%d] GetFilteredMetricsNames default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/metrics:getFilters][%d] GetFilteredMetricsNames default %s", o._statusCode, payload) +} + +func (o *GetFilteredMetricsNamesDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/metrics:getFilters][%d] GetFilteredMetricsNames default %s", o._statusCode, payload) } func (o *GetFilteredMetricsNamesDefault) GetPayload() *GetFilteredMetricsNamesDefaultBody { @@ -228,6 +296,11 @@ func (o *GetFilteredMetricsNamesBody) ContextValidate(ctx context.Context, forma func (o *GetFilteredMetricsNamesBody) contextValidateLabels(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Labels); i++ { if o.Labels[i] != nil { + + if swag.IsZero(o.Labels[i]) { // not required + return nil + } + if err := o.Labels[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "labels" + "." + strconv.Itoa(i)) @@ -332,6 +405,11 @@ func (o *GetFilteredMetricsNamesDefaultBody) ContextValidate(ctx context.Context func (o *GetFilteredMetricsNamesDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("GetFilteredMetricsNames default" + "." + "details" + "." + strconv.Itoa(i)) @@ -371,6 +449,80 @@ swagger:model GetFilteredMetricsNamesDefaultBodyDetailsItems0 type GetFilteredMetricsNamesDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // get filtered metrics names default body details items0 + GetFilteredMetricsNamesDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *GetFilteredMetricsNamesDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv GetFilteredMetricsNamesDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.GetFilteredMetricsNamesDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o GetFilteredMetricsNamesDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.GetFilteredMetricsNamesDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.GetFilteredMetricsNamesDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this get filtered metrics names default body details items0 @@ -561,6 +713,11 @@ func (o *GetFilteredMetricsNamesOKBodyLabelsAnon) ContextValidate(ctx context.Co func (o *GetFilteredMetricsNamesOKBodyLabelsAnon) contextValidateName(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Name); i++ { if o.Name[i] != nil { + + if swag.IsZero(o.Name[i]) { // not required + return nil + } + if err := o.Name[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("name" + "." + strconv.Itoa(i)) diff --git a/api/qan/v1/json/client/qan_service/get_histogram_responses.go b/api/qan/v1/json/client/qan_service/get_histogram_responses.go index 8403774990..a100823cb5 100644 --- a/api/qan/v1/json/client/qan_service/get_histogram_responses.go +++ b/api/qan/v1/json/client/qan_service/get_histogram_responses.go @@ -7,6 +7,7 @@ package qan_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -58,8 +59,44 @@ type GetHistogramOK struct { Payload *GetHistogramOKBody } +// IsSuccess returns true when this get histogram Ok response has a 2xx status code +func (o *GetHistogramOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get histogram Ok response has a 3xx status code +func (o *GetHistogramOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get histogram Ok response has a 4xx status code +func (o *GetHistogramOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get histogram Ok response has a 5xx status code +func (o *GetHistogramOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get histogram Ok response a status code equal to that given +func (o *GetHistogramOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get histogram Ok response +func (o *GetHistogramOK) Code() int { + return 200 +} + func (o *GetHistogramOK) Error() string { - return fmt.Sprintf("[POST /v1/qan:getHistogram][%d] getHistogramOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan:getHistogram][%d] getHistogramOk %s", 200, payload) +} + +func (o *GetHistogramOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan:getHistogram][%d] getHistogramOk %s", 200, payload) } func (o *GetHistogramOK) GetPayload() *GetHistogramOKBody { @@ -95,13 +132,44 @@ type GetHistogramDefault struct { Payload *GetHistogramDefaultBody } +// IsSuccess returns true when this get histogram default response has a 2xx status code +func (o *GetHistogramDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this get histogram default response has a 3xx status code +func (o *GetHistogramDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this get histogram default response has a 4xx status code +func (o *GetHistogramDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this get histogram default response has a 5xx status code +func (o *GetHistogramDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this get histogram default response a status code equal to that given +func (o *GetHistogramDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the get histogram default response func (o *GetHistogramDefault) Code() int { return o._statusCode } func (o *GetHistogramDefault) Error() string { - return fmt.Sprintf("[POST /v1/qan:getHistogram][%d] GetHistogram default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan:getHistogram][%d] GetHistogram default %s", o._statusCode, payload) +} + +func (o *GetHistogramDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan:getHistogram][%d] GetHistogram default %s", o._statusCode, payload) } func (o *GetHistogramDefault) GetPayload() *GetHistogramDefaultBody { @@ -228,6 +296,11 @@ func (o *GetHistogramBody) ContextValidate(ctx context.Context, formats strfmt.R func (o *GetHistogramBody) contextValidateLabels(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Labels); i++ { if o.Labels[i] != nil { + + if swag.IsZero(o.Labels[i]) { // not required + return nil + } + if err := o.Labels[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "labels" + "." + strconv.Itoa(i)) @@ -332,6 +405,11 @@ func (o *GetHistogramDefaultBody) ContextValidate(ctx context.Context, formats s func (o *GetHistogramDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("GetHistogram default" + "." + "details" + "." + strconv.Itoa(i)) @@ -371,6 +449,80 @@ swagger:model GetHistogramDefaultBodyDetailsItems0 type GetHistogramDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // get histogram default body details items0 + GetHistogramDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *GetHistogramDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv GetHistogramDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.GetHistogramDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o GetHistogramDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.GetHistogramDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.GetHistogramDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this get histogram default body details items0 @@ -467,6 +619,11 @@ func (o *GetHistogramOKBody) ContextValidate(ctx context.Context, formats strfmt func (o *GetHistogramOKBody) contextValidateHistogramItems(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.HistogramItems); i++ { if o.HistogramItems[i] != nil { + + if swag.IsZero(o.HistogramItems[i]) { // not required + return nil + } + if err := o.HistogramItems[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getHistogramOk" + "." + "histogram_items" + "." + strconv.Itoa(i)) diff --git a/api/qan/v1/json/client/qan_service/get_labels_responses.go b/api/qan/v1/json/client/qan_service/get_labels_responses.go index b653214075..a1690be466 100644 --- a/api/qan/v1/json/client/qan_service/get_labels_responses.go +++ b/api/qan/v1/json/client/qan_service/get_labels_responses.go @@ -7,6 +7,7 @@ package qan_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -58,8 +59,44 @@ type GetLabelsOK struct { Payload *GetLabelsOKBody } +// IsSuccess returns true when this get labels Ok response has a 2xx status code +func (o *GetLabelsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get labels Ok response has a 3xx status code +func (o *GetLabelsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get labels Ok response has a 4xx status code +func (o *GetLabelsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get labels Ok response has a 5xx status code +func (o *GetLabelsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get labels Ok response a status code equal to that given +func (o *GetLabelsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get labels Ok response +func (o *GetLabelsOK) Code() int { + return 200 +} + func (o *GetLabelsOK) Error() string { - return fmt.Sprintf("[POST /v1/qan:getLabels][%d] getLabelsOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan:getLabels][%d] getLabelsOk %s", 200, payload) +} + +func (o *GetLabelsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan:getLabels][%d] getLabelsOk %s", 200, payload) } func (o *GetLabelsOK) GetPayload() *GetLabelsOKBody { @@ -95,13 +132,44 @@ type GetLabelsDefault struct { Payload *GetLabelsDefaultBody } +// IsSuccess returns true when this get labels default response has a 2xx status code +func (o *GetLabelsDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this get labels default response has a 3xx status code +func (o *GetLabelsDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this get labels default response has a 4xx status code +func (o *GetLabelsDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this get labels default response has a 5xx status code +func (o *GetLabelsDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this get labels default response a status code equal to that given +func (o *GetLabelsDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the get labels default response func (o *GetLabelsDefault) Code() int { return o._statusCode } func (o *GetLabelsDefault) Error() string { - return fmt.Sprintf("[POST /v1/qan:getLabels][%d] GetLabels default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan:getLabels][%d] GetLabels default %s", o._statusCode, payload) +} + +func (o *GetLabelsDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan:getLabels][%d] GetLabels default %s", o._statusCode, payload) } func (o *GetLabelsDefault) GetPayload() *GetLabelsDefaultBody { @@ -277,6 +345,11 @@ func (o *GetLabelsDefaultBody) ContextValidate(ctx context.Context, formats strf func (o *GetLabelsDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("GetLabels default" + "." + "details" + "." + strconv.Itoa(i)) @@ -316,6 +389,80 @@ swagger:model GetLabelsDefaultBodyDetailsItems0 type GetLabelsDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // get labels default body details items0 + GetLabelsDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *GetLabelsDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv GetLabelsDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.GetLabelsDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o GetLabelsDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.GetLabelsDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.GetLabelsDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this get labels default body details items0 diff --git a/api/qan/v1/json/client/qan_service/get_metrics_names_responses.go b/api/qan/v1/json/client/qan_service/get_metrics_names_responses.go index 3b92d1f7b8..89bc0b01e7 100644 --- a/api/qan/v1/json/client/qan_service/get_metrics_names_responses.go +++ b/api/qan/v1/json/client/qan_service/get_metrics_names_responses.go @@ -7,6 +7,7 @@ package qan_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type GetMetricsNamesOK struct { Payload *GetMetricsNamesOKBody } +// IsSuccess returns true when this get metrics names Ok response has a 2xx status code +func (o *GetMetricsNamesOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get metrics names Ok response has a 3xx status code +func (o *GetMetricsNamesOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get metrics names Ok response has a 4xx status code +func (o *GetMetricsNamesOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get metrics names Ok response has a 5xx status code +func (o *GetMetricsNamesOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get metrics names Ok response a status code equal to that given +func (o *GetMetricsNamesOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get metrics names Ok response +func (o *GetMetricsNamesOK) Code() int { + return 200 +} + func (o *GetMetricsNamesOK) Error() string { - return fmt.Sprintf("[POST /v1/qan/metrics:getNames][%d] getMetricsNamesOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/metrics:getNames][%d] getMetricsNamesOk %s", 200, payload) +} + +func (o *GetMetricsNamesOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/metrics:getNames][%d] getMetricsNamesOk %s", 200, payload) } func (o *GetMetricsNamesOK) GetPayload() *GetMetricsNamesOKBody { @@ -94,13 +131,44 @@ type GetMetricsNamesDefault struct { Payload *GetMetricsNamesDefaultBody } +// IsSuccess returns true when this get metrics names default response has a 2xx status code +func (o *GetMetricsNamesDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this get metrics names default response has a 3xx status code +func (o *GetMetricsNamesDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this get metrics names default response has a 4xx status code +func (o *GetMetricsNamesDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this get metrics names default response has a 5xx status code +func (o *GetMetricsNamesDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this get metrics names default response a status code equal to that given +func (o *GetMetricsNamesDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the get metrics names default response func (o *GetMetricsNamesDefault) Code() int { return o._statusCode } func (o *GetMetricsNamesDefault) Error() string { - return fmt.Sprintf("[POST /v1/qan/metrics:getNames][%d] GetMetricsNames default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/metrics:getNames][%d] GetMetricsNames default %s", o._statusCode, payload) +} + +func (o *GetMetricsNamesDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/metrics:getNames][%d] GetMetricsNames default %s", o._statusCode, payload) } func (o *GetMetricsNamesDefault) GetPayload() *GetMetricsNamesDefaultBody { @@ -190,6 +258,11 @@ func (o *GetMetricsNamesDefaultBody) ContextValidate(ctx context.Context, format func (o *GetMetricsNamesDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("GetMetricsNames default" + "." + "details" + "." + strconv.Itoa(i)) @@ -229,6 +302,80 @@ swagger:model GetMetricsNamesDefaultBodyDetailsItems0 type GetMetricsNamesDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // get metrics names default body details items0 + GetMetricsNamesDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *GetMetricsNamesDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv GetMetricsNamesDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.GetMetricsNamesDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o GetMetricsNamesDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.GetMetricsNamesDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.GetMetricsNamesDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this get metrics names default body details items0 diff --git a/api/qan/v1/json/client/qan_service/get_metrics_responses.go b/api/qan/v1/json/client/qan_service/get_metrics_responses.go index e79ab05fb9..071ef41627 100644 --- a/api/qan/v1/json/client/qan_service/get_metrics_responses.go +++ b/api/qan/v1/json/client/qan_service/get_metrics_responses.go @@ -7,6 +7,7 @@ package qan_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -58,8 +59,44 @@ type GetMetricsOK struct { Payload *GetMetricsOKBody } +// IsSuccess returns true when this get metrics Ok response has a 2xx status code +func (o *GetMetricsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get metrics Ok response has a 3xx status code +func (o *GetMetricsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get metrics Ok response has a 4xx status code +func (o *GetMetricsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get metrics Ok response has a 5xx status code +func (o *GetMetricsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get metrics Ok response a status code equal to that given +func (o *GetMetricsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get metrics Ok response +func (o *GetMetricsOK) Code() int { + return 200 +} + func (o *GetMetricsOK) Error() string { - return fmt.Sprintf("[POST /v1/qan:getMetrics][%d] getMetricsOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan:getMetrics][%d] getMetricsOk %s", 200, payload) +} + +func (o *GetMetricsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan:getMetrics][%d] getMetricsOk %s", 200, payload) } func (o *GetMetricsOK) GetPayload() *GetMetricsOKBody { @@ -95,13 +132,44 @@ type GetMetricsDefault struct { Payload *GetMetricsDefaultBody } +// IsSuccess returns true when this get metrics default response has a 2xx status code +func (o *GetMetricsDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this get metrics default response has a 3xx status code +func (o *GetMetricsDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this get metrics default response has a 4xx status code +func (o *GetMetricsDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this get metrics default response has a 5xx status code +func (o *GetMetricsDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this get metrics default response a status code equal to that given +func (o *GetMetricsDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the get metrics default response func (o *GetMetricsDefault) Code() int { return o._statusCode } func (o *GetMetricsDefault) Error() string { - return fmt.Sprintf("[POST /v1/qan:getMetrics][%d] GetMetrics default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan:getMetrics][%d] GetMetrics default %s", o._statusCode, payload) +} + +func (o *GetMetricsDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan:getMetrics][%d] GetMetrics default %s", o._statusCode, payload) } func (o *GetMetricsDefault) GetPayload() *GetMetricsDefaultBody { @@ -237,6 +305,11 @@ func (o *GetMetricsBody) ContextValidate(ctx context.Context, formats strfmt.Reg func (o *GetMetricsBody) contextValidateLabels(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Labels); i++ { if o.Labels[i] != nil { + + if swag.IsZero(o.Labels[i]) { // not required + return nil + } + if err := o.Labels[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "labels" + "." + strconv.Itoa(i)) @@ -341,6 +414,11 @@ func (o *GetMetricsDefaultBody) ContextValidate(ctx context.Context, formats str func (o *GetMetricsDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("GetMetrics default" + "." + "details" + "." + strconv.Itoa(i)) @@ -380,6 +458,80 @@ swagger:model GetMetricsDefaultBodyDetailsItems0 type GetMetricsDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // get metrics default body details items0 + GetMetricsDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *GetMetricsDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv GetMetricsDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.GetMetricsDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o GetMetricsDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.GetMetricsDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.GetMetricsDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this get metrics default body details items0 @@ -598,6 +750,11 @@ func (o *GetMetricsOKBody) contextValidateMetrics(ctx context.Context, formats s func (o *GetMetricsOKBody) contextValidateSparkline(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Sparkline); i++ { if o.Sparkline[i] != nil { + + if swag.IsZero(o.Sparkline[i]) { // not required + return nil + } + if err := o.Sparkline[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getMetricsOk" + "." + "sparkline" + "." + strconv.Itoa(i)) @@ -626,6 +783,11 @@ func (o *GetMetricsOKBody) contextValidateTotals(ctx context.Context, formats st func (o *GetMetricsOKBody) contextValidateMetadata(ctx context.Context, formats strfmt.Registry) error { if o.Metadata != nil { + + if swag.IsZero(o.Metadata) { // not required + return nil + } + if err := o.Metadata.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getMetricsOk" + "." + "metadata") diff --git a/api/qan/v1/json/client/qan_service/get_query_example_responses.go b/api/qan/v1/json/client/qan_service/get_query_example_responses.go index e93505ec97..7dc92e072f 100644 --- a/api/qan/v1/json/client/qan_service/get_query_example_responses.go +++ b/api/qan/v1/json/client/qan_service/get_query_example_responses.go @@ -59,8 +59,44 @@ type GetQueryExampleOK struct { Payload *GetQueryExampleOKBody } +// IsSuccess returns true when this get query example Ok response has a 2xx status code +func (o *GetQueryExampleOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get query example Ok response has a 3xx status code +func (o *GetQueryExampleOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get query example Ok response has a 4xx status code +func (o *GetQueryExampleOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get query example Ok response has a 5xx status code +func (o *GetQueryExampleOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get query example Ok response a status code equal to that given +func (o *GetQueryExampleOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get query example Ok response +func (o *GetQueryExampleOK) Code() int { + return 200 +} + func (o *GetQueryExampleOK) Error() string { - return fmt.Sprintf("[POST /v1/qan/query:getExample][%d] getQueryExampleOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/query:getExample][%d] getQueryExampleOk %s", 200, payload) +} + +func (o *GetQueryExampleOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/query:getExample][%d] getQueryExampleOk %s", 200, payload) } func (o *GetQueryExampleOK) GetPayload() *GetQueryExampleOKBody { @@ -96,13 +132,44 @@ type GetQueryExampleDefault struct { Payload *GetQueryExampleDefaultBody } +// IsSuccess returns true when this get query example default response has a 2xx status code +func (o *GetQueryExampleDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this get query example default response has a 3xx status code +func (o *GetQueryExampleDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this get query example default response has a 4xx status code +func (o *GetQueryExampleDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this get query example default response has a 5xx status code +func (o *GetQueryExampleDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this get query example default response a status code equal to that given +func (o *GetQueryExampleDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the get query example default response func (o *GetQueryExampleDefault) Code() int { return o._statusCode } func (o *GetQueryExampleDefault) Error() string { - return fmt.Sprintf("[POST /v1/qan/query:getExample][%d] GetQueryExample default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/query:getExample][%d] GetQueryExample default %s", o._statusCode, payload) +} + +func (o *GetQueryExampleDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/query:getExample][%d] GetQueryExample default %s", o._statusCode, payload) } func (o *GetQueryExampleDefault) GetPayload() *GetQueryExampleDefaultBody { @@ -236,6 +303,11 @@ func (o *GetQueryExampleBody) ContextValidate(ctx context.Context, formats strfm func (o *GetQueryExampleBody) contextValidateLabels(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Labels); i++ { if o.Labels[i] != nil { + + if swag.IsZero(o.Labels[i]) { // not required + return nil + } + if err := o.Labels[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "labels" + "." + strconv.Itoa(i)) @@ -340,6 +412,11 @@ func (o *GetQueryExampleDefaultBody) ContextValidate(ctx context.Context, format func (o *GetQueryExampleDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("GetQueryExample default" + "." + "details" + "." + strconv.Itoa(i)) @@ -379,6 +456,80 @@ swagger:model GetQueryExampleDefaultBodyDetailsItems0 type GetQueryExampleDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // get query example default body details items0 + GetQueryExampleDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *GetQueryExampleDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv GetQueryExampleDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.GetQueryExampleDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o GetQueryExampleDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.GetQueryExampleDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.GetQueryExampleDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this get query example default body details items0 @@ -475,6 +626,11 @@ func (o *GetQueryExampleOKBody) ContextValidate(ctx context.Context, formats str func (o *GetQueryExampleOKBody) contextValidateQueryExamples(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.QueryExamples); i++ { if o.QueryExamples[i] != nil { + + if swag.IsZero(o.QueryExamples[i]) { // not required + return nil + } + if err := o.QueryExamples[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getQueryExampleOk" + "." + "query_examples" + "." + strconv.Itoa(i)) @@ -516,7 +672,7 @@ type GetQueryExampleOKBodyQueryExamplesItems0 struct { Example string `json:"example,omitempty"` // ExampleType is a type of query example selected for this query class in given period of time. - // Enum: [EXAMPLE_TYPE_UNSPECIFIED EXAMPLE_TYPE_RANDOM EXAMPLE_TYPE_SLOWEST EXAMPLE_TYPE_FASTEST EXAMPLE_TYPE_WITH_ERROR] + // Enum: ["EXAMPLE_TYPE_UNSPECIFIED","EXAMPLE_TYPE_RANDOM","EXAMPLE_TYPE_SLOWEST","EXAMPLE_TYPE_FASTEST","EXAMPLE_TYPE_WITH_ERROR"] ExampleType *string `json:"example_type,omitempty"` // is truncated diff --git a/api/qan/v1/json/client/qan_service/get_query_plan_responses.go b/api/qan/v1/json/client/qan_service/get_query_plan_responses.go index 6453ef51bc..9bb8f78603 100644 --- a/api/qan/v1/json/client/qan_service/get_query_plan_responses.go +++ b/api/qan/v1/json/client/qan_service/get_query_plan_responses.go @@ -7,6 +7,7 @@ package qan_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type GetQueryPlanOK struct { Payload *GetQueryPlanOKBody } +// IsSuccess returns true when this get query plan Ok response has a 2xx status code +func (o *GetQueryPlanOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get query plan Ok response has a 3xx status code +func (o *GetQueryPlanOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get query plan Ok response has a 4xx status code +func (o *GetQueryPlanOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get query plan Ok response has a 5xx status code +func (o *GetQueryPlanOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get query plan Ok response a status code equal to that given +func (o *GetQueryPlanOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get query plan Ok response +func (o *GetQueryPlanOK) Code() int { + return 200 +} + func (o *GetQueryPlanOK) Error() string { - return fmt.Sprintf("[GET /v1/qan/query/{queryid}/plan][%d] getQueryPlanOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/qan/query/{queryid}/plan][%d] getQueryPlanOk %s", 200, payload) +} + +func (o *GetQueryPlanOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/qan/query/{queryid}/plan][%d] getQueryPlanOk %s", 200, payload) } func (o *GetQueryPlanOK) GetPayload() *GetQueryPlanOKBody { @@ -94,13 +131,44 @@ type GetQueryPlanDefault struct { Payload *GetQueryPlanDefaultBody } +// IsSuccess returns true when this get query plan default response has a 2xx status code +func (o *GetQueryPlanDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this get query plan default response has a 3xx status code +func (o *GetQueryPlanDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this get query plan default response has a 4xx status code +func (o *GetQueryPlanDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this get query plan default response has a 5xx status code +func (o *GetQueryPlanDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this get query plan default response a status code equal to that given +func (o *GetQueryPlanDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the get query plan default response func (o *GetQueryPlanDefault) Code() int { return o._statusCode } func (o *GetQueryPlanDefault) Error() string { - return fmt.Sprintf("[GET /v1/qan/query/{queryid}/plan][%d] GetQueryPlan default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/qan/query/{queryid}/plan][%d] GetQueryPlan default %s", o._statusCode, payload) +} + +func (o *GetQueryPlanDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/qan/query/{queryid}/plan][%d] GetQueryPlan default %s", o._statusCode, payload) } func (o *GetQueryPlanDefault) GetPayload() *GetQueryPlanDefaultBody { @@ -190,6 +258,11 @@ func (o *GetQueryPlanDefaultBody) ContextValidate(ctx context.Context, formats s func (o *GetQueryPlanDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("GetQueryPlan default" + "." + "details" + "." + strconv.Itoa(i)) @@ -229,6 +302,80 @@ swagger:model GetQueryPlanDefaultBodyDetailsItems0 type GetQueryPlanDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // get query plan default body details items0 + GetQueryPlanDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *GetQueryPlanDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv GetQueryPlanDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.GetQueryPlanDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o GetQueryPlanDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.GetQueryPlanDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.GetQueryPlanDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this get query plan default body details items0 diff --git a/api/qan/v1/json/client/qan_service/get_report_responses.go b/api/qan/v1/json/client/qan_service/get_report_responses.go index 9e26f20601..f6514e1763 100644 --- a/api/qan/v1/json/client/qan_service/get_report_responses.go +++ b/api/qan/v1/json/client/qan_service/get_report_responses.go @@ -7,6 +7,7 @@ package qan_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -58,8 +59,44 @@ type GetReportOK struct { Payload *GetReportOKBody } +// IsSuccess returns true when this get report Ok response has a 2xx status code +func (o *GetReportOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get report Ok response has a 3xx status code +func (o *GetReportOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get report Ok response has a 4xx status code +func (o *GetReportOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get report Ok response has a 5xx status code +func (o *GetReportOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get report Ok response a status code equal to that given +func (o *GetReportOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get report Ok response +func (o *GetReportOK) Code() int { + return 200 +} + func (o *GetReportOK) Error() string { - return fmt.Sprintf("[POST /v1/qan/metrics:getReport][%d] getReportOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/metrics:getReport][%d] getReportOk %s", 200, payload) +} + +func (o *GetReportOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/metrics:getReport][%d] getReportOk %s", 200, payload) } func (o *GetReportOK) GetPayload() *GetReportOKBody { @@ -95,13 +132,44 @@ type GetReportDefault struct { Payload *GetReportDefaultBody } +// IsSuccess returns true when this get report default response has a 2xx status code +func (o *GetReportDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this get report default response has a 3xx status code +func (o *GetReportDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this get report default response has a 4xx status code +func (o *GetReportDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this get report default response has a 5xx status code +func (o *GetReportDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this get report default response a status code equal to that given +func (o *GetReportDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the get report default response func (o *GetReportDefault) Code() int { return o._statusCode } func (o *GetReportDefault) Error() string { - return fmt.Sprintf("[POST /v1/qan/metrics:getReport][%d] GetReport default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/metrics:getReport][%d] GetReport default %s", o._statusCode, payload) +} + +func (o *GetReportDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/metrics:getReport][%d] GetReport default %s", o._statusCode, payload) } func (o *GetReportDefault) GetPayload() *GetReportDefaultBody { @@ -246,6 +314,11 @@ func (o *GetReportBody) ContextValidate(ctx context.Context, formats strfmt.Regi func (o *GetReportBody) contextValidateLabels(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Labels); i++ { if o.Labels[i] != nil { + + if swag.IsZero(o.Labels[i]) { // not required + return nil + } + if err := o.Labels[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "labels" + "." + strconv.Itoa(i)) @@ -350,6 +423,11 @@ func (o *GetReportDefaultBody) ContextValidate(ctx context.Context, formats strf func (o *GetReportDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("GetReport default" + "." + "details" + "." + strconv.Itoa(i)) @@ -389,6 +467,80 @@ swagger:model GetReportDefaultBodyDetailsItems0 type GetReportDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // get report default body details items0 + GetReportDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *GetReportDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv GetReportDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.GetReportDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o GetReportDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.GetReportDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.GetReportDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this get report default body details items0 @@ -494,6 +646,11 @@ func (o *GetReportOKBody) ContextValidate(ctx context.Context, formats strfmt.Re func (o *GetReportOKBody) contextValidateRows(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Rows); i++ { if o.Rows[i] != nil { + + if swag.IsZero(o.Rows[i]) { // not required + return nil + } + if err := o.Rows[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getReportOk" + "." + "rows" + "." + strconv.Itoa(i)) @@ -662,6 +819,11 @@ func (o *GetReportOKBodyRowsItems0) contextValidateMetrics(ctx context.Context, func (o *GetReportOKBodyRowsItems0) contextValidateSparkline(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Sparkline); i++ { if o.Sparkline[i] != nil { + + if swag.IsZero(o.Sparkline[i]) { // not required + return nil + } + if err := o.Sparkline[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("sparkline" + "." + strconv.Itoa(i)) @@ -752,6 +914,11 @@ func (o *GetReportOKBodyRowsItems0MetricsAnon) ContextValidate(ctx context.Conte func (o *GetReportOKBodyRowsItems0MetricsAnon) contextValidateStats(ctx context.Context, formats strfmt.Registry) error { if o.Stats != nil { + + if swag.IsZero(o.Stats) { // not required + return nil + } + if err := o.Stats.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("stats") diff --git a/api/qan/v1/json/client/qan_service/qan_service_client.go b/api/qan/v1/json/client/qan_service/qan_service_client.go index 594fb821b4..e165e6fd6b 100644 --- a/api/qan/v1/json/client/qan_service/qan_service_client.go +++ b/api/qan/v1/json/client/qan_service/qan_service_client.go @@ -7,6 +7,7 @@ package qan_service import ( "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" ) @@ -15,6 +16,31 @@ func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientServi return &Client{transport: transport, formats: formats} } +// New creates a new qan service API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new qan service API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + /* Client for qan service API */ @@ -23,7 +49,7 @@ type Client struct { formats strfmt.Registry } -// ClientOption is the option for Client methods +// ClientOption may be used to customize the behavior of Client methods. type ClientOption func(*runtime.ClientOperation) // ClientService is the interface for Client methods diff --git a/api/qan/v1/json/client/qan_service/query_exists_responses.go b/api/qan/v1/json/client/qan_service/query_exists_responses.go index 2fdf33d6c8..e21f8d4b2f 100644 --- a/api/qan/v1/json/client/qan_service/query_exists_responses.go +++ b/api/qan/v1/json/client/qan_service/query_exists_responses.go @@ -7,6 +7,7 @@ package qan_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type QueryExistsOK struct { Payload *QueryExistsOKBody } +// IsSuccess returns true when this query exists Ok response has a 2xx status code +func (o *QueryExistsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this query exists Ok response has a 3xx status code +func (o *QueryExistsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this query exists Ok response has a 4xx status code +func (o *QueryExistsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this query exists Ok response has a 5xx status code +func (o *QueryExistsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this query exists Ok response a status code equal to that given +func (o *QueryExistsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the query exists Ok response +func (o *QueryExistsOK) Code() int { + return 200 +} + func (o *QueryExistsOK) Error() string { - return fmt.Sprintf("[POST /v1/qan/query:exists][%d] queryExistsOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/query:exists][%d] queryExistsOk %s", 200, payload) +} + +func (o *QueryExistsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/query:exists][%d] queryExistsOk %s", 200, payload) } func (o *QueryExistsOK) GetPayload() *QueryExistsOKBody { @@ -94,13 +131,44 @@ type QueryExistsDefault struct { Payload *QueryExistsDefaultBody } +// IsSuccess returns true when this query exists default response has a 2xx status code +func (o *QueryExistsDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this query exists default response has a 3xx status code +func (o *QueryExistsDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this query exists default response has a 4xx status code +func (o *QueryExistsDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this query exists default response has a 5xx status code +func (o *QueryExistsDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this query exists default response a status code equal to that given +func (o *QueryExistsDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the query exists default response func (o *QueryExistsDefault) Code() int { return o._statusCode } func (o *QueryExistsDefault) Error() string { - return fmt.Sprintf("[POST /v1/qan/query:exists][%d] QueryExists default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/query:exists][%d] QueryExists default %s", o._statusCode, payload) +} + +func (o *QueryExistsDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/query:exists][%d] QueryExists default %s", o._statusCode, payload) } func (o *QueryExistsDefault) GetPayload() *QueryExistsDefaultBody { @@ -230,6 +298,11 @@ func (o *QueryExistsDefaultBody) ContextValidate(ctx context.Context, formats st func (o *QueryExistsDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("QueryExists default" + "." + "details" + "." + strconv.Itoa(i)) @@ -269,6 +342,80 @@ swagger:model QueryExistsDefaultBodyDetailsItems0 type QueryExistsDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // query exists default body details items0 + QueryExistsDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *QueryExistsDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv QueryExistsDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.QueryExistsDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o QueryExistsDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.QueryExistsDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.QueryExistsDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this query exists default body details items0 diff --git a/api/qan/v1/json/client/qan_service/schema_by_query_id_responses.go b/api/qan/v1/json/client/qan_service/schema_by_query_id_responses.go index bbaaac980d..7856e075e9 100644 --- a/api/qan/v1/json/client/qan_service/schema_by_query_id_responses.go +++ b/api/qan/v1/json/client/qan_service/schema_by_query_id_responses.go @@ -7,6 +7,7 @@ package qan_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type SchemaByQueryIDOK struct { Payload *SchemaByQueryIDOKBody } +// IsSuccess returns true when this schema by query Id Ok response has a 2xx status code +func (o *SchemaByQueryIDOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this schema by query Id Ok response has a 3xx status code +func (o *SchemaByQueryIDOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this schema by query Id Ok response has a 4xx status code +func (o *SchemaByQueryIDOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this schema by query Id Ok response has a 5xx status code +func (o *SchemaByQueryIDOK) IsServerError() bool { + return false +} + +// IsCode returns true when this schema by query Id Ok response a status code equal to that given +func (o *SchemaByQueryIDOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the schema by query Id Ok response +func (o *SchemaByQueryIDOK) Code() int { + return 200 +} + func (o *SchemaByQueryIDOK) Error() string { - return fmt.Sprintf("[POST /v1/qan/query:getSchema][%d] schemaByQueryIdOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/query:getSchema][%d] schemaByQueryIdOk %s", 200, payload) +} + +func (o *SchemaByQueryIDOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/query:getSchema][%d] schemaByQueryIdOk %s", 200, payload) } func (o *SchemaByQueryIDOK) GetPayload() *SchemaByQueryIDOKBody { @@ -94,13 +131,44 @@ type SchemaByQueryIDDefault struct { Payload *SchemaByQueryIDDefaultBody } +// IsSuccess returns true when this schema by query ID default response has a 2xx status code +func (o *SchemaByQueryIDDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this schema by query ID default response has a 3xx status code +func (o *SchemaByQueryIDDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this schema by query ID default response has a 4xx status code +func (o *SchemaByQueryIDDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this schema by query ID default response has a 5xx status code +func (o *SchemaByQueryIDDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this schema by query ID default response a status code equal to that given +func (o *SchemaByQueryIDDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the schema by query ID default response func (o *SchemaByQueryIDDefault) Code() int { return o._statusCode } func (o *SchemaByQueryIDDefault) Error() string { - return fmt.Sprintf("[POST /v1/qan/query:getSchema][%d] SchemaByQueryID default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/query:getSchema][%d] SchemaByQueryID default %s", o._statusCode, payload) +} + +func (o *SchemaByQueryIDDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/qan/query:getSchema][%d] SchemaByQueryID default %s", o._statusCode, payload) } func (o *SchemaByQueryIDDefault) GetPayload() *SchemaByQueryIDDefaultBody { @@ -230,6 +298,11 @@ func (o *SchemaByQueryIDDefaultBody) ContextValidate(ctx context.Context, format func (o *SchemaByQueryIDDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("SchemaByQueryID default" + "." + "details" + "." + strconv.Itoa(i)) @@ -269,6 +342,80 @@ swagger:model SchemaByQueryIDDefaultBodyDetailsItems0 type SchemaByQueryIDDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // schema by query ID default body details items0 + SchemaByQueryIDDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *SchemaByQueryIDDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv SchemaByQueryIDDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.SchemaByQueryIDDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o SchemaByQueryIDDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.SchemaByQueryIDDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.SchemaByQueryIDDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this schema by query ID default body details items0 diff --git a/api/qan/v1/json/v1.json b/api/qan/v1/json/v1.json index 29154f29e8..af26c5937b 100644 --- a/api/qan/v1/json/v1.json +++ b/api/qan/v1/json/v1.json @@ -33,6 +33,20 @@ "description": "GetFilteredMetricsNamesRequest contains period for which we need filters.", "type": "object", "properties": { + "period_start_from": { + "type": "string", + "format": "date-time", + "x-order": 0 + }, + "period_start_to": { + "type": "string", + "format": "date-time", + "x-order": 1 + }, + "main_metric_name": { + "type": "string", + "x-order": 2 + }, "labels": { "type": "array", "items": { @@ -53,20 +67,6 @@ } }, "x-order": 3 - }, - "main_metric_name": { - "type": "string", - "x-order": 2 - }, - "period_start_from": { - "type": "string", - "format": "date-time", - "x-order": 0 - }, - "period_start_to": { - "type": "string", - "format": "date-time", - "x-order": 1 } } } @@ -91,19 +91,19 @@ "description": "Values is label values and main metric percent and per second.", "type": "object", "properties": { - "main_metric_per_sec": { - "type": "number", - "format": "float", - "x-order": 2 + "value": { + "type": "string", + "x-order": 0 }, "main_metric_percent": { "type": "number", "format": "float", "x-order": 1 }, - "value": { - "type": "string", - "x-order": 0 + "main_metric_per_sec": { + "type": "number", + "format": "float", + "x-order": 2 } } }, @@ -126,6 +126,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -136,13 +140,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -197,6 +197,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -207,13 +211,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -239,12 +239,15 @@ "description": "ReportRequest defines filtering of metrics report for db server or other dimentions.", "type": "object", "properties": { - "columns": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 4 + "period_start_from": { + "type": "string", + "format": "date-time", + "x-order": 0 + }, + "period_start_to": { + "type": "string", + "format": "date-time", + "x-order": 1 }, "group_by": { "type": "string", @@ -271,33 +274,30 @@ }, "x-order": 3 }, - "limit": { - "type": "integer", - "format": "int64", - "x-order": 7 + "columns": { + "type": "array", + "items": { + "type": "string" + }, + "x-order": 4 }, - "main_metric": { + "order_by": { "type": "string", - "x-order": 8 + "x-order": 5 }, "offset": { "type": "integer", "format": "int64", "x-order": 6 }, - "order_by": { - "type": "string", - "x-order": 5 - }, - "period_start_from": { - "type": "string", - "format": "date-time", - "x-order": 0 + "limit": { + "type": "integer", + "format": "int64", + "x-order": 7 }, - "period_start_to": { + "main_metric": { "type": "string", - "format": "date-time", - "x-order": 1 + "x-order": 8 }, "search": { "type": "string", @@ -314,38 +314,39 @@ "description": "ReportReply is list of reports per quieryids, hosts etc.", "type": "object", "properties": { - "limit": { + "total_rows": { "type": "integer", "format": "int64", - "x-order": 2 + "x-order": 0 }, "offset": { "type": "integer", "format": "int64", "x-order": 1 }, + "limit": { + "type": "integer", + "format": "int64", + "x-order": 2 + }, "rows": { "type": "array", "items": { "description": "Row define metrics for selected dimention.", "type": "object", "properties": { - "database": { - "type": "string", - "x-order": 2 + "rank": { + "type": "integer", + "format": "int64", + "x-order": 0 }, "dimension": { "type": "string", "x-order": 1 }, - "fingerprint": { + "database": { "type": "string", - "x-order": 5 - }, - "load": { - "type": "number", - "format": "float", - "x-order": 8 + "x-order": 2 }, "metrics": { "type": "object", @@ -357,40 +358,40 @@ "description": "Stat is statistics of specific metric.", "type": "object", "properties": { - "avg": { + "rate": { "type": "number", "format": "float", - "x-order": 6 + "x-order": 0 }, "cnt": { "type": "number", "format": "float", "x-order": 1 }, - "max": { + "sum": { "type": "number", "format": "float", - "x-order": 4 + "x-order": 2 }, "min": { "type": "number", "format": "float", "x-order": 3 }, - "p99": { + "max": { "type": "number", "format": "float", - "x-order": 5 + "x-order": 4 }, - "rate": { + "p99": { "type": "number", "format": "float", - "x-order": 0 + "x-order": 5 }, - "sum": { + "avg": { "type": "number", "format": "float", - "x-order": 2 + "x-order": 6 }, "sum_per_sec": { "type": "number", @@ -404,98 +405,100 @@ }, "x-order": 3 }, - "num_queries": { - "type": "integer", - "format": "int64", - "x-order": 6 - }, - "qps": { - "type": "number", - "format": "float", - "x-order": 7 - }, - "rank": { - "type": "integer", - "format": "int64", - "x-order": 0 - }, "sparkline": { "type": "array", "items": { "description": "Point contains values that represents abscissa (time) and ordinate (volume etc.)\nof every point in a coordinate system of Sparklines.", "type": "object", "properties": { + "point": { + "description": "The serial number of the chart point from the largest time in the time interval to the lowest time in the time range.", + "type": "integer", + "format": "int64", + "x-order": 0 + }, + "time_frame": { + "description": "Duration beetween two points.", + "type": "integer", + "format": "int64", + "x-order": 1 + }, + "timestamp": { + "description": "Time of point in format RFC3339.", + "type": "string", + "x-order": 2 + }, "load": { "description": "load is query_time / time_range.", "type": "number", "format": "float", "x-order": 3 }, - "m_blk_read_time_sum_per_sec": { - "description": "Total time the statement spent reading blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", + "num_queries_per_sec": { + "description": "number of queries in bucket.", "type": "number", "format": "float", - "x-order": 53 + "x-order": 4 }, - "m_blk_write_time_sum_per_sec": { - "description": "Total time the statement spent writing blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", + "num_queries_with_errors_per_sec": { + "description": "number of queries with errors.", "type": "number", "format": "float", - "x-order": 54 + "x-order": 5 }, - "m_bytes_sent_sum_per_sec": { - "description": "The number of bytes sent to all clients.", + "num_queries_with_warnings_per_sec": { + "description": "number of queries with warnings.", "type": "number", "format": "float", - "x-order": 21 + "x-order": 6 }, - "m_cpu_sys_time_sum_per_sec": { - "description": "Total time system spent in query.", + "m_query_time_sum_per_sec": { + "description": "The statement execution time in seconds.", "type": "number", "format": "float", - "x-order": 56 + "x-order": 7 }, - "m_cpu_user_time_sum_per_sec": { - "description": "Total time user spent in query.", + "m_lock_time_sum_per_sec": { + "description": "The time to acquire locks in seconds.", "type": "number", "format": "float", - "x-order": 55 + "x-order": 8 }, - "m_docs_returned_sum_per_sec": { - "description": "The number of returned documents.", + "m_rows_sent_sum_per_sec": { + "description": "The number of rows sent to the client.", "type": "number", "format": "float", - "x-order": 40 + "x-order": 9 }, - "m_docs_scanned_sum_per_sec": { - "description": "The number of scanned documents.", + "m_rows_examined_sum_per_sec": { + "description": "Number of rows scanned - SELECT.", "type": "number", "format": "float", - "x-order": 42 + "x-order": 10 }, - "m_filesort_on_disk_sum_per_sec": { - "description": "The filesort was performed on disk.", + "m_rows_affected_sum_per_sec": { + "description": "Number of rows changed - UPDATE, DELETE, INSERT.", "type": "number", "format": "float", - "x-order": 31 + "x-order": 11 }, - "m_filesort_sum_per_sec": { - "description": "The query used a filesort.", + "m_rows_read_sum_per_sec": { + "description": "The number of rows read from tables.", "type": "number", "format": "float", - "x-order": 30 + "x-order": 12 }, - "m_full_join_sum_per_sec": { - "description": "The query performed a full join (a join without indexes).", + "m_merge_passes_sum_per_sec": { + "description": "The number of merge passes that the sort algorithm has had to do.", "type": "number", "format": "float", - "x-order": 27 + "x-order": 13 }, - "m_full_scan_sum_per_sec": { - "description": "The query performed a full table scan.", + "m_innodb_io_r_ops_sum_per_sec": { + "description": "Counts the number of page read operations scheduled.", "type": "number", "format": "float", - "x-order": 26 + "x-order": 14 }, "m_innodb_io_r_bytes_sum_per_sec": { "description": "Similar to innodb_IO_r_ops, but the unit is bytes.", @@ -503,23 +506,17 @@ "format": "float", "x-order": 15 }, - "m_innodb_io_r_ops_sum_per_sec": { - "description": "Counts the number of page read operations scheduled.", - "type": "number", - "format": "float", - "x-order": 14 - }, "m_innodb_io_r_wait_sum_per_sec": { "description": "Shows how long (in seconds) it took InnoDB to actually read the data from storage.", "type": "number", "format": "float", "x-order": 16 }, - "m_innodb_pages_distinct_sum_per_sec": { - "description": "Counts approximately the number of unique pages the query accessed.", - "type": "number", + "m_innodb_rec_lock_wait_sum_per_sec": { + "description": "Shows how long (in seconds) the query waited for row locks.", + "type": "number", "format": "float", - "x-order": 19 + "x-order": 17 }, "m_innodb_queue_wait_sum_per_sec": { "description": "Shows how long (in seconds) the query spent either waiting to enter the InnoDB queue or inside that queue waiting for execution.", @@ -527,143 +524,149 @@ "format": "float", "x-order": 18 }, - "m_innodb_rec_lock_wait_sum_per_sec": { - "description": "Shows how long (in seconds) the query waited for row locks.", + "m_innodb_pages_distinct_sum_per_sec": { + "description": "Counts approximately the number of unique pages the query accessed.", "type": "number", "format": "float", - "x-order": 17 + "x-order": 19 }, - "m_local_blks_dirtied_sum_per_sec": { - "description": "Total number of local blocks dirtied by the statement.", + "m_query_length_sum_per_sec": { + "description": "Shows how long the query is.", "type": "number", "format": "float", - "x-order": 49 + "x-order": 20 }, - "m_local_blks_hit_sum_per_sec": { - "description": "Total number of local block cache hits by the statement.", + "m_bytes_sent_sum_per_sec": { + "description": "The number of bytes sent to all clients.", "type": "number", "format": "float", - "x-order": 47 + "x-order": 21 }, - "m_local_blks_read_sum_per_sec": { - "description": "Total number of local blocks read by the statement.", + "m_tmp_tables_sum_per_sec": { + "description": "Number of temporary tables created on memory for the query.", "type": "number", "format": "float", - "x-order": 48 + "x-order": 22 }, - "m_local_blks_written_sum_per_sec": { - "description": "Total number of local blocks written by the statement.", + "m_tmp_disk_tables_sum_per_sec": { + "description": "Number of temporary tables created on disk for the query.", "type": "number", "format": "float", - "x-order": 50 + "x-order": 23 }, - "m_lock_time_sum_per_sec": { - "description": "The time to acquire locks in seconds.", + "m_tmp_table_sizes_sum_per_sec": { + "description": "Total Size in bytes for all temporary tables used in the query.", "type": "number", "format": "float", - "x-order": 8 + "x-order": 24 }, - "m_merge_passes_sum_per_sec": { - "description": "The number of merge passes that the sort algorithm has had to do.", + "m_qc_hit_sum_per_sec": { + "description": "Query Cache hits.", "type": "number", "format": "float", - "x-order": 13 + "x-order": 25 }, - "m_no_good_index_used_sum_per_sec": { - "description": "The number of queries without good index.", + "m_full_scan_sum_per_sec": { + "description": "The query performed a full table scan.", "type": "number", "format": "float", - "x-order": 39 + "x-order": 26 }, - "m_no_index_used_sum_per_sec": { - "description": "The number of queries without index.", + "m_full_join_sum_per_sec": { + "description": "The query performed a full join (a join without indexes).", "type": "number", "format": "float", - "x-order": 38 + "x-order": 27 }, - "m_plan_time_sum_per_sec": { - "description": "Plan time in per seconds.", + "m_tmp_table_sum_per_sec": { + "description": "The query created an implicit internal temporary table.", "type": "number", "format": "float", - "x-order": 61 + "x-order": 28 }, - "m_plans_calls_sum_per_sec": { - "description": "Total number of planned calls.", + "m_tmp_table_on_disk_sum_per_sec": { + "description": "The querys temporary table was stored on disk.", "type": "number", "format": "float", - "x-order": 57 + "x-order": 29 }, - "m_qc_hit_sum_per_sec": { - "description": "Query Cache hits.", + "m_filesort_sum_per_sec": { + "description": "The query used a filesort.", "type": "number", "format": "float", - "x-order": 25 + "x-order": 30 }, - "m_query_length_sum_per_sec": { - "description": "Shows how long the query is.", + "m_filesort_on_disk_sum_per_sec": { + "description": "The filesort was performed on disk.", "type": "number", "format": "float", - "x-order": 20 + "x-order": 31 }, - "m_query_time_sum_per_sec": { - "description": "The statement execution time in seconds.", + "m_select_full_range_join_sum_per_sec": { + "description": "The number of joins that used a range search on a reference table.", "type": "number", "format": "float", - "x-order": 7 + "x-order": 32 }, - "m_response_length_sum_per_sec": { - "description": "The response length of the query result in bytes.", + "m_select_range_sum_per_sec": { + "description": "The number of joins that used ranges on the first table.", "type": "number", "format": "float", - "x-order": 41 + "x-order": 33 }, - "m_rows_affected_sum_per_sec": { - "description": "Number of rows changed - UPDATE, DELETE, INSERT.", + "m_select_range_check_sum_per_sec": { + "description": "The number of joins without keys that check for key usage after each row.", "type": "number", "format": "float", - "x-order": 11 + "x-order": 34 }, - "m_rows_examined_sum_per_sec": { - "description": "Number of rows scanned - SELECT.", + "m_sort_range_sum_per_sec": { + "description": "The number of sorts that were done using ranges.", "type": "number", "format": "float", - "x-order": 10 + "x-order": 35 }, - "m_rows_read_sum_per_sec": { - "description": "The number of rows read from tables.", + "m_sort_rows_sum_per_sec": { + "description": "The number of sorted rows.", "type": "number", "format": "float", - "x-order": 12 + "x-order": 36 }, - "m_rows_sent_sum_per_sec": { - "description": "The number of rows sent to the client.", + "m_sort_scan_sum_per_sec": { + "description": "The number of sorts that were done by scanning the table.", "type": "number", "format": "float", - "x-order": 9 + "x-order": 37 }, - "m_select_full_range_join_sum_per_sec": { - "description": "The number of joins that used a range search on a reference table.", + "m_no_index_used_sum_per_sec": { + "description": "The number of queries without index.", "type": "number", "format": "float", - "x-order": 32 + "x-order": 38 }, - "m_select_range_check_sum_per_sec": { - "description": "The number of joins without keys that check for key usage after each row.", + "m_no_good_index_used_sum_per_sec": { + "description": "The number of queries without good index.", "type": "number", "format": "float", - "x-order": 34 + "x-order": 39 }, - "m_select_range_sum_per_sec": { - "description": "The number of joins that used ranges on the first table.", + "m_docs_returned_sum_per_sec": { + "description": "The number of returned documents.", "type": "number", "format": "float", - "x-order": 33 + "x-order": 40 }, - "m_shared_blks_dirtied_sum_per_sec": { - "description": "Total number of shared blocks dirtied by the statement.", + "m_response_length_sum_per_sec": { + "description": "The response length of the query result in bytes.", "type": "number", "format": "float", - "x-order": 45 + "x-order": 41 + }, + "m_docs_scanned_sum_per_sec": { + "description": "The number of scanned documents.", + "type": "number", + "format": "float", + "x-order": 42 }, "m_shared_blks_hit_sum_per_sec": { "description": "Total number of shared block cache hits by the statement.", @@ -677,29 +680,41 @@ "format": "float", "x-order": 44 }, + "m_shared_blks_dirtied_sum_per_sec": { + "description": "Total number of shared blocks dirtied by the statement.", + "type": "number", + "format": "float", + "x-order": 45 + }, "m_shared_blks_written_sum_per_sec": { "description": "Total number of shared blocks written by the statement.", "type": "number", "format": "float", "x-order": 46 }, - "m_sort_range_sum_per_sec": { - "description": "The number of sorts that were done using ranges.", + "m_local_blks_hit_sum_per_sec": { + "description": "Total number of local block cache hits by the statement.", "type": "number", "format": "float", - "x-order": 35 + "x-order": 47 }, - "m_sort_rows_sum_per_sec": { - "description": "The number of sorted rows.", + "m_local_blks_read_sum_per_sec": { + "description": "Total number of local blocks read by the statement.", "type": "number", "format": "float", - "x-order": 36 + "x-order": 48 }, - "m_sort_scan_sum_per_sec": { - "description": "The number of sorts that were done by scanning the table.", + "m_local_blks_dirtied_sum_per_sec": { + "description": "Total number of local blocks dirtied by the statement.", "type": "number", "format": "float", - "x-order": 37 + "x-order": 49 + }, + "m_local_blks_written_sum_per_sec": { + "description": "Total number of local blocks written by the statement.", + "type": "number", + "format": "float", + "x-order": 50 }, "m_temp_blks_read_sum_per_sec": { "description": "Total number of temp blocks read by the statement.", @@ -713,47 +728,35 @@ "format": "float", "x-order": 52 }, - "m_tmp_disk_tables_sum_per_sec": { - "description": "Number of temporary tables created on disk for the query.", - "type": "number", - "format": "float", - "x-order": 23 - }, - "m_tmp_table_on_disk_sum_per_sec": { - "description": "The querys temporary table was stored on disk.", - "type": "number", - "format": "float", - "x-order": 29 - }, - "m_tmp_table_sizes_sum_per_sec": { - "description": "Total Size in bytes for all temporary tables used in the query.", + "m_blk_read_time_sum_per_sec": { + "description": "Total time the statement spent reading blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", "type": "number", "format": "float", - "x-order": 24 + "x-order": 53 }, - "m_tmp_table_sum_per_sec": { - "description": "The query created an implicit internal temporary table.", + "m_blk_write_time_sum_per_sec": { + "description": "Total time the statement spent writing blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", "type": "number", "format": "float", - "x-order": 28 + "x-order": 54 }, - "m_tmp_tables_sum_per_sec": { - "description": "Number of temporary tables created on memory for the query.", + "m_cpu_user_time_sum_per_sec": { + "description": "Total time user spent in query.", "type": "number", "format": "float", - "x-order": 22 + "x-order": 55 }, - "m_wal_bytes_sum_per_sec": { - "description": "Total bytes of WAL (Write-ahead logging) records.", + "m_cpu_sys_time_sum_per_sec": { + "description": "Total time system spent in query.", "type": "number", "format": "float", - "x-order": 60 + "x-order": 56 }, - "m_wal_fpi_sum_per_sec": { - "description": "Total number of FPI (full page images) in WAL (Write-ahead logging) records.", + "m_plans_calls_sum_per_sec": { + "description": "Total number of planned calls.", "type": "number", "format": "float", - "x-order": 59 + "x-order": 57 }, "m_wal_records_sum_per_sec": { "description": "Total number of WAL (Write-ahead logging) records.", @@ -761,53 +764,50 @@ "format": "float", "x-order": 58 }, - "num_queries_per_sec": { - "description": "number of queries in bucket.", + "m_wal_fpi_sum_per_sec": { + "description": "Total number of FPI (full page images) in WAL (Write-ahead logging) records.", "type": "number", "format": "float", - "x-order": 4 + "x-order": 59 }, - "num_queries_with_errors_per_sec": { - "description": "number of queries with errors.", + "m_wal_bytes_sum_per_sec": { + "description": "Total bytes of WAL (Write-ahead logging) records.", "type": "number", "format": "float", - "x-order": 5 + "x-order": 60 }, - "num_queries_with_warnings_per_sec": { - "description": "number of queries with warnings.", + "m_plan_time_sum_per_sec": { + "description": "Plan time in per seconds.", "type": "number", "format": "float", - "x-order": 6 - }, - "point": { - "description": "The serial number of the chart point from the largest time in the time interval to the lowest time in the time range.", - "type": "integer", - "format": "int64", - "x-order": 0 - }, - "time_frame": { - "description": "Duration beetween two points.", - "type": "integer", - "format": "int64", - "x-order": 1 - }, - "timestamp": { - "description": "Time of point in format RFC3339.", - "type": "string", - "x-order": 2 + "x-order": 61 } } }, "x-order": 4 + }, + "fingerprint": { + "type": "string", + "x-order": 5 + }, + "num_queries": { + "type": "integer", + "format": "int64", + "x-order": 6 + }, + "qps": { + "type": "number", + "format": "float", + "x-order": 7 + }, + "load": { + "type": "number", + "format": "float", + "x-order": 8 } } }, "x-order": 3 - }, - "total_rows": { - "type": "integer", - "format": "int64", - "x-order": 0 } } } @@ -822,6 +822,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -832,13 +836,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -890,6 +890,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -900,13 +904,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -932,13 +932,13 @@ "description": "QueryExistsRequest check if provided query exists or not.", "type": "object", "properties": { - "query": { - "type": "string", - "x-order": 1 - }, "serviceid": { "type": "string", "x-order": 0 + }, + "query": { + "type": "string", + "x-order": 1 } } } @@ -968,6 +968,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -978,13 +982,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -1010,6 +1010,16 @@ "description": "GetQueryExampleRequest defines filtering of query examples for specific value of\ndimension (ex.: host=hostname1 or queryid=1D410B4BE5060972.", "type": "object", "properties": { + "period_start_from": { + "type": "string", + "format": "date-time", + "x-order": 0 + }, + "period_start_to": { + "type": "string", + "format": "date-time", + "x-order": 1 + }, "filter_by": { "description": "dimension value: ex: queryid - 1D410B4BE5060972.", "type": "string", @@ -1045,16 +1055,6 @@ "type": "integer", "format": "int64", "x-order": 5 - }, - "period_start_from": { - "type": "string", - "format": "date-time", - "x-order": 0 - }, - "period_start_to": { - "type": "string", - "format": "date-time", - "x-order": 1 } } } @@ -1077,10 +1077,6 @@ "type": "string", "x-order": 0 }, - "example_metrics": { - "type": "string", - "x-order": 6 - }, "example_type": { "description": "ExampleType is a type of query example selected for this query class in given period of time.", "type": "string", @@ -1094,10 +1090,6 @@ ], "x-order": 1 }, - "explain_fingerprint": { - "type": "string", - "x-order": 4 - }, "is_truncated": { "type": "integer", "format": "int64", @@ -1108,13 +1100,17 @@ "format": "int64", "x-order": 3 }, + "explain_fingerprint": { + "type": "string", + "x-order": 4 + }, "query_id": { "type": "string", "x-order": 5 }, - "schema": { + "example_metrics": { "type": "string", - "x-order": 9 + "x-order": 6 }, "service_id": { "type": "string", @@ -1124,6 +1120,10 @@ "type": "string", "x-order": 8 }, + "schema": { + "type": "string", + "x-order": 9 + }, "tables": { "type": "array", "items": { @@ -1148,6 +1148,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -1158,13 +1162,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -1190,13 +1190,13 @@ "description": "SchemaByQueryIDRequest returns schema for given query ID and service ID.", "type": "object", "properties": { - "query_id": { - "type": "string", - "x-order": 1 - }, "service_id": { "type": "string", "x-order": 0 + }, + "query_id": { + "type": "string", + "x-order": 1 } } } @@ -1226,6 +1226,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -1236,13 +1240,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -1268,13 +1268,13 @@ "description": "ExplainFingerprintByQueryIDRequest get explain fingerprint for given query ID.", "type": "object", "properties": { - "query_id": { - "type": "string", - "x-order": 1 - }, "serviceid": { "type": "string", "x-order": 0 + }, + "query_id": { + "type": "string", + "x-order": 1 } } } @@ -1309,6 +1309,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -1319,13 +1323,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -1351,6 +1351,16 @@ "description": "GetHistogramRequest defines filtering by time range, labels and queryid.", "type": "object", "properties": { + "period_start_from": { + "type": "string", + "format": "date-time", + "x-order": 0 + }, + "period_start_to": { + "type": "string", + "format": "date-time", + "x-order": 1 + }, "labels": { "type": "array", "items": { @@ -1372,16 +1382,6 @@ }, "x-order": 2 }, - "period_start_from": { - "type": "string", - "format": "date-time", - "x-order": 0 - }, - "period_start_to": { - "type": "string", - "format": "date-time", - "x-order": 1 - }, "queryid": { "type": "string", "x-order": 3 @@ -1403,14 +1403,14 @@ "description": "HistogramItem represents one item in histogram.", "type": "object", "properties": { + "range": { + "type": "string", + "x-order": 0 + }, "frequency": { "type": "integer", "format": "int64", "x-order": 1 - }, - "range": { - "type": "string", - "x-order": 0 } } }, @@ -1429,6 +1429,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -1439,13 +1443,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -1471,16 +1471,6 @@ "description": "GetLabelsRequest defines filtering of object detail's labels for specific value of\ndimension (ex.: host=hostname1 or queryid=1D410B4BE5060972.", "type": "object", "properties": { - "filter_by": { - "description": "dimension value: ex: queryid - 1D410B4BE5060972.", - "type": "string", - "x-order": 2 - }, - "group_by": { - "description": "one of dimension: queryid | host ...", - "type": "string", - "x-order": 3 - }, "period_start_from": { "type": "string", "format": "date-time", @@ -1490,6 +1480,16 @@ "type": "string", "format": "date-time", "x-order": 1 + }, + "filter_by": { + "description": "dimension value: ex: queryid - 1D410B4BE5060972.", + "type": "string", + "x-order": 2 + }, + "group_by": { + "description": "one of dimension: queryid | host ...", + "type": "string", + "x-order": 3 } } } @@ -1532,6 +1532,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -1542,13 +1546,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -1574,6 +1574,16 @@ "description": "GetMetricsRequest defines filtering of metrics for specific value of dimension (ex.: host=hostname1 or queryid=1D410B4BE5060972.", "type": "object", "properties": { + "period_start_from": { + "type": "string", + "format": "date-time", + "x-order": 0 + }, + "period_start_to": { + "type": "string", + "format": "date-time", + "x-order": 1 + }, "filter_by": { "description": "dimension value: ex: queryid - 1D410B4BE5060972.", "type": "string", @@ -1584,246 +1594,201 @@ "type": "string", "x-order": 3 }, - "include_only_fields": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 5 - }, "labels": { "type": "array", "items": { - "description": "MapFieldEntry allows to pass labels/dimensions in form like {\"server\": [\"db1\", \"db2\"...]}.", - "type": "object", - "properties": { - "key": { - "type": "string", - "x-order": 0 - }, - "value": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 1 - } - } - }, - "x-order": 4 - }, - "period_start_from": { - "type": "string", - "format": "date-time", - "x-order": 0 - }, - "period_start_to": { - "type": "string", - "format": "date-time", - "x-order": 1 - }, - "totals": { - "type": "boolean", - "title": "retrieve only values for totals, excluding N/A values", - "x-order": 6 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "GetMetricsResponse defines metrics for specific value of dimension (ex.: host=hostname1 or queryid=1D410B4BE5060972.", - "type": "object", - "properties": { - "fingerprint": { - "type": "string", - "x-order": 4 - }, - "metadata": { - "description": "GetSlecetedQueryMetadataResponse consists selected query metadata to show in details for given query ID.", - "type": "object", - "properties": { - "cluster": { - "type": "string", - "x-order": 5 - }, - "database": { - "type": "string", - "x-order": 1 - }, - "environment": { - "type": "string", - "x-order": 8 - }, - "node_id": { - "type": "string", - "x-order": 9 - }, - "node_name": { - "type": "string", - "x-order": 10 - }, - "node_type": { - "type": "string", - "x-order": 11 - }, - "replication_set": { - "type": "string", - "x-order": 4 - }, - "schema": { - "type": "string", - "x-order": 2 - }, - "service_id": { - "type": "string", - "x-order": 7 - }, - "service_name": { - "type": "string", - "x-order": 0 - }, - "service_type": { - "type": "string", - "x-order": 6 - }, - "username": { - "type": "string", - "x-order": 3 + "description": "MapFieldEntry allows to pass labels/dimensions in form like {\"server\": [\"db1\", \"db2\"...]}.", + "type": "object", + "properties": { + "key": { + "type": "string", + "x-order": 0 + }, + "value": { + "type": "array", + "items": { + "type": "string" + }, + "x-order": 1 + } } }, + "x-order": 4 + }, + "include_only_fields": { + "type": "array", + "items": { + "type": "string" + }, "x-order": 5 }, + "totals": { + "type": "boolean", + "title": "retrieve only values for totals, excluding N/A values", + "x-order": 6 + } + } + } + } + ], + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "description": "GetMetricsResponse defines metrics for specific value of dimension (ex.: host=hostname1 or queryid=1D410B4BE5060972.", + "type": "object", + "properties": { "metrics": { "type": "object", "additionalProperties": { "description": "MetricValues is statistics of specific metric.", "type": "object", "properties": { - "avg": { + "rate": { "type": "number", "format": "float", - "x-order": 5 + "x-order": 0 }, "cnt": { "type": "number", "format": "float", "x-order": 1 }, - "max": { + "sum": { "type": "number", "format": "float", - "x-order": 4 + "x-order": 2 }, "min": { "type": "number", "format": "float", "x-order": 3 }, - "p99": { + "max": { "type": "number", "format": "float", - "x-order": 6 + "x-order": 4 }, - "percent_of_total": { + "avg": { "type": "number", "format": "float", - "x-order": 7 + "x-order": 5 }, - "rate": { + "p99": { "type": "number", "format": "float", - "x-order": 0 + "x-order": 6 }, - "sum": { + "percent_of_total": { "type": "number", "format": "float", - "x-order": 2 + "x-order": 7 } } }, "x-order": 0 }, + "text_metrics": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-order": 1 + }, "sparkline": { "type": "array", "items": { "description": "Point contains values that represents abscissa (time) and ordinate (volume etc.)\nof every point in a coordinate system of Sparklines.", "type": "object", "properties": { + "point": { + "description": "The serial number of the chart point from the largest time in the time interval to the lowest time in the time range.", + "type": "integer", + "format": "int64", + "x-order": 0 + }, + "time_frame": { + "description": "Duration beetween two points.", + "type": "integer", + "format": "int64", + "x-order": 1 + }, + "timestamp": { + "description": "Time of point in format RFC3339.", + "type": "string", + "x-order": 2 + }, "load": { "description": "load is query_time / time_range.", "type": "number", "format": "float", "x-order": 3 }, - "m_blk_read_time_sum_per_sec": { - "description": "Total time the statement spent reading blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", + "num_queries_per_sec": { + "description": "number of queries in bucket.", "type": "number", "format": "float", - "x-order": 53 + "x-order": 4 }, - "m_blk_write_time_sum_per_sec": { - "description": "Total time the statement spent writing blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", + "num_queries_with_errors_per_sec": { + "description": "number of queries with errors.", "type": "number", "format": "float", - "x-order": 54 + "x-order": 5 }, - "m_bytes_sent_sum_per_sec": { - "description": "The number of bytes sent to all clients.", + "num_queries_with_warnings_per_sec": { + "description": "number of queries with warnings.", "type": "number", "format": "float", - "x-order": 21 + "x-order": 6 }, - "m_cpu_sys_time_sum_per_sec": { - "description": "Total time system spent in query.", + "m_query_time_sum_per_sec": { + "description": "The statement execution time in seconds.", "type": "number", "format": "float", - "x-order": 56 + "x-order": 7 }, - "m_cpu_user_time_sum_per_sec": { - "description": "Total time user spent in query.", + "m_lock_time_sum_per_sec": { + "description": "The time to acquire locks in seconds.", "type": "number", "format": "float", - "x-order": 55 + "x-order": 8 }, - "m_docs_returned_sum_per_sec": { - "description": "The number of returned documents.", + "m_rows_sent_sum_per_sec": { + "description": "The number of rows sent to the client.", "type": "number", "format": "float", - "x-order": 40 + "x-order": 9 }, - "m_docs_scanned_sum_per_sec": { - "description": "The number of scanned documents.", + "m_rows_examined_sum_per_sec": { + "description": "Number of rows scanned - SELECT.", "type": "number", "format": "float", - "x-order": 42 + "x-order": 10 }, - "m_filesort_on_disk_sum_per_sec": { - "description": "The filesort was performed on disk.", + "m_rows_affected_sum_per_sec": { + "description": "Number of rows changed - UPDATE, DELETE, INSERT.", "type": "number", "format": "float", - "x-order": 31 + "x-order": 11 }, - "m_filesort_sum_per_sec": { - "description": "The query used a filesort.", + "m_rows_read_sum_per_sec": { + "description": "The number of rows read from tables.", "type": "number", "format": "float", - "x-order": 30 + "x-order": 12 }, - "m_full_join_sum_per_sec": { - "description": "The query performed a full join (a join without indexes).", + "m_merge_passes_sum_per_sec": { + "description": "The number of merge passes that the sort algorithm has had to do.", "type": "number", "format": "float", - "x-order": 27 + "x-order": 13 }, - "m_full_scan_sum_per_sec": { - "description": "The query performed a full table scan.", + "m_innodb_io_r_ops_sum_per_sec": { + "description": "Counts the number of page read operations scheduled.", "type": "number", "format": "float", - "x-order": 26 + "x-order": 14 }, "m_innodb_io_r_bytes_sum_per_sec": { "description": "Similar to innodb_IO_r_ops, but the unit is bytes.", @@ -1831,23 +1796,17 @@ "format": "float", "x-order": 15 }, - "m_innodb_io_r_ops_sum_per_sec": { - "description": "Counts the number of page read operations scheduled.", - "type": "number", - "format": "float", - "x-order": 14 - }, "m_innodb_io_r_wait_sum_per_sec": { "description": "Shows how long (in seconds) it took InnoDB to actually read the data from storage.", "type": "number", "format": "float", "x-order": 16 }, - "m_innodb_pages_distinct_sum_per_sec": { - "description": "Counts approximately the number of unique pages the query accessed.", + "m_innodb_rec_lock_wait_sum_per_sec": { + "description": "Shows how long (in seconds) the query waited for row locks.", "type": "number", "format": "float", - "x-order": 19 + "x-order": 17 }, "m_innodb_queue_wait_sum_per_sec": { "description": "Shows how long (in seconds) the query spent either waiting to enter the InnoDB queue or inside that queue waiting for execution.", @@ -1855,143 +1814,149 @@ "format": "float", "x-order": 18 }, - "m_innodb_rec_lock_wait_sum_per_sec": { - "description": "Shows how long (in seconds) the query waited for row locks.", + "m_innodb_pages_distinct_sum_per_sec": { + "description": "Counts approximately the number of unique pages the query accessed.", "type": "number", "format": "float", - "x-order": 17 + "x-order": 19 }, - "m_local_blks_dirtied_sum_per_sec": { - "description": "Total number of local blocks dirtied by the statement.", + "m_query_length_sum_per_sec": { + "description": "Shows how long the query is.", "type": "number", "format": "float", - "x-order": 49 + "x-order": 20 }, - "m_local_blks_hit_sum_per_sec": { - "description": "Total number of local block cache hits by the statement.", + "m_bytes_sent_sum_per_sec": { + "description": "The number of bytes sent to all clients.", "type": "number", "format": "float", - "x-order": 47 + "x-order": 21 }, - "m_local_blks_read_sum_per_sec": { - "description": "Total number of local blocks read by the statement.", + "m_tmp_tables_sum_per_sec": { + "description": "Number of temporary tables created on memory for the query.", "type": "number", "format": "float", - "x-order": 48 + "x-order": 22 }, - "m_local_blks_written_sum_per_sec": { - "description": "Total number of local blocks written by the statement.", + "m_tmp_disk_tables_sum_per_sec": { + "description": "Number of temporary tables created on disk for the query.", "type": "number", "format": "float", - "x-order": 50 + "x-order": 23 }, - "m_lock_time_sum_per_sec": { - "description": "The time to acquire locks in seconds.", + "m_tmp_table_sizes_sum_per_sec": { + "description": "Total Size in bytes for all temporary tables used in the query.", "type": "number", "format": "float", - "x-order": 8 + "x-order": 24 }, - "m_merge_passes_sum_per_sec": { - "description": "The number of merge passes that the sort algorithm has had to do.", + "m_qc_hit_sum_per_sec": { + "description": "Query Cache hits.", "type": "number", "format": "float", - "x-order": 13 + "x-order": 25 }, - "m_no_good_index_used_sum_per_sec": { - "description": "The number of queries without good index.", + "m_full_scan_sum_per_sec": { + "description": "The query performed a full table scan.", "type": "number", "format": "float", - "x-order": 39 + "x-order": 26 }, - "m_no_index_used_sum_per_sec": { - "description": "The number of queries without index.", + "m_full_join_sum_per_sec": { + "description": "The query performed a full join (a join without indexes).", "type": "number", "format": "float", - "x-order": 38 + "x-order": 27 }, - "m_plan_time_sum_per_sec": { - "description": "Plan time in per seconds.", + "m_tmp_table_sum_per_sec": { + "description": "The query created an implicit internal temporary table.", "type": "number", "format": "float", - "x-order": 61 + "x-order": 28 }, - "m_plans_calls_sum_per_sec": { - "description": "Total number of planned calls.", + "m_tmp_table_on_disk_sum_per_sec": { + "description": "The querys temporary table was stored on disk.", "type": "number", "format": "float", - "x-order": 57 + "x-order": 29 }, - "m_qc_hit_sum_per_sec": { - "description": "Query Cache hits.", + "m_filesort_sum_per_sec": { + "description": "The query used a filesort.", "type": "number", "format": "float", - "x-order": 25 + "x-order": 30 }, - "m_query_length_sum_per_sec": { - "description": "Shows how long the query is.", + "m_filesort_on_disk_sum_per_sec": { + "description": "The filesort was performed on disk.", "type": "number", "format": "float", - "x-order": 20 + "x-order": 31 }, - "m_query_time_sum_per_sec": { - "description": "The statement execution time in seconds.", + "m_select_full_range_join_sum_per_sec": { + "description": "The number of joins that used a range search on a reference table.", "type": "number", "format": "float", - "x-order": 7 + "x-order": 32 }, - "m_response_length_sum_per_sec": { - "description": "The response length of the query result in bytes.", + "m_select_range_sum_per_sec": { + "description": "The number of joins that used ranges on the first table.", + "type": "number", + "format": "float", + "x-order": 33 + }, + "m_select_range_check_sum_per_sec": { + "description": "The number of joins without keys that check for key usage after each row.", "type": "number", "format": "float", - "x-order": 41 + "x-order": 34 }, - "m_rows_affected_sum_per_sec": { - "description": "Number of rows changed - UPDATE, DELETE, INSERT.", + "m_sort_range_sum_per_sec": { + "description": "The number of sorts that were done using ranges.", "type": "number", "format": "float", - "x-order": 11 + "x-order": 35 }, - "m_rows_examined_sum_per_sec": { - "description": "Number of rows scanned - SELECT.", + "m_sort_rows_sum_per_sec": { + "description": "The number of sorted rows.", "type": "number", "format": "float", - "x-order": 10 + "x-order": 36 }, - "m_rows_read_sum_per_sec": { - "description": "The number of rows read from tables.", + "m_sort_scan_sum_per_sec": { + "description": "The number of sorts that were done by scanning the table.", "type": "number", "format": "float", - "x-order": 12 + "x-order": 37 }, - "m_rows_sent_sum_per_sec": { - "description": "The number of rows sent to the client.", + "m_no_index_used_sum_per_sec": { + "description": "The number of queries without index.", "type": "number", "format": "float", - "x-order": 9 + "x-order": 38 }, - "m_select_full_range_join_sum_per_sec": { - "description": "The number of joins that used a range search on a reference table.", + "m_no_good_index_used_sum_per_sec": { + "description": "The number of queries without good index.", "type": "number", "format": "float", - "x-order": 32 + "x-order": 39 }, - "m_select_range_check_sum_per_sec": { - "description": "The number of joins without keys that check for key usage after each row.", + "m_docs_returned_sum_per_sec": { + "description": "The number of returned documents.", "type": "number", "format": "float", - "x-order": 34 + "x-order": 40 }, - "m_select_range_sum_per_sec": { - "description": "The number of joins that used ranges on the first table.", + "m_response_length_sum_per_sec": { + "description": "The response length of the query result in bytes.", "type": "number", "format": "float", - "x-order": 33 + "x-order": 41 }, - "m_shared_blks_dirtied_sum_per_sec": { - "description": "Total number of shared blocks dirtied by the statement.", + "m_docs_scanned_sum_per_sec": { + "description": "The number of scanned documents.", "type": "number", "format": "float", - "x-order": 45 + "x-order": 42 }, "m_shared_blks_hit_sum_per_sec": { "description": "Total number of shared block cache hits by the statement.", @@ -2005,29 +1970,41 @@ "format": "float", "x-order": 44 }, + "m_shared_blks_dirtied_sum_per_sec": { + "description": "Total number of shared blocks dirtied by the statement.", + "type": "number", + "format": "float", + "x-order": 45 + }, "m_shared_blks_written_sum_per_sec": { "description": "Total number of shared blocks written by the statement.", "type": "number", "format": "float", "x-order": 46 }, - "m_sort_range_sum_per_sec": { - "description": "The number of sorts that were done using ranges.", + "m_local_blks_hit_sum_per_sec": { + "description": "Total number of local block cache hits by the statement.", "type": "number", "format": "float", - "x-order": 35 + "x-order": 47 }, - "m_sort_rows_sum_per_sec": { - "description": "The number of sorted rows.", + "m_local_blks_read_sum_per_sec": { + "description": "Total number of local blocks read by the statement.", "type": "number", "format": "float", - "x-order": 36 + "x-order": 48 }, - "m_sort_scan_sum_per_sec": { - "description": "The number of sorts that were done by scanning the table.", + "m_local_blks_dirtied_sum_per_sec": { + "description": "Total number of local blocks dirtied by the statement.", "type": "number", "format": "float", - "x-order": 37 + "x-order": 49 + }, + "m_local_blks_written_sum_per_sec": { + "description": "Total number of local blocks written by the statement.", + "type": "number", + "format": "float", + "x-order": 50 }, "m_temp_blks_read_sum_per_sec": { "description": "Total number of temp blocks read by the statement.", @@ -2041,47 +2018,35 @@ "format": "float", "x-order": 52 }, - "m_tmp_disk_tables_sum_per_sec": { - "description": "Number of temporary tables created on disk for the query.", - "type": "number", - "format": "float", - "x-order": 23 - }, - "m_tmp_table_on_disk_sum_per_sec": { - "description": "The querys temporary table was stored on disk.", - "type": "number", - "format": "float", - "x-order": 29 - }, - "m_tmp_table_sizes_sum_per_sec": { - "description": "Total Size in bytes for all temporary tables used in the query.", + "m_blk_read_time_sum_per_sec": { + "description": "Total time the statement spent reading blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", "type": "number", "format": "float", - "x-order": 24 + "x-order": 53 }, - "m_tmp_table_sum_per_sec": { - "description": "The query created an implicit internal temporary table.", + "m_blk_write_time_sum_per_sec": { + "description": "Total time the statement spent writing blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", "type": "number", "format": "float", - "x-order": 28 + "x-order": 54 }, - "m_tmp_tables_sum_per_sec": { - "description": "Number of temporary tables created on memory for the query.", + "m_cpu_user_time_sum_per_sec": { + "description": "Total time user spent in query.", "type": "number", "format": "float", - "x-order": 22 + "x-order": 55 }, - "m_wal_bytes_sum_per_sec": { - "description": "Total bytes of WAL (Write-ahead logging) records.", + "m_cpu_sys_time_sum_per_sec": { + "description": "Total time system spent in query.", "type": "number", "format": "float", - "x-order": 60 + "x-order": 56 }, - "m_wal_fpi_sum_per_sec": { - "description": "Total number of FPI (full page images) in WAL (Write-ahead logging) records.", + "m_plans_calls_sum_per_sec": { + "description": "Total number of planned calls.", "type": "number", "format": "float", - "x-order": 59 + "x-order": 57 }, "m_wal_records_sum_per_sec": { "description": "Total number of WAL (Write-ahead logging) records.", @@ -2089,101 +2054,136 @@ "format": "float", "x-order": 58 }, - "num_queries_per_sec": { - "description": "number of queries in bucket.", + "m_wal_fpi_sum_per_sec": { + "description": "Total number of FPI (full page images) in WAL (Write-ahead logging) records.", "type": "number", "format": "float", - "x-order": 4 + "x-order": 59 }, - "num_queries_with_errors_per_sec": { - "description": "number of queries with errors.", + "m_wal_bytes_sum_per_sec": { + "description": "Total bytes of WAL (Write-ahead logging) records.", "type": "number", "format": "float", - "x-order": 5 + "x-order": 60 }, - "num_queries_with_warnings_per_sec": { - "description": "number of queries with warnings.", + "m_plan_time_sum_per_sec": { + "description": "Plan time in per seconds.", "type": "number", "format": "float", - "x-order": 6 - }, - "point": { - "description": "The serial number of the chart point from the largest time in the time interval to the lowest time in the time range.", - "type": "integer", - "format": "int64", - "x-order": 0 - }, - "time_frame": { - "description": "Duration beetween two points.", - "type": "integer", - "format": "int64", - "x-order": 1 - }, - "timestamp": { - "description": "Time of point in format RFC3339.", - "type": "string", - "x-order": 2 + "x-order": 61 } } }, "x-order": 2 }, - "text_metrics": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 1 - }, "totals": { "type": "object", "additionalProperties": { "description": "MetricValues is statistics of specific metric.", "type": "object", "properties": { - "avg": { + "rate": { "type": "number", "format": "float", - "x-order": 5 + "x-order": 0 }, "cnt": { "type": "number", "format": "float", "x-order": 1 }, - "max": { + "sum": { "type": "number", "format": "float", - "x-order": 4 + "x-order": 2 }, "min": { "type": "number", "format": "float", "x-order": 3 }, - "p99": { + "max": { "type": "number", "format": "float", - "x-order": 6 + "x-order": 4 }, - "percent_of_total": { + "avg": { "type": "number", "format": "float", - "x-order": 7 + "x-order": 5 }, - "rate": { + "p99": { "type": "number", "format": "float", - "x-order": 0 + "x-order": 6 }, - "sum": { + "percent_of_total": { "type": "number", "format": "float", - "x-order": 2 + "x-order": 7 } } }, "x-order": 3 + }, + "fingerprint": { + "type": "string", + "x-order": 4 + }, + "metadata": { + "description": "GetSlecetedQueryMetadataResponse consists selected query metadata to show in details for given query ID.", + "type": "object", + "properties": { + "service_name": { + "type": "string", + "x-order": 0 + }, + "database": { + "type": "string", + "x-order": 1 + }, + "schema": { + "type": "string", + "x-order": 2 + }, + "username": { + "type": "string", + "x-order": 3 + }, + "replication_set": { + "type": "string", + "x-order": 4 + }, + "cluster": { + "type": "string", + "x-order": 5 + }, + "service_type": { + "type": "string", + "x-order": 6 + }, + "service_id": { + "type": "string", + "x-order": 7 + }, + "environment": { + "type": "string", + "x-order": 8 + }, + "node_id": { + "type": "string", + "x-order": 9 + }, + "node_name": { + "type": "string", + "x-order": 10 + }, + "node_type": { + "type": "string", + "x-order": 11 + } + }, + "x-order": 5 } } } @@ -2198,6 +2198,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -2208,13 +2212,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } diff --git a/api/server/v1/json/client/server_service/change_settings_responses.go b/api/server/v1/json/client/server_service/change_settings_responses.go index cd4184b625..e8dbdc0e8d 100644 --- a/api/server/v1/json/client/server_service/change_settings_responses.go +++ b/api/server/v1/json/client/server_service/change_settings_responses.go @@ -7,6 +7,7 @@ package server_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type ChangeSettingsOK struct { Payload *ChangeSettingsOKBody } +// IsSuccess returns true when this change settings Ok response has a 2xx status code +func (o *ChangeSettingsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this change settings Ok response has a 3xx status code +func (o *ChangeSettingsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this change settings Ok response has a 4xx status code +func (o *ChangeSettingsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this change settings Ok response has a 5xx status code +func (o *ChangeSettingsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this change settings Ok response a status code equal to that given +func (o *ChangeSettingsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the change settings Ok response +func (o *ChangeSettingsOK) Code() int { + return 200 +} + func (o *ChangeSettingsOK) Error() string { - return fmt.Sprintf("[PUT /v1/server/settings][%d] changeSettingsOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/server/settings][%d] changeSettingsOk %s", 200, payload) +} + +func (o *ChangeSettingsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/server/settings][%d] changeSettingsOk %s", 200, payload) } func (o *ChangeSettingsOK) GetPayload() *ChangeSettingsOKBody { @@ -94,13 +131,44 @@ type ChangeSettingsDefault struct { Payload *ChangeSettingsDefaultBody } +// IsSuccess returns true when this change settings default response has a 2xx status code +func (o *ChangeSettingsDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this change settings default response has a 3xx status code +func (o *ChangeSettingsDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this change settings default response has a 4xx status code +func (o *ChangeSettingsDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this change settings default response has a 5xx status code +func (o *ChangeSettingsDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this change settings default response a status code equal to that given +func (o *ChangeSettingsDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the change settings default response func (o *ChangeSettingsDefault) Code() int { return o._statusCode } func (o *ChangeSettingsDefault) Error() string { - return fmt.Sprintf("[PUT /v1/server/settings][%d] ChangeSettings default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/server/settings][%d] ChangeSettings default %s", o._statusCode, payload) +} + +func (o *ChangeSettingsDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/server/settings][%d] ChangeSettings default %s", o._statusCode, payload) } func (o *ChangeSettingsDefault) GetPayload() *ChangeSettingsDefaultBody { @@ -266,6 +334,11 @@ func (o *ChangeSettingsBody) ContextValidate(ctx context.Context, formats strfmt func (o *ChangeSettingsBody) contextValidateAdvisorRunIntervals(ctx context.Context, formats strfmt.Registry) error { if o.AdvisorRunIntervals != nil { + + if swag.IsZero(o.AdvisorRunIntervals) { // not required + return nil + } + if err := o.AdvisorRunIntervals.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "advisor_run_intervals") @@ -281,6 +354,11 @@ func (o *ChangeSettingsBody) contextValidateAdvisorRunIntervals(ctx context.Cont func (o *ChangeSettingsBody) contextValidateAWSPartitions(ctx context.Context, formats strfmt.Registry) error { if o.AWSPartitions != nil { + + if swag.IsZero(o.AWSPartitions) { // not required + return nil + } + if err := o.AWSPartitions.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "aws_partitions") @@ -296,6 +374,11 @@ func (o *ChangeSettingsBody) contextValidateAWSPartitions(ctx context.Context, f func (o *ChangeSettingsBody) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("body" + "." + "metrics_resolutions") @@ -399,6 +482,11 @@ func (o *ChangeSettingsDefaultBody) ContextValidate(ctx context.Context, formats func (o *ChangeSettingsDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ChangeSettings default" + "." + "details" + "." + strconv.Itoa(i)) @@ -549,6 +637,134 @@ type ChangeSettingsDefaultBodyDetailsItems0 struct { // Schemes other than `http`, `https` (or the empty scheme) might be // used with implementation specific semantics. AtType string `json:"@type,omitempty"` + + // change settings default body details items0 + ChangeSettingsDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ChangeSettingsDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. As of May 2023, there are no widely used type server + // implementations and no plans to implement one. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ChangeSettingsDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ChangeSettingsDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ChangeSettingsDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. As of May 2023, there are no widely used type server + // implementations and no plans to implement one. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ChangeSettingsDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ChangeSettingsDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this change settings default body details items0 @@ -637,6 +853,11 @@ func (o *ChangeSettingsOKBody) ContextValidate(ctx context.Context, formats strf func (o *ChangeSettingsOKBody) contextValidateSettings(ctx context.Context, formats strfmt.Registry) error { if o.Settings != nil { + + if swag.IsZero(o.Settings) { // not required + return nil + } + if err := o.Settings.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeSettingsOk" + "." + "settings") @@ -801,6 +1022,11 @@ func (o *ChangeSettingsOKBodySettings) ContextValidate(ctx context.Context, form func (o *ChangeSettingsOKBodySettings) contextValidateAdvisorRunIntervals(ctx context.Context, formats strfmt.Registry) error { if o.AdvisorRunIntervals != nil { + + if swag.IsZero(o.AdvisorRunIntervals) { // not required + return nil + } + if err := o.AdvisorRunIntervals.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeSettingsOk" + "." + "settings" + "." + "advisor_run_intervals") @@ -816,6 +1042,11 @@ func (o *ChangeSettingsOKBodySettings) contextValidateAdvisorRunIntervals(ctx co func (o *ChangeSettingsOKBodySettings) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("changeSettingsOk" + "." + "settings" + "." + "metrics_resolutions") diff --git a/api/server/v1/json/client/server_service/check_updates_responses.go b/api/server/v1/json/client/server_service/check_updates_responses.go index 5dec415b5e..093065dd97 100644 --- a/api/server/v1/json/client/server_service/check_updates_responses.go +++ b/api/server/v1/json/client/server_service/check_updates_responses.go @@ -7,6 +7,7 @@ package server_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -58,8 +59,44 @@ type CheckUpdatesOK struct { Payload *CheckUpdatesOKBody } +// IsSuccess returns true when this check updates Ok response has a 2xx status code +func (o *CheckUpdatesOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this check updates Ok response has a 3xx status code +func (o *CheckUpdatesOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this check updates Ok response has a 4xx status code +func (o *CheckUpdatesOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this check updates Ok response has a 5xx status code +func (o *CheckUpdatesOK) IsServerError() bool { + return false +} + +// IsCode returns true when this check updates Ok response a status code equal to that given +func (o *CheckUpdatesOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the check updates Ok response +func (o *CheckUpdatesOK) Code() int { + return 200 +} + func (o *CheckUpdatesOK) Error() string { - return fmt.Sprintf("[GET /v1/server/updates][%d] checkUpdatesOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/updates][%d] checkUpdatesOk %s", 200, payload) +} + +func (o *CheckUpdatesOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/updates][%d] checkUpdatesOk %s", 200, payload) } func (o *CheckUpdatesOK) GetPayload() *CheckUpdatesOKBody { @@ -95,13 +132,44 @@ type CheckUpdatesDefault struct { Payload *CheckUpdatesDefaultBody } +// IsSuccess returns true when this check updates default response has a 2xx status code +func (o *CheckUpdatesDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this check updates default response has a 3xx status code +func (o *CheckUpdatesDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this check updates default response has a 4xx status code +func (o *CheckUpdatesDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this check updates default response has a 5xx status code +func (o *CheckUpdatesDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this check updates default response a status code equal to that given +func (o *CheckUpdatesDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the check updates default response func (o *CheckUpdatesDefault) Code() int { return o._statusCode } func (o *CheckUpdatesDefault) Error() string { - return fmt.Sprintf("[GET /v1/server/updates][%d] CheckUpdates default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/updates][%d] CheckUpdates default %s", o._statusCode, payload) +} + +func (o *CheckUpdatesDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/updates][%d] CheckUpdates default %s", o._statusCode, payload) } func (o *CheckUpdatesDefault) GetPayload() *CheckUpdatesDefaultBody { @@ -191,6 +259,11 @@ func (o *CheckUpdatesDefaultBody) ContextValidate(ctx context.Context, formats s func (o *CheckUpdatesDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("CheckUpdates default" + "." + "details" + "." + strconv.Itoa(i)) @@ -341,6 +414,134 @@ type CheckUpdatesDefaultBodyDetailsItems0 struct { // Schemes other than `http`, `https` (or the empty scheme) might be // used with implementation specific semantics. AtType string `json:"@type,omitempty"` + + // check updates default body details items0 + CheckUpdatesDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *CheckUpdatesDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. As of May 2023, there are no widely used type server + // implementations and no plans to implement one. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv CheckUpdatesDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.CheckUpdatesDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o CheckUpdatesDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. As of May 2023, there are no widely used type server + // implementations and no plans to implement one. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.CheckUpdatesDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.CheckUpdatesDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this check updates default body details items0 @@ -485,6 +686,11 @@ func (o *CheckUpdatesOKBody) ContextValidate(ctx context.Context, formats strfmt func (o *CheckUpdatesOKBody) contextValidateInstalled(ctx context.Context, formats strfmt.Registry) error { if o.Installed != nil { + + if swag.IsZero(o.Installed) { // not required + return nil + } + if err := o.Installed.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("checkUpdatesOk" + "." + "installed") @@ -500,6 +706,11 @@ func (o *CheckUpdatesOKBody) contextValidateInstalled(ctx context.Context, forma func (o *CheckUpdatesOKBody) contextValidateLatest(ctx context.Context, formats strfmt.Registry) error { if o.Latest != nil { + + if swag.IsZero(o.Latest) { // not required + return nil + } + if err := o.Latest.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("checkUpdatesOk" + "." + "latest") diff --git a/api/server/v1/json/client/server_service/get_settings_responses.go b/api/server/v1/json/client/server_service/get_settings_responses.go index 0b53344e2a..5431615125 100644 --- a/api/server/v1/json/client/server_service/get_settings_responses.go +++ b/api/server/v1/json/client/server_service/get_settings_responses.go @@ -7,6 +7,7 @@ package server_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type GetSettingsOK struct { Payload *GetSettingsOKBody } +// IsSuccess returns true when this get settings Ok response has a 2xx status code +func (o *GetSettingsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get settings Ok response has a 3xx status code +func (o *GetSettingsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get settings Ok response has a 4xx status code +func (o *GetSettingsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get settings Ok response has a 5xx status code +func (o *GetSettingsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get settings Ok response a status code equal to that given +func (o *GetSettingsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get settings Ok response +func (o *GetSettingsOK) Code() int { + return 200 +} + func (o *GetSettingsOK) Error() string { - return fmt.Sprintf("[GET /v1/server/settings][%d] getSettingsOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/settings][%d] getSettingsOk %s", 200, payload) +} + +func (o *GetSettingsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/settings][%d] getSettingsOk %s", 200, payload) } func (o *GetSettingsOK) GetPayload() *GetSettingsOKBody { @@ -94,13 +131,44 @@ type GetSettingsDefault struct { Payload *GetSettingsDefaultBody } +// IsSuccess returns true when this get settings default response has a 2xx status code +func (o *GetSettingsDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this get settings default response has a 3xx status code +func (o *GetSettingsDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this get settings default response has a 4xx status code +func (o *GetSettingsDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this get settings default response has a 5xx status code +func (o *GetSettingsDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this get settings default response a status code equal to that given +func (o *GetSettingsDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the get settings default response func (o *GetSettingsDefault) Code() int { return o._statusCode } func (o *GetSettingsDefault) Error() string { - return fmt.Sprintf("[GET /v1/server/settings][%d] GetSettings default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/settings][%d] GetSettings default %s", o._statusCode, payload) +} + +func (o *GetSettingsDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/settings][%d] GetSettings default %s", o._statusCode, payload) } func (o *GetSettingsDefault) GetPayload() *GetSettingsDefaultBody { @@ -190,6 +258,11 @@ func (o *GetSettingsDefaultBody) ContextValidate(ctx context.Context, formats st func (o *GetSettingsDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("GetSettings default" + "." + "details" + "." + strconv.Itoa(i)) @@ -340,6 +413,134 @@ type GetSettingsDefaultBodyDetailsItems0 struct { // Schemes other than `http`, `https` (or the empty scheme) might be // used with implementation specific semantics. AtType string `json:"@type,omitempty"` + + // get settings default body details items0 + GetSettingsDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *GetSettingsDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. As of May 2023, there are no widely used type server + // implementations and no plans to implement one. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv GetSettingsDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.GetSettingsDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o GetSettingsDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. As of May 2023, there are no widely used type server + // implementations and no plans to implement one. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.GetSettingsDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.GetSettingsDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this get settings default body details items0 @@ -428,6 +629,11 @@ func (o *GetSettingsOKBody) ContextValidate(ctx context.Context, formats strfmt. func (o *GetSettingsOKBody) contextValidateSettings(ctx context.Context, formats strfmt.Registry) error { if o.Settings != nil { + + if swag.IsZero(o.Settings) { // not required + return nil + } + if err := o.Settings.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getSettingsOk" + "." + "settings") @@ -592,6 +798,11 @@ func (o *GetSettingsOKBodySettings) ContextValidate(ctx context.Context, formats func (o *GetSettingsOKBodySettings) contextValidateAdvisorRunIntervals(ctx context.Context, formats strfmt.Registry) error { if o.AdvisorRunIntervals != nil { + + if swag.IsZero(o.AdvisorRunIntervals) { // not required + return nil + } + if err := o.AdvisorRunIntervals.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getSettingsOk" + "." + "settings" + "." + "advisor_run_intervals") @@ -607,6 +818,11 @@ func (o *GetSettingsOKBodySettings) contextValidateAdvisorRunIntervals(ctx conte func (o *GetSettingsOKBodySettings) 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 { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("getSettingsOk" + "." + "settings" + "." + "metrics_resolutions") diff --git a/api/server/v1/json/client/server_service/leader_health_check_responses.go b/api/server/v1/json/client/server_service/leader_health_check_responses.go index 2eda74cfbb..b1deec1fbd 100644 --- a/api/server/v1/json/client/server_service/leader_health_check_responses.go +++ b/api/server/v1/json/client/server_service/leader_health_check_responses.go @@ -7,6 +7,7 @@ package server_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type LeaderHealthCheckOK struct { Payload interface{} } +// IsSuccess returns true when this leader health check Ok response has a 2xx status code +func (o *LeaderHealthCheckOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this leader health check Ok response has a 3xx status code +func (o *LeaderHealthCheckOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this leader health check Ok response has a 4xx status code +func (o *LeaderHealthCheckOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this leader health check Ok response has a 5xx status code +func (o *LeaderHealthCheckOK) IsServerError() bool { + return false +} + +// IsCode returns true when this leader health check Ok response a status code equal to that given +func (o *LeaderHealthCheckOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the leader health check Ok response +func (o *LeaderHealthCheckOK) Code() int { + return 200 +} + func (o *LeaderHealthCheckOK) Error() string { - return fmt.Sprintf("[GET /v1/server/leaderHealthCheck][%d] leaderHealthCheckOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/leaderHealthCheck][%d] leaderHealthCheckOk %s", 200, payload) +} + +func (o *LeaderHealthCheckOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/leaderHealthCheck][%d] leaderHealthCheckOk %s", 200, payload) } func (o *LeaderHealthCheckOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type LeaderHealthCheckDefault struct { Payload *LeaderHealthCheckDefaultBody } +// IsSuccess returns true when this leader health check default response has a 2xx status code +func (o *LeaderHealthCheckDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this leader health check default response has a 3xx status code +func (o *LeaderHealthCheckDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this leader health check default response has a 4xx status code +func (o *LeaderHealthCheckDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this leader health check default response has a 5xx status code +func (o *LeaderHealthCheckDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this leader health check default response a status code equal to that given +func (o *LeaderHealthCheckDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the leader health check default response func (o *LeaderHealthCheckDefault) Code() int { return o._statusCode } func (o *LeaderHealthCheckDefault) Error() string { - return fmt.Sprintf("[GET /v1/server/leaderHealthCheck][%d] LeaderHealthCheck default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/leaderHealthCheck][%d] LeaderHealthCheck default %s", o._statusCode, payload) +} + +func (o *LeaderHealthCheckDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/leaderHealthCheck][%d] LeaderHealthCheck default %s", o._statusCode, payload) } func (o *LeaderHealthCheckDefault) GetPayload() *LeaderHealthCheckDefaultBody { @@ -188,6 +256,11 @@ func (o *LeaderHealthCheckDefaultBody) ContextValidate(ctx context.Context, form func (o *LeaderHealthCheckDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("LeaderHealthCheck default" + "." + "details" + "." + strconv.Itoa(i)) @@ -338,6 +411,134 @@ type LeaderHealthCheckDefaultBodyDetailsItems0 struct { // Schemes other than `http`, `https` (or the empty scheme) might be // used with implementation specific semantics. AtType string `json:"@type,omitempty"` + + // leader health check default body details items0 + LeaderHealthCheckDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *LeaderHealthCheckDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. As of May 2023, there are no widely used type server + // implementations and no plans to implement one. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv LeaderHealthCheckDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.LeaderHealthCheckDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o LeaderHealthCheckDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. As of May 2023, there are no widely used type server + // implementations and no plans to implement one. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.LeaderHealthCheckDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.LeaderHealthCheckDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this leader health check default body details items0 diff --git a/api/server/v1/json/client/server_service/list_change_logs_responses.go b/api/server/v1/json/client/server_service/list_change_logs_responses.go index 72af20d2a8..8abd8afe26 100644 --- a/api/server/v1/json/client/server_service/list_change_logs_responses.go +++ b/api/server/v1/json/client/server_service/list_change_logs_responses.go @@ -7,6 +7,7 @@ package server_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -58,8 +59,44 @@ type ListChangeLogsOK struct { Payload *ListChangeLogsOKBody } +// IsSuccess returns true when this list change logs Ok response has a 2xx status code +func (o *ListChangeLogsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this list change logs Ok response has a 3xx status code +func (o *ListChangeLogsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this list change logs Ok response has a 4xx status code +func (o *ListChangeLogsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this list change logs Ok response has a 5xx status code +func (o *ListChangeLogsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this list change logs Ok response a status code equal to that given +func (o *ListChangeLogsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the list change logs Ok response +func (o *ListChangeLogsOK) Code() int { + return 200 +} + func (o *ListChangeLogsOK) Error() string { - return fmt.Sprintf("[GET /v1/server/updates/changelogs][%d] listChangeLogsOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/updates/changelogs][%d] listChangeLogsOk %s", 200, payload) +} + +func (o *ListChangeLogsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/updates/changelogs][%d] listChangeLogsOk %s", 200, payload) } func (o *ListChangeLogsOK) GetPayload() *ListChangeLogsOKBody { @@ -95,13 +132,44 @@ type ListChangeLogsDefault struct { Payload *ListChangeLogsDefaultBody } +// IsSuccess returns true when this list change logs default response has a 2xx status code +func (o *ListChangeLogsDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this list change logs default response has a 3xx status code +func (o *ListChangeLogsDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this list change logs default response has a 4xx status code +func (o *ListChangeLogsDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this list change logs default response has a 5xx status code +func (o *ListChangeLogsDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this list change logs default response a status code equal to that given +func (o *ListChangeLogsDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the list change logs default response func (o *ListChangeLogsDefault) Code() int { return o._statusCode } func (o *ListChangeLogsDefault) Error() string { - return fmt.Sprintf("[GET /v1/server/updates/changelogs][%d] ListChangeLogs default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/updates/changelogs][%d] ListChangeLogs default %s", o._statusCode, payload) +} + +func (o *ListChangeLogsDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/updates/changelogs][%d] ListChangeLogs default %s", o._statusCode, payload) } func (o *ListChangeLogsDefault) GetPayload() *ListChangeLogsDefaultBody { @@ -191,6 +259,11 @@ func (o *ListChangeLogsDefaultBody) ContextValidate(ctx context.Context, formats func (o *ListChangeLogsDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ListChangeLogs default" + "." + "details" + "." + strconv.Itoa(i)) @@ -341,6 +414,134 @@ type ListChangeLogsDefaultBodyDetailsItems0 struct { // Schemes other than `http`, `https` (or the empty scheme) might be // used with implementation specific semantics. AtType string `json:"@type,omitempty"` + + // list change logs default body details items0 + ListChangeLogsDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ListChangeLogsDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. As of May 2023, there are no widely used type server + // implementations and no plans to implement one. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ListChangeLogsDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ListChangeLogsDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ListChangeLogsDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. As of May 2023, there are no widely used type server + // implementations and no plans to implement one. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ListChangeLogsDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ListChangeLogsDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this list change logs default body details items0 @@ -457,6 +658,11 @@ func (o *ListChangeLogsOKBody) ContextValidate(ctx context.Context, formats strf func (o *ListChangeLogsOKBody) contextValidateUpdates(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Updates); i++ { if o.Updates[i] != nil { + + if swag.IsZero(o.Updates[i]) { // not required + return nil + } + if err := o.Updates[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listChangeLogsOk" + "." + "updates" + "." + strconv.Itoa(i)) diff --git a/api/server/v1/json/client/server_service/logs_responses.go b/api/server/v1/json/client/server_service/logs_responses.go index 4bd65febf2..51d28dc669 100644 --- a/api/server/v1/json/client/server_service/logs_responses.go +++ b/api/server/v1/json/client/server_service/logs_responses.go @@ -7,6 +7,7 @@ package server_service import ( "context" + "encoding/json" "fmt" "io" @@ -58,8 +59,42 @@ type LogsOK struct { Payload io.Writer } +// IsSuccess returns true when this logs Ok response has a 2xx status code +func (o *LogsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this logs Ok response has a 3xx status code +func (o *LogsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this logs Ok response has a 4xx status code +func (o *LogsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this logs Ok response has a 5xx status code +func (o *LogsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this logs Ok response a status code equal to that given +func (o *LogsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the logs Ok response +func (o *LogsOK) Code() int { + return 200 +} + func (o *LogsOK) Error() string { - return fmt.Sprintf("[GET /v1/server/logs.zip][%d] logsOk %+v", 200, o.Payload) + return fmt.Sprintf("[GET /v1/server/logs.zip][%d] logsOk", 200) +} + +func (o *LogsOK) String() string { + return fmt.Sprintf("[GET /v1/server/logs.zip][%d] logsOk", 200) } func (o *LogsOK) GetPayload() io.Writer { @@ -93,13 +128,44 @@ type LogsDefault struct { Payload *LogsDefaultBody } +// IsSuccess returns true when this logs default response has a 2xx status code +func (o *LogsDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this logs default response has a 3xx status code +func (o *LogsDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this logs default response has a 4xx status code +func (o *LogsDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this logs default response has a 5xx status code +func (o *LogsDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this logs default response a status code equal to that given +func (o *LogsDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the logs default response func (o *LogsDefault) Code() int { return o._statusCode } func (o *LogsDefault) Error() string { - return fmt.Sprintf("[GET /v1/server/logs.zip][%d] Logs default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/logs.zip][%d] Logs default %s", o._statusCode, payload) +} + +func (o *LogsDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/logs.zip][%d] Logs default %s", o._statusCode, payload) } func (o *LogsDefault) GetPayload() *LogsDefaultBody { diff --git a/api/server/v1/json/client/server_service/readiness_responses.go b/api/server/v1/json/client/server_service/readiness_responses.go index 920d7a6746..eb6439b803 100644 --- a/api/server/v1/json/client/server_service/readiness_responses.go +++ b/api/server/v1/json/client/server_service/readiness_responses.go @@ -7,6 +7,7 @@ package server_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type ReadinessOK struct { Payload interface{} } +// IsSuccess returns true when this readiness Ok response has a 2xx status code +func (o *ReadinessOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this readiness Ok response has a 3xx status code +func (o *ReadinessOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this readiness Ok response has a 4xx status code +func (o *ReadinessOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this readiness Ok response has a 5xx status code +func (o *ReadinessOK) IsServerError() bool { + return false +} + +// IsCode returns true when this readiness Ok response a status code equal to that given +func (o *ReadinessOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the readiness Ok response +func (o *ReadinessOK) Code() int { + return 200 +} + func (o *ReadinessOK) Error() string { - return fmt.Sprintf("[GET /v1/server/readyz][%d] readinessOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/readyz][%d] readinessOk %s", 200, payload) +} + +func (o *ReadinessOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/readyz][%d] readinessOk %s", 200, payload) } func (o *ReadinessOK) GetPayload() interface{} { @@ -92,13 +129,44 @@ type ReadinessDefault struct { Payload *ReadinessDefaultBody } +// IsSuccess returns true when this readiness default response has a 2xx status code +func (o *ReadinessDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this readiness default response has a 3xx status code +func (o *ReadinessDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this readiness default response has a 4xx status code +func (o *ReadinessDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this readiness default response has a 5xx status code +func (o *ReadinessDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this readiness default response a status code equal to that given +func (o *ReadinessDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the readiness default response func (o *ReadinessDefault) Code() int { return o._statusCode } func (o *ReadinessDefault) Error() string { - return fmt.Sprintf("[GET /v1/server/readyz][%d] Readiness default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/readyz][%d] Readiness default %s", o._statusCode, payload) +} + +func (o *ReadinessDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/readyz][%d] Readiness default %s", o._statusCode, payload) } func (o *ReadinessDefault) GetPayload() *ReadinessDefaultBody { @@ -188,6 +256,11 @@ func (o *ReadinessDefaultBody) ContextValidate(ctx context.Context, formats strf func (o *ReadinessDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("Readiness default" + "." + "details" + "." + strconv.Itoa(i)) @@ -338,6 +411,134 @@ type ReadinessDefaultBodyDetailsItems0 struct { // Schemes other than `http`, `https` (or the empty scheme) might be // used with implementation specific semantics. AtType string `json:"@type,omitempty"` + + // readiness default body details items0 + ReadinessDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ReadinessDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. As of May 2023, there are no widely used type server + // implementations and no plans to implement one. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ReadinessDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ReadinessDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ReadinessDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. As of May 2023, there are no widely used type server + // implementations and no plans to implement one. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ReadinessDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ReadinessDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this readiness default body details items0 diff --git a/api/server/v1/json/client/server_service/server_service_client.go b/api/server/v1/json/client/server_service/server_service_client.go index 15bd3eb6e5..77d3fb28ee 100644 --- a/api/server/v1/json/client/server_service/server_service_client.go +++ b/api/server/v1/json/client/server_service/server_service_client.go @@ -9,6 +9,7 @@ import ( "io" "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" ) @@ -17,6 +18,31 @@ func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientServi return &Client{transport: transport, formats: formats} } +// New creates a new server service API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new server service API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + /* Client for server service API */ @@ -25,9 +51,33 @@ type Client struct { formats strfmt.Registry } -// ClientOption is the option for Client methods +// ClientOption may be used to customize the behavior of Client methods. type ClientOption func(*runtime.ClientOperation) +// This client is generated with a few options you might find useful for your swagger spec. +// +// Feel free to add you own set of options. + +// WithAccept allows the client to force the Accept header +// to negotiate a specific Producer from the server. +// +// You may use this option to set arbitrary extensions to your MIME media type. +func WithAccept(mime string) ClientOption { + return func(r *runtime.ClientOperation) { + r.ProducesMediaTypes = []string{mime} + } +} + +// WithAcceptApplicationJSON sets the Accept header to "application/json". +func WithAcceptApplicationJSON(r *runtime.ClientOperation) { + r.ProducesMediaTypes = []string{"application/json"} +} + +// WithAcceptApplicationZip sets the Accept header to "application/zip". +func WithAcceptApplicationZip(r *runtime.ClientOperation) { + r.ProducesMediaTypes = []string{"application/zip"} +} + // ClientService is the interface for Client methods type ClientService interface { ChangeSettings(params *ChangeSettingsParams, opts ...ClientOption) (*ChangeSettingsOK, error) diff --git a/api/server/v1/json/client/server_service/start_update_responses.go b/api/server/v1/json/client/server_service/start_update_responses.go index a439cc8329..e84a835d03 100644 --- a/api/server/v1/json/client/server_service/start_update_responses.go +++ b/api/server/v1/json/client/server_service/start_update_responses.go @@ -7,6 +7,7 @@ package server_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type StartUpdateOK struct { Payload *StartUpdateOKBody } +// IsSuccess returns true when this start update Ok response has a 2xx status code +func (o *StartUpdateOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this start update Ok response has a 3xx status code +func (o *StartUpdateOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this start update Ok response has a 4xx status code +func (o *StartUpdateOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this start update Ok response has a 5xx status code +func (o *StartUpdateOK) IsServerError() bool { + return false +} + +// IsCode returns true when this start update Ok response a status code equal to that given +func (o *StartUpdateOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the start update Ok response +func (o *StartUpdateOK) Code() int { + return 200 +} + func (o *StartUpdateOK) Error() string { - return fmt.Sprintf("[POST /v1/server/updates:start][%d] startUpdateOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/server/updates:start][%d] startUpdateOk %s", 200, payload) +} + +func (o *StartUpdateOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/server/updates:start][%d] startUpdateOk %s", 200, payload) } func (o *StartUpdateOK) GetPayload() *StartUpdateOKBody { @@ -94,13 +131,44 @@ type StartUpdateDefault struct { Payload *StartUpdateDefaultBody } +// IsSuccess returns true when this start update default response has a 2xx status code +func (o *StartUpdateDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this start update default response has a 3xx status code +func (o *StartUpdateDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this start update default response has a 4xx status code +func (o *StartUpdateDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this start update default response has a 5xx status code +func (o *StartUpdateDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this start update default response a status code equal to that given +func (o *StartUpdateDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the start update default response func (o *StartUpdateDefault) Code() int { return o._statusCode } func (o *StartUpdateDefault) Error() string { - return fmt.Sprintf("[POST /v1/server/updates:start][%d] StartUpdate default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/server/updates:start][%d] StartUpdate default %s", o._statusCode, payload) +} + +func (o *StartUpdateDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/server/updates:start][%d] StartUpdate default %s", o._statusCode, payload) } func (o *StartUpdateDefault) GetPayload() *StartUpdateDefaultBody { @@ -227,6 +295,11 @@ func (o *StartUpdateDefaultBody) ContextValidate(ctx context.Context, formats st func (o *StartUpdateDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("StartUpdate default" + "." + "details" + "." + strconv.Itoa(i)) @@ -377,6 +450,134 @@ type StartUpdateDefaultBodyDetailsItems0 struct { // Schemes other than `http`, `https` (or the empty scheme) might be // used with implementation specific semantics. AtType string `json:"@type,omitempty"` + + // start update default body details items0 + StartUpdateDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *StartUpdateDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. As of May 2023, there are no widely used type server + // implementations and no plans to implement one. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv StartUpdateDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.StartUpdateDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o StartUpdateDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. As of May 2023, there are no widely used type server + // implementations and no plans to implement one. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.StartUpdateDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.StartUpdateDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this start update default body details items0 diff --git a/api/server/v1/json/client/server_service/update_status_responses.go b/api/server/v1/json/client/server_service/update_status_responses.go index 85bcbfd8ef..b09accb8ca 100644 --- a/api/server/v1/json/client/server_service/update_status_responses.go +++ b/api/server/v1/json/client/server_service/update_status_responses.go @@ -7,6 +7,7 @@ package server_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type UpdateStatusOK struct { Payload *UpdateStatusOKBody } +// IsSuccess returns true when this update status Ok response has a 2xx status code +func (o *UpdateStatusOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this update status Ok response has a 3xx status code +func (o *UpdateStatusOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this update status Ok response has a 4xx status code +func (o *UpdateStatusOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this update status Ok response has a 5xx status code +func (o *UpdateStatusOK) IsServerError() bool { + return false +} + +// IsCode returns true when this update status Ok response a status code equal to that given +func (o *UpdateStatusOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the update status Ok response +func (o *UpdateStatusOK) Code() int { + return 200 +} + func (o *UpdateStatusOK) Error() string { - return fmt.Sprintf("[POST /v1/server/updates:getStatus][%d] updateStatusOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/server/updates:getStatus][%d] updateStatusOk %s", 200, payload) +} + +func (o *UpdateStatusOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/server/updates:getStatus][%d] updateStatusOk %s", 200, payload) } func (o *UpdateStatusOK) GetPayload() *UpdateStatusOKBody { @@ -94,13 +131,44 @@ type UpdateStatusDefault struct { Payload *UpdateStatusDefaultBody } +// IsSuccess returns true when this update status default response has a 2xx status code +func (o *UpdateStatusDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this update status default response has a 3xx status code +func (o *UpdateStatusDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this update status default response has a 4xx status code +func (o *UpdateStatusDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this update status default response has a 5xx status code +func (o *UpdateStatusDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this update status default response a status code equal to that given +func (o *UpdateStatusDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the update status default response func (o *UpdateStatusDefault) Code() int { return o._statusCode } func (o *UpdateStatusDefault) Error() string { - return fmt.Sprintf("[POST /v1/server/updates:getStatus][%d] UpdateStatus default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/server/updates:getStatus][%d] UpdateStatus default %s", o._statusCode, payload) +} + +func (o *UpdateStatusDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /v1/server/updates:getStatus][%d] UpdateStatus default %s", o._statusCode, payload) } func (o *UpdateStatusDefault) GetPayload() *UpdateStatusDefaultBody { @@ -230,6 +298,11 @@ func (o *UpdateStatusDefaultBody) ContextValidate(ctx context.Context, formats s func (o *UpdateStatusDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("UpdateStatus default" + "." + "details" + "." + strconv.Itoa(i)) @@ -380,6 +453,134 @@ type UpdateStatusDefaultBodyDetailsItems0 struct { // Schemes other than `http`, `https` (or the empty scheme) might be // used with implementation specific semantics. AtType string `json:"@type,omitempty"` + + // update status default body details items0 + UpdateStatusDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *UpdateStatusDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. As of May 2023, there are no widely used type server + // implementations and no plans to implement one. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv UpdateStatusDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.UpdateStatusDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o UpdateStatusDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. As of May 2023, there are no widely used type server + // implementations and no plans to implement one. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.UpdateStatusDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.UpdateStatusDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this update status default body details items0 diff --git a/api/server/v1/json/client/server_service/version_responses.go b/api/server/v1/json/client/server_service/version_responses.go index 79e3ae83cf..4cf40e1d0c 100644 --- a/api/server/v1/json/client/server_service/version_responses.go +++ b/api/server/v1/json/client/server_service/version_responses.go @@ -59,8 +59,44 @@ type VersionOK struct { Payload *VersionOKBody } +// IsSuccess returns true when this version Ok response has a 2xx status code +func (o *VersionOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this version Ok response has a 3xx status code +func (o *VersionOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this version Ok response has a 4xx status code +func (o *VersionOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this version Ok response has a 5xx status code +func (o *VersionOK) IsServerError() bool { + return false +} + +// IsCode returns true when this version Ok response a status code equal to that given +func (o *VersionOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the version Ok response +func (o *VersionOK) Code() int { + return 200 +} + func (o *VersionOK) Error() string { - return fmt.Sprintf("[GET /v1/server/version][%d] versionOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/version][%d] versionOk %s", 200, payload) +} + +func (o *VersionOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/version][%d] versionOk %s", 200, payload) } func (o *VersionOK) GetPayload() *VersionOKBody { @@ -96,13 +132,44 @@ type VersionDefault struct { Payload *VersionDefaultBody } +// IsSuccess returns true when this version default response has a 2xx status code +func (o *VersionDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this version default response has a 3xx status code +func (o *VersionDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this version default response has a 4xx status code +func (o *VersionDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this version default response has a 5xx status code +func (o *VersionDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this version default response a status code equal to that given +func (o *VersionDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the version default response func (o *VersionDefault) Code() int { return o._statusCode } func (o *VersionDefault) Error() string { - return fmt.Sprintf("[GET /v1/server/version][%d] Version default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/version][%d] Version default %s", o._statusCode, payload) +} + +func (o *VersionDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/server/version][%d] Version default %s", o._statusCode, payload) } func (o *VersionDefault) GetPayload() *VersionDefaultBody { @@ -192,6 +259,11 @@ func (o *VersionDefaultBody) ContextValidate(ctx context.Context, formats strfmt func (o *VersionDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("Version default" + "." + "details" + "." + strconv.Itoa(i)) @@ -342,6 +414,134 @@ type VersionDefaultBodyDetailsItems0 struct { // Schemes other than `http`, `https` (or the empty scheme) might be // used with implementation specific semantics. AtType string `json:"@type,omitempty"` + + // version default body details items0 + VersionDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *VersionDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. As of May 2023, there are no widely used type server + // implementations and no plans to implement one. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv VersionDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.VersionDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o VersionDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // A URL/resource name that uniquely identifies the type of the serialized + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent + // the fully qualified name of the type (as in + // `path/google.protobuf.Duration`). The name should be in a canonical form + // (e.g., leading "." is not accepted). + // + // In practice, teams usually precompile into the binary all types that they + // expect it to use in the context of Any. However, for URLs which use the + // scheme `http`, `https`, or no scheme, one can optionally set up a type + // server that maps type URLs to message definitions as follows: + // + // * If no scheme is provided, `https` is assumed. + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Note: this functionality is not currently available in the official + // protobuf release, and it is not used for type URLs beginning with + // type.googleapis.com. As of May 2023, there are no widely used type server + // implementations and no plans to implement one. + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.VersionDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.VersionDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this version default body details items0 @@ -381,7 +581,7 @@ type VersionOKBody struct { Version string `json:"version,omitempty"` // DistributionMethod defines PMM Server distribution method: Docker image, OVF/OVA, or AMI. - // Enum: [DISTRIBUTION_METHOD_UNSPECIFIED DISTRIBUTION_METHOD_DOCKER DISTRIBUTION_METHOD_OVF DISTRIBUTION_METHOD_AMI DISTRIBUTION_METHOD_AZURE DISTRIBUTION_METHOD_DO] + // Enum: ["DISTRIBUTION_METHOD_UNSPECIFIED","DISTRIBUTION_METHOD_DOCKER","DISTRIBUTION_METHOD_OVF","DISTRIBUTION_METHOD_AMI","DISTRIBUTION_METHOD_AZURE","DISTRIBUTION_METHOD_DO"] DistributionMethod *string `json:"distribution_method,omitempty"` // managed @@ -525,6 +725,11 @@ func (o *VersionOKBody) ContextValidate(ctx context.Context, formats strfmt.Regi func (o *VersionOKBody) contextValidateManaged(ctx context.Context, formats strfmt.Registry) error { if o.Managed != nil { + + if swag.IsZero(o.Managed) { // not required + return nil + } + if err := o.Managed.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("versionOk" + "." + "managed") @@ -540,6 +745,11 @@ func (o *VersionOKBody) contextValidateManaged(ctx context.Context, formats strf func (o *VersionOKBody) contextValidateServer(ctx context.Context, formats strfmt.Registry) error { if o.Server != nil { + + if swag.IsZero(o.Server) { // not required + return nil + } + if err := o.Server.ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("versionOk" + "." + "server") diff --git a/api/server/v1/json/v1.json b/api/server/v1/json/v1.json index 1a43beb50b..6befcb2b45 100644 --- a/api/server/v1/json/v1.json +++ b/api/server/v1/json/v1.json @@ -41,6 +41,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -53,13 +57,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -141,6 +141,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -153,13 +157,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -185,37 +185,45 @@ "description": "Settings represents PMM Server settings.", "type": "object", "properties": { - "advisor_enabled": { - "description": "True if Advisor is enabled.", + "updates_enabled": { + "description": "True if updates are enabled.", "type": "boolean", - "x-order": 6 + "x-order": 0 }, - "advisor_run_intervals": { - "description": "AdvisorRunIntervals represents intervals between each run of Advisor checks.", + "telemetry_enabled": { + "description": "True if telemetry is enabled.", + "type": "boolean", + "x-order": 1 + }, + "metrics_resolutions": { + "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", "type": "object", "properties": { - "frequent_interval": { - "description": "Interval for frequent check runs.", + "hr": { + "description": "High resolution. Should have a suffix in JSON: 1s, 1m, 1h.", "type": "string", - "x-order": 2 + "x-order": 0 }, - "rare_interval": { - "description": "Interval for rare check runs.", + "mr": { + "description": "Medium resolution. Should have a suffix in JSON: 1s, 1m, 1h.", "type": "string", "x-order": 1 }, - "standard_interval": { - "description": "Standard check interval.", + "lr": { + "description": "Low resolution. Should have a suffix in JSON: 1s, 1m, 1h.", "type": "string", - "x-order": 0 + "x-order": 2 } }, - "x-order": 10 + "x-order": 2 }, - "alerting_enabled": { - "description": "True if Alerting is enabled.", - "type": "boolean", - "x-order": 8 + "data_retention": { + "type": "string", + "x-order": 3 + }, + "ssh_key": { + "type": "string", + "x-order": 4 }, "aws_partitions": { "type": "array", @@ -224,76 +232,62 @@ }, "x-order": 5 }, - "azurediscover_enabled": { - "description": "True if Azure Discover is enabled.", + "advisor_enabled": { + "description": "True if Advisor is enabled.", "type": "boolean", - "x-order": 12 + "x-order": 6 }, - "backup_management_enabled": { - "description": "True if Backup Management is enabled.", - "type": "boolean", - "x-order": 11 + "platform_email": { + "description": "Percona Platform user's email, if this PMM instance is linked to the Platform.", + "type": "string", + "x-order": 7 }, - "connected_to_platform": { + "alerting_enabled": { + "description": "True if Alerting is enabled.", "type": "boolean", - "title": "True if the PMM instance is connected to Platform", - "x-order": 13 + "x-order": 8 }, - "data_retention": { + "pmm_public_address": { + "description": "PMM Server public address.", "type": "string", - "x-order": 3 - }, - "default_role_id": { - "description": "Default Access Control role ID for new users.", - "type": "integer", - "format": "int64", - "x-order": 16 - }, - "enable_access_control": { - "description": "True if Access Control is enabled.", - "type": "boolean", - "x-order": 15 + "x-order": 9 }, - "metrics_resolutions": { - "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", + "advisor_run_intervals": { + "description": "AdvisorRunIntervals represents intervals between each run of Advisor checks.", "type": "object", "properties": { - "hr": { - "description": "High resolution. Should have a suffix in JSON: 1s, 1m, 1h.", + "standard_interval": { + "description": "Standard check interval.", "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. Should have a suffix in JSON: 1s, 1m, 1h.", + "rare_interval": { + "description": "Interval for rare check runs.", "type": "string", - "x-order": 2 + "x-order": 1 }, - "mr": { - "description": "Medium resolution. Should have a suffix in JSON: 1s, 1m, 1h.", + "frequent_interval": { + "description": "Interval for frequent check runs.", "type": "string", - "x-order": 1 + "x-order": 2 } }, - "x-order": 2 - }, - "platform_email": { - "description": "Percona Platform user's email, if this PMM instance is linked to the Platform.", - "type": "string", - "x-order": 7 + "x-order": 10 }, - "pmm_public_address": { - "description": "PMM Server public address.", - "type": "string", - "x-order": 9 + "backup_management_enabled": { + "description": "True if Backup Management is enabled.", + "type": "boolean", + "x-order": 11 }, - "ssh_key": { - "type": "string", - "x-order": 4 + "azurediscover_enabled": { + "description": "True if Azure Discover is enabled.", + "type": "boolean", + "x-order": 12 }, - "telemetry_enabled": { - "description": "True if telemetry is enabled.", + "connected_to_platform": { "type": "boolean", - "x-order": 1 + "title": "True if the PMM instance is connected to Platform", + "x-order": 13 }, "telemetry_summaries": { "type": "array", @@ -303,10 +297,16 @@ }, "x-order": 14 }, - "updates_enabled": { - "description": "True if updates are enabled.", + "enable_access_control": { + "description": "True if Access Control is enabled.", "type": "boolean", - "x-order": 0 + "x-order": 15 + }, + "default_role_id": { + "description": "Default Access Control role ID for new users.", + "type": "integer", + "format": "int64", + "x-order": 16 } }, "x-order": 0 @@ -324,6 +324,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -336,13 +340,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -364,27 +364,47 @@ "schema": { "type": "object", "properties": { - "advisor_run_intervals": { - "description": "AdvisorRunIntervals represents intervals between each run of Advisor checks.", + "enable_updates": { + "type": "boolean", + "x-nullable": true, + "x-order": 0 + }, + "enable_telemetry": { + "type": "boolean", + "x-nullable": true, + "x-order": 1 + }, + "metrics_resolutions": { + "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", "type": "object", "properties": { - "frequent_interval": { - "description": "Interval for frequent check runs.", + "hr": { + "description": "High resolution. Should have a suffix in JSON: 1s, 1m, 1h.", "type": "string", - "x-order": 2 + "x-order": 0 }, - "rare_interval": { - "description": "Interval for rare check runs.", + "mr": { + "description": "Medium resolution. Should have a suffix in JSON: 1s, 1m, 1h.", "type": "string", "x-order": 1 }, - "standard_interval": { - "description": "Standard check interval.", + "lr": { + "description": "Low resolution. Should have a suffix in JSON: 1s, 1m, 1h.", "type": "string", - "x-order": 0 + "x-order": 2 } }, - "x-order": 9 + "x-order": 2 + }, + "data_retention": { + "description": "A number of full days for Prometheus and QAN data retention. Should have a suffix in JSON: 2592000s, 43200m, 720h.", + "type": "string", + "x-order": 3 + }, + "ssh_key": { + "type": "string", + "x-nullable": true, + "x-order": 4 }, "aws_partitions": { "description": "A wrapper for a string array. This type allows to distinguish between an empty array and a null value.", @@ -401,17 +421,6 @@ "x-nullable": true, "x-order": 5 }, - "data_retention": { - "description": "A number of full days for Prometheus and QAN data retention. Should have a suffix in JSON: 2592000s, 43200m, 720h.", - "type": "string", - "x-order": 3 - }, - "enable_access_control": { - "type": "boolean", - "title": "Enable Access Control", - "x-nullable": true, - "x-order": 12 - }, "enable_advisor": { "description": "Enable Advisor.", "type": "boolean", @@ -424,60 +433,51 @@ "x-nullable": true, "x-order": 7 }, - "enable_azurediscover": { - "description": "Enable Azure Discover.", - "type": "boolean", - "x-nullable": true, - "x-order": 10 - }, - "enable_backup_management": { - "description": "Enable Backup Management.", - "type": "boolean", - "x-nullable": true, - "x-order": 11 - }, - "enable_telemetry": { - "type": "boolean", - "x-nullable": true, - "x-order": 1 - }, - "enable_updates": { - "type": "boolean", + "pmm_public_address": { + "description": "PMM Server public address.", + "type": "string", "x-nullable": true, - "x-order": 0 + "x-order": 8 }, - "metrics_resolutions": { - "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", + "advisor_run_intervals": { + "description": "AdvisorRunIntervals represents intervals between each run of Advisor checks.", "type": "object", "properties": { - "hr": { - "description": "High resolution. Should have a suffix in JSON: 1s, 1m, 1h.", + "standard_interval": { + "description": "Standard check interval.", "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. Should have a suffix in JSON: 1s, 1m, 1h.", + "rare_interval": { + "description": "Interval for rare check runs.", "type": "string", - "x-order": 2 + "x-order": 1 }, - "mr": { - "description": "Medium resolution. Should have a suffix in JSON: 1s, 1m, 1h.", + "frequent_interval": { + "description": "Interval for frequent check runs.", "type": "string", - "x-order": 1 + "x-order": 2 } }, - "x-order": 2 + "x-order": 9 }, - "pmm_public_address": { - "description": "PMM Server public address.", - "type": "string", + "enable_azurediscover": { + "description": "Enable Azure Discover.", + "type": "boolean", "x-nullable": true, - "x-order": 8 + "x-order": 10 }, - "ssh_key": { - "type": "string", + "enable_backup_management": { + "description": "Enable Backup Management.", + "type": "boolean", "x-nullable": true, - "x-order": 4 + "x-order": 11 + }, + "enable_access_control": { + "type": "boolean", + "title": "Enable Access Control", + "x-nullable": true, + "x-order": 12 } } } @@ -493,37 +493,45 @@ "description": "Settings represents PMM Server settings.", "type": "object", "properties": { - "advisor_enabled": { - "description": "True if Advisor is enabled.", + "updates_enabled": { + "description": "True if updates are enabled.", "type": "boolean", - "x-order": 6 + "x-order": 0 }, - "advisor_run_intervals": { - "description": "AdvisorRunIntervals represents intervals between each run of Advisor checks.", + "telemetry_enabled": { + "description": "True if telemetry is enabled.", + "type": "boolean", + "x-order": 1 + }, + "metrics_resolutions": { + "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", "type": "object", "properties": { - "frequent_interval": { - "description": "Interval for frequent check runs.", + "hr": { + "description": "High resolution. Should have a suffix in JSON: 1s, 1m, 1h.", "type": "string", - "x-order": 2 + "x-order": 0 }, - "rare_interval": { - "description": "Interval for rare check runs.", + "mr": { + "description": "Medium resolution. Should have a suffix in JSON: 1s, 1m, 1h.", "type": "string", "x-order": 1 }, - "standard_interval": { - "description": "Standard check interval.", + "lr": { + "description": "Low resolution. Should have a suffix in JSON: 1s, 1m, 1h.", "type": "string", - "x-order": 0 + "x-order": 2 } }, - "x-order": 10 + "x-order": 2 }, - "alerting_enabled": { - "description": "True if Alerting is enabled.", - "type": "boolean", - "x-order": 8 + "data_retention": { + "type": "string", + "x-order": 3 + }, + "ssh_key": { + "type": "string", + "x-order": 4 }, "aws_partitions": { "type": "array", @@ -532,76 +540,62 @@ }, "x-order": 5 }, - "azurediscover_enabled": { - "description": "True if Azure Discover is enabled.", + "advisor_enabled": { + "description": "True if Advisor is enabled.", "type": "boolean", - "x-order": 12 + "x-order": 6 }, - "backup_management_enabled": { - "description": "True if Backup Management is enabled.", - "type": "boolean", - "x-order": 11 + "platform_email": { + "description": "Percona Platform user's email, if this PMM instance is linked to the Platform.", + "type": "string", + "x-order": 7 }, - "connected_to_platform": { + "alerting_enabled": { + "description": "True if Alerting is enabled.", "type": "boolean", - "title": "True if the PMM instance is connected to Platform", - "x-order": 13 + "x-order": 8 }, - "data_retention": { + "pmm_public_address": { + "description": "PMM Server public address.", "type": "string", - "x-order": 3 - }, - "default_role_id": { - "description": "Default Access Control role ID for new users.", - "type": "integer", - "format": "int64", - "x-order": 16 - }, - "enable_access_control": { - "description": "True if Access Control is enabled.", - "type": "boolean", - "x-order": 15 + "x-order": 9 }, - "metrics_resolutions": { - "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", + "advisor_run_intervals": { + "description": "AdvisorRunIntervals represents intervals between each run of Advisor checks.", "type": "object", "properties": { - "hr": { - "description": "High resolution. Should have a suffix in JSON: 1s, 1m, 1h.", + "standard_interval": { + "description": "Standard check interval.", "type": "string", "x-order": 0 }, - "lr": { - "description": "Low resolution. Should have a suffix in JSON: 1s, 1m, 1h.", + "rare_interval": { + "description": "Interval for rare check runs.", "type": "string", - "x-order": 2 + "x-order": 1 }, - "mr": { - "description": "Medium resolution. Should have a suffix in JSON: 1s, 1m, 1h.", + "frequent_interval": { + "description": "Interval for frequent check runs.", "type": "string", - "x-order": 1 + "x-order": 2 } }, - "x-order": 2 - }, - "platform_email": { - "description": "Percona Platform user's email, if this PMM instance is linked to the Platform.", - "type": "string", - "x-order": 7 + "x-order": 10 }, - "pmm_public_address": { - "description": "PMM Server public address.", - "type": "string", - "x-order": 9 + "backup_management_enabled": { + "description": "True if Backup Management is enabled.", + "type": "boolean", + "x-order": 11 }, - "ssh_key": { - "type": "string", - "x-order": 4 + "azurediscover_enabled": { + "description": "True if Azure Discover is enabled.", + "type": "boolean", + "x-order": 12 }, - "telemetry_enabled": { - "description": "True if telemetry is enabled.", + "connected_to_platform": { "type": "boolean", - "x-order": 1 + "title": "True if the PMM instance is connected to Platform", + "x-order": 13 }, "telemetry_summaries": { "type": "array", @@ -611,10 +605,16 @@ }, "x-order": 14 }, - "updates_enabled": { - "description": "True if updates are enabled.", + "enable_access_control": { + "description": "True if Access Control is enabled.", "type": "boolean", - "x-order": 0 + "x-order": 15 + }, + "default_role_id": { + "description": "Default Access Control role ID for new users.", + "type": "integer", + "format": "int64", + "x-order": 16 } }, "x-order": 0 @@ -632,6 +632,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -644,13 +648,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -690,6 +690,11 @@ "description": "VersionInfo describes component version, or PMM Server as a whole.", "type": "object", "properties": { + "version": { + "description": "User-visible version.", + "type": "string", + "x-order": 0 + }, "full_version": { "description": "Full version for debugging.", "type": "string", @@ -700,33 +705,17 @@ "type": "string", "format": "date-time", "x-order": 2 - }, - "version": { - "description": "User-visible version.", - "type": "string", - "x-order": 0 } }, "x-order": 0 }, - "last_check": { - "description": "Last check time.", - "type": "string", - "format": "date-time", - "x-order": 4 - }, "latest": { "type": "object", "properties": { - "release_notes_text": { - "description": "Release notes text for the version (if available).", - "type": "string", - "x-order": 4 - }, - "release_notes_url": { - "description": "Release notes URL for the version (if available).", + "version": { + "description": "PMM Version.", "type": "string", - "x-order": 3 + "x-order": 0 }, "tag": { "description": "Docker image tag.", @@ -739,23 +728,34 @@ "format": "date-time", "x-order": 2 }, - "version": { - "description": "PMM Version.", + "release_notes_url": { + "description": "Release notes URL for the version (if available).", "type": "string", - "x-order": 0 + "x-order": 3 + }, + "release_notes_text": { + "description": "Release notes text for the version (if available).", + "type": "string", + "x-order": 4 } }, "x-order": 1 }, + "update_available": { + "description": "True if there is a PMM Server update available.", + "type": "boolean", + "x-order": 2 + }, "latest_news_url": { "description": "Latest available PMM Server release announcement URL.", "type": "string", "x-order": 3 }, - "update_available": { - "description": "True if there is a PMM Server update available.", - "type": "boolean", - "x-order": 2 + "last_check": { + "description": "Last check time.", + "type": "string", + "format": "date-time", + "x-order": 4 } } } @@ -770,6 +770,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -782,13 +786,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -810,27 +810,16 @@ "schema": { "type": "object", "properties": { - "last_check": { - "description": "Last check time.", - "type": "string", - "format": "date-time", - "x-order": 1 - }, "updates": { "description": "List of available updates.", "type": "array", "items": { "type": "object", "properties": { - "release_notes_text": { - "description": "Release notes text for the version (if available).", - "type": "string", - "x-order": 4 - }, - "release_notes_url": { - "description": "Release notes URL for the version (if available).", + "version": { + "description": "PMM Version.", "type": "string", - "x-order": 3 + "x-order": 0 }, "tag": { "description": "Docker image tag.", @@ -843,14 +832,25 @@ "format": "date-time", "x-order": 2 }, - "version": { - "description": "PMM Version.", + "release_notes_url": { + "description": "Release notes URL for the version (if available).", "type": "string", - "x-order": 0 + "x-order": 3 + }, + "release_notes_text": { + "description": "Release notes text for the version (if available).", + "type": "string", + "x-order": 4 } } }, "x-order": 0 + }, + "last_check": { + "description": "Last check time.", + "type": "string", + "format": "date-time", + "x-order": 1 } } } @@ -865,6 +865,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -877,13 +881,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -928,11 +928,6 @@ "schema": { "type": "object", "properties": { - "done": { - "description": "True when update is done.", - "type": "boolean", - "x-order": 2 - }, "log_lines": { "description": "Progress log lines.", "type": "array", @@ -946,6 +941,11 @@ "type": "integer", "format": "int64", "x-order": 1 + }, + "done": { + "description": "True when update is done.", + "type": "boolean", + "x-order": 2 } } } @@ -960,6 +960,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -972,13 +976,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -1040,6 +1040,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -1052,13 +1056,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -1088,24 +1088,20 @@ "schema": { "type": "object", "properties": { - "distribution_method": { - "description": "DistributionMethod defines PMM Server distribution method: Docker image, OVF/OVA, or AMI.", + "version": { + "description": "PMM Server version.", "type": "string", - "default": "DISTRIBUTION_METHOD_UNSPECIFIED", - "enum": [ - "DISTRIBUTION_METHOD_UNSPECIFIED", - "DISTRIBUTION_METHOD_DOCKER", - "DISTRIBUTION_METHOD_OVF", - "DISTRIBUTION_METHOD_AMI", - "DISTRIBUTION_METHOD_AZURE", - "DISTRIBUTION_METHOD_DO" - ], - "x-order": 3 + "x-order": 0 }, - "managed": { + "server": { "description": "VersionInfo describes component version, or PMM Server as a whole.", "type": "object", "properties": { + "version": { + "description": "User-visible version.", + "type": "string", + "x-order": 0 + }, "full_version": { "description": "Full version for debugging.", "type": "string", @@ -1116,19 +1112,19 @@ "type": "string", "format": "date-time", "x-order": 2 - }, - "version": { - "description": "User-visible version.", - "type": "string", - "x-order": 0 } }, - "x-order": 2 + "x-order": 1 }, - "server": { + "managed": { "description": "VersionInfo describes component version, or PMM Server as a whole.", "type": "object", "properties": { + "version": { + "description": "User-visible version.", + "type": "string", + "x-order": 0 + }, "full_version": { "description": "Full version for debugging.", "type": "string", @@ -1139,19 +1135,23 @@ "type": "string", "format": "date-time", "x-order": 2 - }, - "version": { - "description": "User-visible version.", - "type": "string", - "x-order": 0 } }, - "x-order": 1 + "x-order": 2 }, - "version": { - "description": "PMM Server version.", + "distribution_method": { + "description": "DistributionMethod defines PMM Server distribution method: Docker image, OVF/OVA, or AMI.", "type": "string", - "x-order": 0 + "default": "DISTRIBUTION_METHOD_UNSPECIFIED", + "enum": [ + "DISTRIBUTION_METHOD_UNSPECIFIED", + "DISTRIBUTION_METHOD_DOCKER", + "DISTRIBUTION_METHOD_OVF", + "DISTRIBUTION_METHOD_AMI", + "DISTRIBUTION_METHOD_AZURE", + "DISTRIBUTION_METHOD_DO" + ], + "x-order": 3 } } } @@ -1166,6 +1166,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -1178,13 +1182,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } diff --git a/api/swagger/swagger-dev.json b/api/swagger/swagger-dev.json index c6883f65f6..9e26dfeeb6 100644 --- a/api/swagger/swagger-dev.json +++ b/api/swagger/swagger-dev.json @@ -1,28265 +1 @@ -{ - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "schemes": [ - "https", - "http" - ], - "swagger": "2.0", - "info": { - "description": "This API is for development and testing purposes.", - "title": "PMM API", - "version": "develop" - }, - "paths": { - "/v1/accesscontrol/roles": { - "get": { - "description": "Lists all roles.", - "tags": [ - "AccessControlService" - ], - "summary": "List Roles", - "operationId": "ListRoles", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "roles": { - "type": "array", - "items": { - "type": "object", - "properties": { - "role_id": { - "type": "integer", - "format": "int64", - "x-order": 0 - }, - "title": { - "type": "string", - "x-order": 1 - }, - "filter": { - "type": "string", - "x-order": 2 - }, - "description": { - "type": "string", - "x-order": 3 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "post": { - "description": "Creates a new role.", - "tags": [ - "AccessControlService" - ], - "summary": "Create a Role", - "operationId": "CreateRole", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "title": { - "type": "string", - "x-order": 0 - }, - "filter": { - "type": "string", - "x-order": 1 - }, - "description": { - "type": "string", - "x-order": 2 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "role_id": { - "type": "integer", - "format": "int64", - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/accesscontrol/roles/{role_id}": { - "get": { - "description": "Retrieves a role by ID.", - "tags": [ - "AccessControlService" - ], - "summary": "Get a Role", - "operationId": "GetRole", - "parameters": [ - { - "type": "integer", - "format": "int64", - "name": "role_id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "role_id": { - "type": "integer", - "format": "int64", - "x-order": 0 - }, - "title": { - "type": "string", - "x-order": 1 - }, - "filter": { - "type": "string", - "x-order": 2 - }, - "description": { - "type": "string", - "x-order": 3 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "put": { - "description": "Updates an existing role.", - "tags": [ - "AccessControlService" - ], - "summary": "Update a Role", - "operationId": "UpdateRole", - "parameters": [ - { - "type": "integer", - "format": "int64", - "name": "role_id", - "in": "path", - "required": true - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "title": { - "type": "string", - "x-nullable": true, - "x-order": 0 - }, - "filter": { - "type": "string", - "x-nullable": true, - "x-order": 1 - }, - "description": { - "type": "string", - "x-nullable": true, - "x-order": 2 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "delete": { - "description": "Deletes a role.", - "tags": [ - "AccessControlService" - ], - "summary": "Delete a Role", - "operationId": "DeleteRole", - "parameters": [ - { - "type": "integer", - "format": "int64", - "name": "role_id", - "in": "path", - "required": true - }, - { - "type": "integer", - "format": "int64", - "description": "Role ID to be used as a replacement for the role. Additional logic applies.", - "name": "replacement_role_id", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/accesscontrol/roles:assign": { - "post": { - "description": "Replaces all existing roles for a user.", - "tags": [ - "AccessControlService" - ], - "summary": "Assign Roles to a User", - "operationId": "AssignRoles", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "role_ids": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "x-order": 0 - }, - "user_id": { - "type": "integer", - "format": "int64", - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/accesscontrol/roles:setDefault": { - "post": { - "description": "Configures a default role assigned to users.", - "tags": [ - "AccessControlService" - ], - "summary": "Set a Default Role", - "operationId": "SetDefaultRole", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "role_id": { - "type": "integer", - "format": "int64", - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/actions/{action_id}": { - "get": { - "description": "Gets the result of a given Action.", - "tags": [ - "ActionsService" - ], - "summary": "Get Action", - "operationId": "GetAction", - "parameters": [ - { - "type": "string", - "description": "Unique Action ID.", - "name": "action_id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where this Action is running / was run.", - "type": "string", - "x-order": 1 - }, - "output": { - "description": "Current Action output; may be partial if Action is still running.", - "type": "string", - "x-order": 2 - }, - "done": { - "description": "True if Action is finished.", - "type": "boolean", - "x-order": 3 - }, - "error": { - "description": "Error message if Action failed.", - "type": "string", - "x-order": 4 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/actions:cancelAction": { - "post": { - "description": "Stops an Action.", - "tags": [ - "ActionsService" - ], - "summary": "Cancel an Action", - "operationId": "CancelAction", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID. Required.", - "type": "string", - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/actions:startNodeAction": { - "post": { - "description": "Starts 'Percona Toolkit Summary' Action.", - "tags": [ - "ActionsService" - ], - "summary": "Start 'PT Summary' Action", - "operationId": "StartPTSummaryAction", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "node_id": { - "description": "Node ID for this Action.", - "type": "string", - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/actions:startServiceAction": { - "post": { - "description": "Starts a Service Action.", - "tags": [ - "ActionsService" - ], - "summary": "Start a Service Action", - "operationId": "StartServiceAction", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "mysql_explain": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action. Required.", - "type": "string", - "x-order": 1 - }, - "query_id": { - "description": "Query ID of query.", - "type": "string", - "x-order": 2 - }, - "placeholders": { - "type": "array", - "title": "Array of placeholder values", - "items": { - "type": "string" - }, - "x-order": 3 - }, - "database": { - "description": "Database name. Required if it can't be deduced from the query ID.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 0 - }, - "mysql_explain_json": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action. Required.", - "type": "string", - "x-order": 1 - }, - "query_id": { - "description": "Query ID of query.", - "type": "string", - "x-order": 2 - }, - "placeholders": { - "type": "array", - "title": "Array of placeholder values", - "items": { - "type": "string" - }, - "x-order": 3 - }, - "database": { - "description": "Database name. Required if it can't be deduced from the query ID.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 1 - }, - "mysql_explain_traditional_json": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action. Required.", - "type": "string", - "x-order": 1 - }, - "query_id": { - "description": "Query ID of query.", - "type": "string", - "x-order": 2 - }, - "placeholders": { - "type": "array", - "title": "Array of placeholder values", - "items": { - "type": "string" - }, - "x-order": 3 - }, - "database": { - "description": "Database name. Required if it can't be deduced from the query ID.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 2 - }, - "mysql_show_index": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action. Required.", - "type": "string", - "x-order": 1 - }, - "table_name": { - "description": "Table name. Required. May additionally contain a database name.", - "type": "string", - "x-order": 2 - }, - "database": { - "description": "Database name. Required if not given in the table_name field.", - "type": "string", - "x-order": 3 - } - }, - "x-order": 3 - }, - "mysql_show_create_table": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action. Required.", - "type": "string", - "x-order": 1 - }, - "table_name": { - "description": "Table name. Required. May additionally contain a database name.", - "type": "string", - "x-order": 2 - }, - "database": { - "description": "Database name. Required if not given in the table_name field.", - "type": "string", - "x-order": 3 - } - }, - "x-order": 4 - }, - "mysql_show_table_status": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action. Required.", - "type": "string", - "x-order": 1 - }, - "table_name": { - "description": "Table name. Required. May additionally contain a database name.", - "type": "string", - "x-order": 2 - }, - "database": { - "description": "Database name. Required if not given in the table_name field.", - "type": "string", - "x-order": 3 - } - }, - "x-order": 5 - }, - "postgres_show_create_table": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action. Required.", - "type": "string", - "x-order": 1 - }, - "table_name": { - "description": "Table name. Required. May additionally contain a database name.", - "type": "string", - "x-order": 2 - }, - "database": { - "description": "Database name. Required if not given in the table_name field.", - "type": "string", - "x-order": 3 - } - }, - "x-order": 6 - }, - "postgres_show_index": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action. Required.", - "type": "string", - "x-order": 1 - }, - "table_name": { - "description": "Table name. Required. May additionally contain a database name.", - "type": "string", - "x-order": 2 - }, - "database": { - "description": "Database name. Required if not given in the table_name field.", - "type": "string", - "x-order": 3 - } - }, - "x-order": 7 - }, - "mongodb_explain": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action. Required.", - "type": "string", - "x-order": 1 - }, - "query": { - "description": "Query. Required.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 8 - }, - "pt_mongodb_summary": { - "type": "object", - "title": "Message to prepare pt-mongodb-summary data", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 9 - }, - "pt_mysql_summary": { - "type": "object", - "title": "Message to prepare pt-mysql-summary data", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 10 - }, - "pt_postgres_summary": { - "type": "object", - "title": "Message to prepare pt-pg-summary data", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 11 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "mysql_explain": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 0 - }, - "mysql_explain_json": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 1 - }, - "mysql_explain_traditional_json": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 2 - }, - "mysql_show_index": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 3 - }, - "mysql_show_create_table": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 4 - }, - "mysql_show_table_status": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 5 - }, - "postgresql_show_create_table": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 6 - }, - "postgresql_show_index": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 7 - }, - "mongodb_explain": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 8 - }, - "pt_mongodb_summary": { - "type": "object", - "title": "Message to retrieve the prepared pt-mongodb-summary data", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 9 - }, - "pt_mysql_summary": { - "type": "object", - "title": "Message to retrieve the prepared pt-mysql-summary data", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 10 - }, - "pt_postgres_summary": { - "type": "object", - "title": "Message to retrieve the prepared pt-pg-summary data", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 11 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/advisors": { - "get": { - "description": "List advisors available to the user.", - "tags": [ - "AdvisorService" - ], - "summary": "List advisors", - "operationId": "ListAdvisors", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "advisors": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "description": "Machine-readable name (ID) that is used in expression.", - "type": "string", - "x-order": 0 - }, - "description": { - "description": "Long human-readable description.", - "type": "string", - "x-order": 1 - }, - "summary": { - "description": "Short human-readable summary.", - "type": "string", - "x-order": 2 - }, - "comment": { - "description": "Comment.", - "type": "string", - "x-order": 3 - }, - "category": { - "description": "Category.", - "type": "string", - "x-order": 4 - }, - "checks": { - "description": "Advisor checks.", - "type": "array", - "items": { - "description": "AdvisorCheck contains check name and status.", - "type": "object", - "properties": { - "name": { - "description": "Machine-readable name (ID) that is used in expression.", - "type": "string", - "x-order": 0 - }, - "enabled": { - "description": "True if that check is enabled.", - "type": "boolean", - "x-order": 1 - }, - "description": { - "description": "Long human-readable description.", - "type": "string", - "x-order": 2 - }, - "summary": { - "description": "Short human-readable summary.", - "type": "string", - "x-order": 3 - }, - "interval": { - "description": "AdvisorCheckInterval represents possible execution interval values for checks.", - "type": "string", - "default": "ADVISOR_CHECK_INTERVAL_UNSPECIFIED", - "enum": [ - "ADVISOR_CHECK_INTERVAL_UNSPECIFIED", - "ADVISOR_CHECK_INTERVAL_STANDARD", - "ADVISOR_CHECK_INTERVAL_FREQUENT", - "ADVISOR_CHECK_INTERVAL_RARE" - ], - "x-order": 4 - }, - "family": { - "type": "string", - "default": "ADVISOR_CHECK_FAMILY_UNSPECIFIED", - "enum": [ - "ADVISOR_CHECK_FAMILY_UNSPECIFIED", - "ADVISOR_CHECK_FAMILY_MYSQL", - "ADVISOR_CHECK_FAMILY_POSTGRESQL", - "ADVISOR_CHECK_FAMILY_MONGODB" - ], - "x-order": 5 - } - } - }, - "x-order": 5 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/advisors/checks": { - "get": { - "description": "List advisor checks available to the user.", - "tags": [ - "AdvisorService" - ], - "summary": "List advisor checks", - "operationId": "ListAdvisorChecks", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "checks": { - "type": "array", - "items": { - "description": "AdvisorCheck contains check name and status.", - "type": "object", - "properties": { - "name": { - "description": "Machine-readable name (ID) that is used in expression.", - "type": "string", - "x-order": 0 - }, - "enabled": { - "description": "True if that check is enabled.", - "type": "boolean", - "x-order": 1 - }, - "description": { - "description": "Long human-readable description.", - "type": "string", - "x-order": 2 - }, - "summary": { - "description": "Short human-readable summary.", - "type": "string", - "x-order": 3 - }, - "interval": { - "description": "AdvisorCheckInterval represents possible execution interval values for checks.", - "type": "string", - "default": "ADVISOR_CHECK_INTERVAL_UNSPECIFIED", - "enum": [ - "ADVISOR_CHECK_INTERVAL_UNSPECIFIED", - "ADVISOR_CHECK_INTERVAL_STANDARD", - "ADVISOR_CHECK_INTERVAL_FREQUENT", - "ADVISOR_CHECK_INTERVAL_RARE" - ], - "x-order": 4 - }, - "family": { - "type": "string", - "default": "ADVISOR_CHECK_FAMILY_UNSPECIFIED", - "enum": [ - "ADVISOR_CHECK_FAMILY_UNSPECIFIED", - "ADVISOR_CHECK_FAMILY_MYSQL", - "ADVISOR_CHECK_FAMILY_POSTGRESQL", - "ADVISOR_CHECK_FAMILY_MONGODB" - ], - "x-order": 5 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/advisors/checks/failed": { - "get": { - "description": "Returns the latest check results for a given service.", - "tags": [ - "AdvisorService" - ], - "summary": "Get Failed Checks", - "operationId": "GetFailedChecks", - "parameters": [ - { - "type": "integer", - "format": "int32", - "description": "Maximum number of results per page.", - "name": "page_size", - "in": "query" - }, - { - "type": "integer", - "format": "int32", - "description": "Index of the requested page, starts from 0.", - "name": "page_index", - "in": "query" - }, - { - "type": "string", - "description": "Service ID.", - "name": "service_id", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "total_items": { - "description": "Total number of results.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "total_pages": { - "description": "Total number of pages.", - "type": "integer", - "format": "int32", - "x-order": 1 - }, - "results": { - "type": "array", - "title": "Check results", - "items": { - "description": "CheckResult represents the check results for a given service.", - "type": "object", - "properties": { - "summary": { - "type": "string", - "x-order": 0 - }, - "description": { - "type": "string", - "x-order": 1 - }, - "severity": { - "description": "Severity represents severity level of the check result or alert.", - "type": "string", - "default": "SEVERITY_UNSPECIFIED", - "enum": [ - "SEVERITY_UNSPECIFIED", - "SEVERITY_EMERGENCY", - "SEVERITY_ALERT", - "SEVERITY_CRITICAL", - "SEVERITY_ERROR", - "SEVERITY_WARNING", - "SEVERITY_NOTICE", - "SEVERITY_INFO", - "SEVERITY_DEBUG" - ], - "x-order": 2 - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 3 - }, - "read_more_url": { - "description": "URL containing information on how to resolve an issue detected by an Advisor check.", - "type": "string", - "x-order": 4 - }, - "service_name": { - "description": "Name of the monitored service on which the check ran.", - "type": "string", - "x-order": 5 - }, - "service_id": { - "description": "ID of the monitored service on which the check ran.", - "type": "string", - "x-order": 6 - }, - "check_name": { - "type": "string", - "title": "Name of the check that failed", - "x-order": 7 - }, - "silenced": { - "type": "boolean", - "title": "Silence status of the check result", - "x-order": 8 - } - } - }, - "x-order": 2 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/advisors/checks:batchChange": { - "post": { - "description": "Enables/disables advisor checks or changes their exec interval.", - "tags": [ - "AdvisorService" - ], - "summary": "Change Advisor Checks", - "operationId": "ChangeAdvisorChecks", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "params": { - "type": "array", - "items": { - "description": "ChangeAdvisorCheckParams specifies a single check parameters.", - "type": "object", - "properties": { - "name": { - "description": "The name of the check to change.", - "type": "string", - "x-order": 0 - }, - "enable": { - "type": "boolean", - "x-nullable": true, - "x-order": 1 - }, - "interval": { - "description": "AdvisorCheckInterval represents possible execution interval values for checks.", - "type": "string", - "default": "ADVISOR_CHECK_INTERVAL_UNSPECIFIED", - "enum": [ - "ADVISOR_CHECK_INTERVAL_UNSPECIFIED", - "ADVISOR_CHECK_INTERVAL_STANDARD", - "ADVISOR_CHECK_INTERVAL_FREQUENT", - "ADVISOR_CHECK_INTERVAL_RARE" - ], - "x-order": 2 - } - } - }, - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/advisors/checks:start": { - "post": { - "description": "Executes Advisor checks and returns when all checks are executed. All available checks will be started if check names aren't specified.", - "tags": [ - "AdvisorService" - ], - "summary": "Start Advisor Checks", - "operationId": "StartAdvisorChecks", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "names": { - "description": "Names of the checks that should be started.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/advisors/failedServices": { - "get": { - "description": "Returns a list of services with failed checks and a summary of check results.", - "tags": [ - "AdvisorService" - ], - "summary": "List Failed Services", - "operationId": "ListFailedServices", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "result": { - "type": "array", - "items": { - "description": "CheckResultSummary is a summary of check results.", - "type": "object", - "properties": { - "service_name": { - "type": "string", - "x-order": 0 - }, - "service_id": { - "type": "string", - "x-order": 1 - }, - "emergency_count": { - "description": "Number of failed checks for this service with severity level \"EMERGENCY\".", - "type": "integer", - "format": "int64", - "x-order": 2 - }, - "alert_count": { - "description": "Number of failed checks for this service with severity level \"ALERT\".", - "type": "integer", - "format": "int64", - "x-order": 3 - }, - "critical_count": { - "description": "Number of failed checks for this service with severity level \"CRITICAL\".", - "type": "integer", - "format": "int64", - "x-order": 4 - }, - "error_count": { - "description": "Number of failed checks for this service with severity level \"ERROR\".", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "warning_count": { - "description": "Number of failed checks for this service with severity level \"WARNING\".", - "type": "integer", - "format": "int64", - "x-order": 6 - }, - "notice_count": { - "description": "Number of failed checks for this service with severity level \"NOTICE\".", - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "info_count": { - "description": "Number of failed checks for this service with severity level \"INFO\".", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "debug_count": { - "description": "Number of failed checks for this service with severity level \"DEBUG\".", - "type": "integer", - "format": "int64", - "x-order": 9 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/alerting/rules": { - "post": { - "tags": [ - "AlertingService" - ], - "summary": "CreateRule creates alerting rule from the given template.", - "operationId": "CreateRule", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "template_name": { - "description": "Template name.", - "type": "string", - "x-order": 0 - }, - "name": { - "description": "Rule name.", - "type": "string", - "x-order": 1 - }, - "group": { - "description": "Rule group name.", - "type": "string", - "x-order": 2 - }, - "folder_uid": { - "description": "Folder UID.", - "type": "string", - "x-order": 3 - }, - "params": { - "description": "Rule parameters. All template parameters should be set.", - "type": "array", - "items": { - "description": "ParamValue represents a single rule parameter value.", - "type": "object", - "properties": { - "name": { - "description": "Machine-readable name (ID) that is used in expression.", - "type": "string", - "x-order": 0 - }, - "type": { - "description": "ParamType represents template parameter type.", - "type": "string", - "default": "PARAM_TYPE_UNSPECIFIED", - "enum": [ - "PARAM_TYPE_UNSPECIFIED", - "PARAM_TYPE_BOOL", - "PARAM_TYPE_FLOAT", - "PARAM_TYPE_STRING" - ], - "x-order": 1 - }, - "bool": { - "description": "Bool value.", - "type": "boolean", - "x-order": 2 - }, - "float": { - "description": "Float value.", - "type": "number", - "format": "double", - "x-order": 3 - }, - "string": { - "description": "String value.", - "type": "string", - "x-order": 4 - } - } - }, - "x-order": 4 - }, - "for": { - "description": "Rule duration. Should be set.", - "type": "string", - "x-order": 5 - }, - "severity": { - "description": "Severity represents severity level of the check result or alert.", - "type": "string", - "default": "SEVERITY_UNSPECIFIED", - "enum": [ - "SEVERITY_UNSPECIFIED", - "SEVERITY_EMERGENCY", - "SEVERITY_ALERT", - "SEVERITY_CRITICAL", - "SEVERITY_ERROR", - "SEVERITY_WARNING", - "SEVERITY_NOTICE", - "SEVERITY_INFO", - "SEVERITY_DEBUG" - ], - "x-order": 6 - }, - "custom_labels": { - "description": "All custom labels to add or remove (with empty values) to default labels from template.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "filters": { - "description": "Filters.", - "type": "array", - "items": { - "description": "Filter represents a single filter condition.", - "type": "object", - "properties": { - "type": { - "description": "FilterType represents filter matching type.", - "type": "string", - "default": "FILTER_TYPE_UNSPECIFIED", - "enum": [ - "FILTER_TYPE_UNSPECIFIED", - "FILTER_TYPE_MATCH", - "FILTER_TYPE_MISMATCH" - ], - "x-order": 0 - }, - "label": { - "type": "string", - "x-order": 1 - }, - "regexp": { - "type": "string", - "x-order": 2 - } - } - }, - "x-order": 8 - }, - "interval": { - "type": "string", - "title": "Evaluation Interval", - "x-order": 9 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/alerting/templates": { - "get": { - "tags": [ - "AlertingService" - ], - "summary": "ListTemplates returns a list of all collected alert rule templates.", - "operationId": "ListTemplates", - "parameters": [ - { - "type": "integer", - "format": "int32", - "description": "Maximum number of results per page.", - "name": "page_size", - "in": "query" - }, - { - "type": "integer", - "format": "int32", - "description": "Index of the requested page, starts from 0.", - "name": "page_index", - "in": "query" - }, - { - "type": "boolean", - "description": "If true, template files will be re-read from disk.", - "name": "reload", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "total_items": { - "description": "Total number of results.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "total_pages": { - "description": "Total number of pages.", - "type": "integer", - "format": "int32", - "x-order": 1 - }, - "templates": { - "description": "Alerting templates.", - "type": "array", - "items": { - "description": "Template represents Alert Template that is used to create Alert Rule.", - "type": "object", - "properties": { - "name": { - "description": "Machine-readable name (ID).", - "type": "string", - "x-order": 0 - }, - "summary": { - "description": "Short human-readable summary.", - "type": "string", - "x-order": 1 - }, - "expr": { - "description": "PromQL query expression with templating parameters.", - "type": "string", - "x-order": 2 - }, - "params": { - "description": "Query parameters definitions.", - "type": "array", - "items": { - "description": "ParamDefinition represents a single query parameter.", - "type": "object", - "properties": { - "name": { - "description": "Machine-readable name (ID) that is used in expression.", - "type": "string", - "x-order": 0 - }, - "summary": { - "description": "Short human-readable parameter summary.", - "type": "string", - "x-order": 1 - }, - "unit": { - "description": "ParamUnit represents template parameter unit.\n\n - PARAM_UNIT_UNSPECIFIED: Invalid, unknown or absent.\n - PARAM_UNIT_PERCENTAGE: %\n - PARAM_UNIT_SECONDS: s", - "type": "string", - "default": "PARAM_UNIT_UNSPECIFIED", - "enum": [ - "PARAM_UNIT_UNSPECIFIED", - "PARAM_UNIT_PERCENTAGE", - "PARAM_UNIT_SECONDS" - ], - "x-order": 2 - }, - "type": { - "description": "ParamType represents template parameter type.", - "type": "string", - "default": "PARAM_TYPE_UNSPECIFIED", - "enum": [ - "PARAM_TYPE_UNSPECIFIED", - "PARAM_TYPE_BOOL", - "PARAM_TYPE_FLOAT", - "PARAM_TYPE_STRING" - ], - "x-order": 3 - }, - "bool": { - "description": "BoolParamDefinition represents boolean parameter's default value.", - "type": "object", - "properties": { - "default": { - "type": "boolean", - "x-nullable": true, - "x-order": 0 - } - }, - "x-order": 4 - }, - "float": { - "description": "FloatParamDefinition represents float parameter's default value and valid range.", - "type": "object", - "properties": { - "default": { - "description": "Default value.", - "type": "number", - "format": "double", - "x-nullable": true, - "x-order": 0 - }, - "min": { - "description": "Minimum valid value (inclusive).", - "type": "number", - "format": "double", - "x-nullable": true, - "x-order": 1 - }, - "max": { - "description": "Maximum valid value (inclusive).", - "type": "number", - "format": "double", - "x-nullable": true, - "x-order": 2 - } - }, - "x-order": 5 - }, - "string": { - "description": "StringParamDefinition represents string parameter's default value.", - "type": "object", - "properties": { - "default": { - "description": "Default value.", - "type": "string", - "x-nullable": true, - "x-order": 0 - } - }, - "x-order": 6 - } - } - }, - "x-order": 3 - }, - "for": { - "description": "Default duration value.", - "type": "string", - "x-order": 4 - }, - "severity": { - "description": "Severity represents severity level of the check result or alert.", - "type": "string", - "default": "SEVERITY_UNSPECIFIED", - "enum": [ - "SEVERITY_UNSPECIFIED", - "SEVERITY_EMERGENCY", - "SEVERITY_ALERT", - "SEVERITY_CRITICAL", - "SEVERITY_ERROR", - "SEVERITY_WARNING", - "SEVERITY_NOTICE", - "SEVERITY_INFO", - "SEVERITY_DEBUG" - ], - "x-order": 5 - }, - "labels": { - "description": "Labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "annotations": { - "description": "Annotations.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "source": { - "description": "TemplateSource defines template source.\n\n - TEMPLATE_SOURCE_BUILT_IN: Template that is shipped with PMM Server releases.\n - TEMPLATE_SOURCE_SAAS: Template that is downloaded from check.percona.com.\n - TEMPLATE_SOURCE_USER_FILE: Templated loaded from user-suplied file.\n - TEMPLATE_SOURCE_USER_API: Templated created via API.", - "type": "string", - "default": "TEMPLATE_SOURCE_UNSPECIFIED", - "enum": [ - "TEMPLATE_SOURCE_UNSPECIFIED", - "TEMPLATE_SOURCE_BUILT_IN", - "TEMPLATE_SOURCE_SAAS", - "TEMPLATE_SOURCE_USER_FILE", - "TEMPLATE_SOURCE_USER_API" - ], - "x-order": 8 - }, - "created_at": { - "description": "Template creation time. Empty for built-in and SaaS templates.", - "type": "string", - "format": "date-time", - "x-order": 9 - }, - "yaml": { - "description": "YAML template file content. Empty for built-in and SaaS templates.", - "type": "string", - "x-order": 10 - } - } - }, - "x-order": 2 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "post": { - "tags": [ - "AlertingService" - ], - "summary": "CreateTemplate creates a new template.", - "operationId": "CreateTemplate", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "yaml": { - "description": "YAML template file content.", - "type": "string", - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/alerting/templates/{name}": { - "put": { - "tags": [ - "AlertingService" - ], - "summary": "UpdateTemplate updates existing template, previously created via API.", - "operationId": "UpdateTemplate", - "parameters": [ - { - "type": "string", - "description": "Machine-readable name (ID).", - "name": "name", - "in": "path", - "required": true - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "yaml": { - "description": "YAML template file content.", - "type": "string", - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "delete": { - "tags": [ - "AlertingService" - ], - "summary": "DeleteTemplate deletes existing, previously created via API.", - "operationId": "DeleteTemplate", - "parameters": [ - { - "type": "string", - "name": "name", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/artifacts": { - "get": { - "description": "Return a list of backup artifacts.", - "tags": [ - "BackupService" - ], - "summary": "List artifacts", - "operationId": "ListArtifacts", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "artifacts": { - "type": "array", - "items": { - "description": "Artifact represents single backup artifact.", - "type": "object", - "properties": { - "artifact_id": { - "description": "Machine-readable artifact ID.", - "type": "string", - "x-order": 0 - }, - "name": { - "type": "string", - "title": "Artifact name", - "x-order": 1 - }, - "vendor": { - "description": "Database vendor e.g. PostgreSQL, MongoDB, MySQL.", - "type": "string", - "x-order": 2 - }, - "location_id": { - "description": "Machine-readable location ID.", - "type": "string", - "x-order": 3 - }, - "location_name": { - "description": "Location name.", - "type": "string", - "x-order": 4 - }, - "service_id": { - "description": "Machine-readable service ID.", - "type": "string", - "x-order": 5 - }, - "service_name": { - "description": "Service name.", - "type": "string", - "x-order": 6 - }, - "data_model": { - "description": "DataModel is a model used for performing a backup.", - "type": "string", - "default": "DATA_MODEL_UNSPECIFIED", - "enum": [ - "DATA_MODEL_UNSPECIFIED", - "DATA_MODEL_PHYSICAL", - "DATA_MODEL_LOGICAL" - ], - "x-order": 7 - }, - "status": { - "description": "BackupStatus shows the current status of execution of backup.", - "type": "string", - "default": "BACKUP_STATUS_UNSPECIFIED", - "enum": [ - "BACKUP_STATUS_UNSPECIFIED", - "BACKUP_STATUS_PENDING", - "BACKUP_STATUS_IN_PROGRESS", - "BACKUP_STATUS_PAUSED", - "BACKUP_STATUS_SUCCESS", - "BACKUP_STATUS_ERROR", - "BACKUP_STATUS_DELETING", - "BACKUP_STATUS_FAILED_TO_DELETE", - "BACKUP_STATUS_CLEANUP_IN_PROGRESS" - ], - "x-order": 8 - }, - "created_at": { - "description": "Artifact creation time.", - "type": "string", - "format": "date-time", - "x-order": 9 - }, - "mode": { - "description": "BackupMode specifies backup mode.", - "type": "string", - "default": "BACKUP_MODE_UNSPECIFIED", - "enum": [ - "BACKUP_MODE_UNSPECIFIED", - "BACKUP_MODE_SNAPSHOT", - "BACKUP_MODE_INCREMENTAL", - "BACKUP_MODE_PITR" - ], - "x-order": 10 - }, - "is_sharded_cluster": { - "description": "Source database setup type.", - "type": "boolean", - "x-order": 11 - }, - "folder": { - "description": "Folder to store artifact on a storage.", - "type": "string", - "x-order": 12 - }, - "metadata_list": { - "description": "List of artifact metadata.", - "type": "array", - "items": { - "description": "Metadata contains extra artifact data like files it consists of, tool specific data, etc.", - "type": "object", - "properties": { - "file_list": { - "description": "List of files backup consists of.", - "type": "array", - "items": { - "description": "File represents file or folder on a storage.", - "type": "object", - "properties": { - "name": { - "type": "string", - "x-order": 0 - }, - "is_directory": { - "type": "boolean", - "x-order": 1 - } - } - }, - "x-order": 0 - }, - "restore_to": { - "description": "Exact time DB can be restored to.", - "type": "string", - "format": "date-time", - "x-order": 1 - }, - "pbm_metadata": { - "description": "PbmMetadata contains additional data for pbm cli tools.", - "type": "object", - "properties": { - "name": { - "description": "Name of backup in backup tool representation.", - "type": "string", - "x-order": 0 - } - }, - "x-order": 2 - } - } - }, - "x-order": 13 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/artifacts/{artifact_id}": { - "delete": { - "description": "Deletes an artifact.", - "tags": [ - "BackupService" - ], - "summary": "Delete Artifact", - "operationId": "DeleteArtifact", - "parameters": [ - { - "type": "string", - "description": "Machine-readable artifact ID.", - "name": "artifact_id", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Removes all the backup files associated with artifact if flag is set.", - "name": "remove_files", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/artifacts/{artifact_id}/pitr-timeranges": { - "get": { - "description": "Return a list of available MongoDB point-in-time-recovery timeranges.", - "tags": [ - "BackupService" - ], - "summary": "List PITR Timeranges", - "operationId": "ListPitrTimeranges", - "parameters": [ - { - "type": "string", - "description": "Artifact ID represents artifact whose location has PITR timeranges to be retrieved.", - "name": "artifact_id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "timeranges": { - "type": "array", - "items": { - "type": "object", - "properties": { - "start_timestamp": { - "description": "start_timestamp is the time of the first event in the PITR chunk.", - "type": "string", - "format": "date-time", - "x-order": 0 - }, - "end_timestamp": { - "description": "end_timestamp is the time of the last event in the PITR chunk.", - "type": "string", - "format": "date-time", - "x-order": 1 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/locations": { - "get": { - "description": "List backup locations.", - "tags": [ - "LocationsService" - ], - "summary": "List Backup Locations", - "operationId": "ListLocations", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "locations": { - "type": "array", - "items": { - "description": "Location represents single Backup Location.", - "type": "object", - "properties": { - "location_id": { - "description": "Machine-readable ID.", - "type": "string", - "x-order": 0 - }, - "name": { - "type": "string", - "title": "Location name", - "x-order": 1 - }, - "description": { - "type": "string", - "title": "Short description", - "x-order": 2 - }, - "filesystem_config": { - "description": "FilesystemLocationConfig represents file system location config.", - "type": "object", - "properties": { - "path": { - "type": "string", - "x-order": 0 - } - }, - "x-order": 3 - }, - "s3_config": { - "description": "S3LocationConfig represents S3 bucket configuration.", - "type": "object", - "properties": { - "endpoint": { - "type": "string", - "x-order": 0 - }, - "access_key": { - "type": "string", - "x-order": 1 - }, - "secret_key": { - "type": "string", - "x-order": 2 - }, - "bucket_name": { - "type": "string", - "x-order": 3 - } - }, - "x-order": 4 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "post": { - "description": "Add a backup location.", - "tags": [ - "LocationsService" - ], - "summary": "Add a Backup Location", - "operationId": "AddLocation", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "title": "Location name", - "x-order": 0 - }, - "description": { - "type": "string", - "x-order": 1 - }, - "filesystem_config": { - "description": "FilesystemLocationConfig represents file system location config.", - "type": "object", - "properties": { - "path": { - "type": "string", - "x-order": 0 - } - }, - "x-order": 2 - }, - "s3_config": { - "description": "S3LocationConfig represents S3 bucket configuration.", - "type": "object", - "properties": { - "endpoint": { - "type": "string", - "x-order": 0 - }, - "access_key": { - "type": "string", - "x-order": 1 - }, - "secret_key": { - "type": "string", - "x-order": 2 - }, - "bucket_name": { - "type": "string", - "x-order": 3 - } - }, - "x-order": 3 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "location_id": { - "description": "Machine-readable ID.", - "type": "string", - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/locations/{location_id}": { - "put": { - "description": "Change a backup location.", - "tags": [ - "LocationsService" - ], - "summary": "Change a Backup Location", - "operationId": "ChangeLocation", - "parameters": [ - { - "type": "string", - "description": "Machine-readable ID.", - "name": "location_id", - "in": "path", - "required": true - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "title": "Location name", - "x-order": 0 - }, - "description": { - "type": "string", - "x-order": 1 - }, - "filesystem_config": { - "description": "FilesystemLocationConfig represents file system location config.", - "type": "object", - "properties": { - "path": { - "type": "string", - "x-order": 0 - } - }, - "x-order": 2 - }, - "s3_config": { - "description": "S3LocationConfig represents S3 bucket configuration.", - "type": "object", - "properties": { - "endpoint": { - "type": "string", - "x-order": 0 - }, - "access_key": { - "type": "string", - "x-order": 1 - }, - "secret_key": { - "type": "string", - "x-order": 2 - }, - "bucket_name": { - "type": "string", - "x-order": 3 - } - }, - "x-order": 3 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "delete": { - "description": "Remove a backup location.", - "tags": [ - "LocationsService" - ], - "summary": "Remove a Scheduled Backup", - "operationId": "RemoveLocation", - "parameters": [ - { - "type": "string", - "description": "Machine-readable ID.", - "name": "location_id", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Force mode", - "name": "force", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/locations:testConfig": { - "post": { - "description": "Test a backup location and credentials.", - "tags": [ - "LocationsService" - ], - "summary": "Test a Backup Location and Credentials", - "operationId": "TestLocationConfig", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "filesystem_config": { - "description": "FilesystemLocationConfig represents file system location config.", - "type": "object", - "properties": { - "path": { - "type": "string", - "x-order": 0 - } - }, - "x-order": 0 - }, - "s3_config": { - "description": "S3LocationConfig represents S3 bucket configuration.", - "type": "object", - "properties": { - "endpoint": { - "type": "string", - "x-order": 0 - }, - "access_key": { - "type": "string", - "x-order": 1 - }, - "secret_key": { - "type": "string", - "x-order": 2 - }, - "bucket_name": { - "type": "string", - "x-order": 3 - } - }, - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/restores": { - "get": { - "description": "List all backup restore history items", - "tags": [ - "RestoreService" - ], - "summary": "List Restore History", - "operationId": "ListRestores", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "items": { - "type": "array", - "items": { - "description": "RestoreHistoryItem represents single backup restore item.", - "type": "object", - "properties": { - "restore_id": { - "description": "Machine-readable restore id.", - "type": "string", - "x-order": 0 - }, - "artifact_id": { - "description": "ID of the artifact used for restore.", - "type": "string", - "x-order": 1 - }, - "name": { - "description": "Artifact name used for restore.", - "type": "string", - "x-order": 2 - }, - "vendor": { - "description": "Database vendor e.g. PostgreSQL, MongoDB, MySQL.", - "type": "string", - "x-order": 3 - }, - "location_id": { - "description": "Machine-readable location ID.", - "type": "string", - "x-order": 4 - }, - "location_name": { - "description": "Location name.", - "type": "string", - "x-order": 5 - }, - "service_id": { - "description": "Machine-readable service ID.", - "type": "string", - "x-order": 6 - }, - "service_name": { - "description": "Service name.", - "type": "string", - "x-order": 7 - }, - "data_model": { - "description": "DataModel is a model used for performing a backup.", - "type": "string", - "default": "DATA_MODEL_UNSPECIFIED", - "enum": [ - "DATA_MODEL_UNSPECIFIED", - "DATA_MODEL_PHYSICAL", - "DATA_MODEL_LOGICAL" - ], - "x-order": 8 - }, - "status": { - "description": "RestoreStatus shows the current status of execution of restore.", - "type": "string", - "default": "RESTORE_STATUS_UNSPECIFIED", - "enum": [ - "RESTORE_STATUS_UNSPECIFIED", - "RESTORE_STATUS_IN_PROGRESS", - "RESTORE_STATUS_SUCCESS", - "RESTORE_STATUS_ERROR" - ], - "x-order": 9 - }, - "started_at": { - "description": "Restore start time.", - "type": "string", - "format": "date-time", - "x-order": 10 - }, - "finished_at": { - "description": "Restore finish time.", - "type": "string", - "format": "date-time", - "x-order": 11 - }, - "pitr_timestamp": { - "description": "PITR timestamp is filled for PITR restores, empty otherwise.", - "type": "string", - "format": "date-time", - "x-order": 12 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/restores/{restore_id}/logs": { - "get": { - "description": "Get logs from the underlying tools for a restore job", - "tags": [ - "RestoreService" - ], - "summary": "Get Logs", - "operationId": "GetLogsMixin5", - "parameters": [ - { - "type": "string", - "name": "restore_id", - "in": "path", - "required": true - }, - { - "type": "integer", - "format": "int64", - "name": "offset", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "name": "limit", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "logs": { - "type": "array", - "items": { - "description": "LogChunk represent one chunk of logs.", - "type": "object", - "properties": { - "chunk_id": { - "type": "integer", - "format": "int64", - "x-order": 0 - }, - "data": { - "type": "string", - "x-order": 1 - } - } - }, - "x-order": 0 - }, - "end": { - "type": "boolean", - "x-order": 1 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/restores:start": { - "post": { - "description": "Could return the Error message in the details containing specific ErrorCode indicating failure reason:\nERROR_CODE_XTRABACKUP_NOT_INSTALLED - xtrabackup is not installed on the service\nERROR_CODE_INVALID_XTRABACKUP - different versions of xtrabackup and xbcloud\nERROR_CODE_INCOMPATIBLE_XTRABACKUP - xtrabackup is not compatible with MySQL for taking a backup\nERROR_CODE_INCOMPATIBLE_TARGET_MYSQL - target MySQL version is not compatible with the artifact for performing a restore of the backup", - "tags": [ - "RestoreService" - ], - "summary": "Restore from a Backup", - "operationId": "RestoreBackup", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "service_id": { - "description": "Service identifier where backup should be restored.", - "type": "string", - "x-order": 0 - }, - "artifact_id": { - "description": "Artifact id to restore.", - "type": "string", - "x-order": 1 - }, - "pitr_timestamp": { - "type": "string", - "format": "date-time", - "title": "Timestamp of PITR to restore to", - "x-order": 2 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "restore_id": { - "description": "Unique restore identifier.", - "type": "string", - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/scheduled": { - "get": { - "description": "List all scheduled backups.", - "tags": [ - "BackupService" - ], - "summary": "List Scheduled Backups", - "operationId": "ListScheduledBackups", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "scheduled_backups": { - "type": "array", - "items": { - "description": "ScheduledBackup represents scheduled task for backup.", - "type": "object", - "properties": { - "scheduled_backup_id": { - "description": "Machine-readable ID.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Machine-readable service ID.", - "type": "string", - "x-order": 1 - }, - "service_name": { - "description": "Service name.", - "type": "string", - "x-order": 2 - }, - "location_id": { - "description": "Machine-readable location ID.", - "type": "string", - "x-order": 3 - }, - "location_name": { - "description": "Location name.", - "type": "string", - "x-order": 4 - }, - "folder": { - "description": "Folder on storage for artifact.", - "type": "string", - "x-order": 5 - }, - "cron_expression": { - "description": "How often backup will be run in cron format.", - "type": "string", - "x-order": 6 - }, - "start_time": { - "description": "First backup wouldn't happen before this time.", - "type": "string", - "format": "date-time", - "x-order": 7 - }, - "name": { - "description": "Artifact name.", - "type": "string", - "x-order": 8 - }, - "description": { - "description": "Description.", - "type": "string", - "x-order": 9 - }, - "enabled": { - "description": "If scheduling is enabled.", - "type": "boolean", - "x-order": 10 - }, - "retries": { - "description": "How many times to retry a failed backup before giving up.", - "type": "integer", - "format": "int64", - "x-order": 11 - }, - "retry_interval": { - "description": "Delay between each retry. Should have a suffix in JSON: 2s, 1m, 1h.", - "type": "string", - "x-order": 12 - }, - "data_model": { - "description": "DataModel is a model used for performing a backup.", - "type": "string", - "default": "DATA_MODEL_UNSPECIFIED", - "enum": [ - "DATA_MODEL_UNSPECIFIED", - "DATA_MODEL_PHYSICAL", - "DATA_MODEL_LOGICAL" - ], - "x-order": 13 - }, - "mode": { - "description": "BackupMode specifies backup mode.", - "type": "string", - "default": "BACKUP_MODE_UNSPECIFIED", - "enum": [ - "BACKUP_MODE_UNSPECIFIED", - "BACKUP_MODE_SNAPSHOT", - "BACKUP_MODE_INCREMENTAL", - "BACKUP_MODE_PITR" - ], - "x-order": 14 - }, - "vendor": { - "description": "Database vendor e.g. PostgreSQL, MongoDB, MySQL.", - "type": "string", - "x-order": 15 - }, - "last_run": { - "description": "Last run.", - "type": "string", - "format": "date-time", - "x-order": 16 - }, - "next_run": { - "description": "Next run.", - "type": "string", - "format": "date-time", - "x-order": 17 - }, - "retention": { - "description": "How many artifacts keep. 0 - unlimited.", - "type": "integer", - "format": "int64", - "x-order": 18 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/{artifact_id}/compatible-services": { - "get": { - "description": "List services that are compatible with the backup artifact.", - "tags": [ - "BackupService" - ], - "summary": "List Compatible Services", - "operationId": "ListArtifactCompatibleServices", - "parameters": [ - { - "type": "string", - "description": "Artifact id used to determine restore compatibility.", - "name": "artifact_id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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 - } - } - }, - "x-order": 0 - }, - "mongodb": { - "type": "array", - "items": { - "description": "MongoDBService represents a generic MongoDB 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": "MongoDB version.", - "type": "string", - "x-order": 10 - } - } - }, - "x-order": 1 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/{artifact_id}/logs": { - "get": { - "description": "Get logs from the underlying tools for a backup/restore job.", - "tags": [ - "BackupService" - ], - "summary": "Get Logs", - "operationId": "GetLogs", - "parameters": [ - { - "type": "string", - "name": "artifact_id", - "in": "path", - "required": true - }, - { - "type": "integer", - "format": "int64", - "name": "offset", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "name": "limit", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "logs": { - "type": "array", - "items": { - "description": "LogChunk represent one chunk of logs.", - "type": "object", - "properties": { - "chunk_id": { - "type": "integer", - "format": "int64", - "x-order": 0 - }, - "data": { - "type": "string", - "x-order": 1 - } - } - }, - "x-order": 0 - }, - "end": { - "type": "boolean", - "x-order": 1 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/{scheduled_backup_id}": { - "delete": { - "description": "Remove a scheduled backup.", - "tags": [ - "BackupService" - ], - "summary": "Remove a Scheduled Backup", - "operationId": "RemoveScheduledBackup", - "parameters": [ - { - "type": "string", - "name": "scheduled_backup_id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups:changeScheduled": { - "put": { - "description": "Change a scheduled backup.", - "tags": [ - "BackupService" - ], - "summary": "Change a Scheduled Backup", - "operationId": "ChangeScheduledBackup", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "scheduled_backup_id": { - "type": "string", - "x-order": 0 - }, - "enabled": { - "type": "boolean", - "x-nullable": true, - "x-order": 1 - }, - "cron_expression": { - "description": "How often backup should be run in cron format.", - "type": "string", - "x-nullable": true, - "x-order": 2 - }, - "start_time": { - "description": "First backup wouldn't happen before this time.", - "type": "string", - "format": "date-time", - "x-order": 3 - }, - "name": { - "description": "Name of backup.", - "type": "string", - "x-nullable": true, - "x-order": 4 - }, - "description": { - "description": "Human-readable description.", - "type": "string", - "x-nullable": true, - "x-order": 5 - }, - "retries": { - "description": "How many times to retry a failed backup before giving up.", - "type": "integer", - "format": "int64", - "x-nullable": true, - "x-order": 6 - }, - "retry_interval": { - "description": "Delay between each retry. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 7 - }, - "retention": { - "description": "How many artifacts keep. 0 - unlimited.", - "type": "integer", - "format": "int64", - "x-nullable": true, - "x-order": 8 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups:schedule": { - "post": { - "description": "Schedule a backup to run at a specified time.", - "tags": [ - "BackupService" - ], - "summary": "Schedule a Backup", - "operationId": "ScheduleBackup", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "service_id": { - "description": "Service identifier where backup should be performed.", - "type": "string", - "x-order": 0 - }, - "location_id": { - "description": "Machine-readable location ID.", - "type": "string", - "x-order": 1 - }, - "folder": { - "description": "How often backup should be run in cron format.\nFolder on storage for artifact.", - "type": "string", - "x-order": 2 - }, - "cron_expression": { - "type": "string", - "x-order": 3 - }, - "start_time": { - "description": "First backup wouldn't happen before this time.", - "type": "string", - "format": "date-time", - "x-order": 4 - }, - "name": { - "description": "Name of backup.", - "type": "string", - "x-order": 5 - }, - "description": { - "description": "Human-readable description.", - "type": "string", - "x-order": 6 - }, - "enabled": { - "description": "If scheduling is enabled.", - "type": "boolean", - "x-order": 7 - }, - "retries": { - "description": "How many times to retry a failed backup before giving up.", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "retry_interval": { - "description": "Delay between each retry. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 9 - }, - "mode": { - "description": "BackupMode specifies backup mode.", - "type": "string", - "default": "BACKUP_MODE_UNSPECIFIED", - "enum": [ - "BACKUP_MODE_UNSPECIFIED", - "BACKUP_MODE_SNAPSHOT", - "BACKUP_MODE_INCREMENTAL", - "BACKUP_MODE_PITR" - ], - "x-order": 10 - }, - "data_model": { - "description": "DataModel is a model used for performing a backup.", - "type": "string", - "default": "DATA_MODEL_UNSPECIFIED", - "enum": [ - "DATA_MODEL_UNSPECIFIED", - "DATA_MODEL_PHYSICAL", - "DATA_MODEL_LOGICAL" - ], - "x-order": 11 - }, - "retention": { - "description": "How many artifacts keep. 0 - unlimited.", - "type": "integer", - "format": "int64", - "x-order": 12 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "scheduled_backup_id": { - "type": "string", - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups:start": { - "post": { - "description": "Could return the Error message in the details containing specific ErrorCode indicating failure reason:\nERROR_CODE_XTRABACKUP_NOT_INSTALLED - xtrabackup is not installed on the service\nERROR_CODE_INVALID_XTRABACKUP - different versions of xtrabackup and xbcloud\nERROR_CODE_INCOMPATIBLE_XTRABACKUP - xtrabackup is not compatible with MySQL for taking a backup", - "tags": [ - "BackupService" - ], - "summary": "Start a Backup", - "operationId": "StartBackup", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 0 - }, - "location_id": { - "description": "Machine-readable location ID.", - "type": "string", - "x-order": 1 - }, - "name": { - "description": "If empty then name is auto-generated.", - "type": "string", - "x-order": 2 - }, - "description": { - "description": "Human-readable description.", - "type": "string", - "x-order": 3 - }, - "retry_interval": { - "description": "Delay between each retry. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 4 - }, - "retries": { - "description": "How many times to retry a failed backup before giving up.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "data_model": { - "description": "DataModel is a model used for performing a backup.", - "type": "string", - "default": "DATA_MODEL_UNSPECIFIED", - "enum": [ - "DATA_MODEL_UNSPECIFIED", - "DATA_MODEL_PHYSICAL", - "DATA_MODEL_LOGICAL" - ], - "x-order": 6 - }, - "folder": { - "description": "Folder on storage for artifact.", - "type": "string", - "x-order": 7 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "artifact_id": { - "description": "Unique identifier.", - "type": "string", - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/dumps": { - "get": { - "description": "List all dumps", - "tags": [ - "DumpService" - ], - "summary": "List All Dumps", - "operationId": "ListDumps", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "dumps": { - "type": "array", - "items": { - "type": "object", - "properties": { - "dump_id": { - "type": "string", - "x-order": 0 - }, - "status": { - "type": "string", - "default": "DUMP_STATUS_UNSPECIFIED", - "enum": [ - "DUMP_STATUS_UNSPECIFIED", - "DUMP_STATUS_IN_PROGRESS", - "DUMP_STATUS_SUCCESS", - "DUMP_STATUS_ERROR" - ], - "x-order": 1 - }, - "service_names": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 2 - }, - "start_time": { - "type": "string", - "format": "date-time", - "x-order": 3 - }, - "end_time": { - "type": "string", - "format": "date-time", - "x-order": 4 - }, - "created_at": { - "type": "string", - "format": "date-time", - "x-order": 5 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/dumps/{dump_id}/logs": { - "get": { - "description": "Get logs of a selected dump.", - "tags": [ - "DumpService" - ], - "summary": "Get Dump Logs", - "operationId": "GetDumpLogs", - "parameters": [ - { - "type": "string", - "name": "dump_id", - "in": "path", - "required": true - }, - { - "type": "integer", - "format": "int64", - "name": "offset", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "name": "limit", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "logs": { - "type": "array", - "items": { - "description": "LogChunk represent one chunk of logs.", - "type": "object", - "properties": { - "chunk_id": { - "type": "integer", - "format": "int64", - "x-order": 0 - }, - "data": { - "type": "string", - "x-order": 1 - } - } - }, - "x-order": 0 - }, - "end": { - "type": "boolean", - "x-order": 1 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/dumps:batchDelete": { - "post": { - "description": "Delete selected dumps.", - "tags": [ - "DumpService" - ], - "summary": "Delete Dumps", - "operationId": "DeleteDump", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "dump_ids": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/dumps:start": { - "post": { - "description": "Start a new dump.", - "tags": [ - "DumpService" - ], - "summary": "Start a New Dump", - "operationId": "StartDump", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "service_names": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 0 - }, - "start_time": { - "type": "string", - "format": "date-time", - "x-order": 1 - }, - "end_time": { - "type": "string", - "format": "date-time", - "x-order": 2 - }, - "export_qan": { - "type": "boolean", - "x-order": 3 - }, - "ignore_load": { - "type": "boolean", - "x-order": 4 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "dump_id": { - "type": "string", - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/dumps:upload": { - "post": { - "description": "Upload selected dumps to a remote server.", - "tags": [ - "DumpService" - ], - "summary": "Upload Dumps", - "operationId": "UploadDump", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "dump_ids": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 0 - }, - "sftp_parameters": { - "type": "object", - "properties": { - "address": { - "type": "string", - "x-order": 0 - }, - "user": { - "type": "string", - "x-order": 1 - }, - "password": { - "type": "string", - "x-order": 2 - }, - "directory": { - "type": "string", - "x-order": 3 - } - }, - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/inventory/agents": { - "get": { - "description": "Returns a list of all Agents.", - "tags": [ - "AgentsService" - ], - "summary": "List Agents", - "operationId": "ListAgents", - "parameters": [ - { - "type": "string", - "description": "Return only Agents started by this pmm-agent.\nExactly one of these parameters should be present: pmm_agent_id, node_id, service_id.", - "name": "pmm_agent_id", - "in": "query" - }, - { - "type": "string", - "description": "Return only Agents that provide insights for that Node.\nExactly one of these parameters should be present: pmm_agent_id, node_id, service_id.", - "name": "node_id", - "in": "query" - }, - { - "type": "string", - "description": "Return only Agents that provide insights for that Service.\nExactly one of these parameters should be present: pmm_agent_id, node_id, service_id.", - "name": "service_id", - "in": "query" - }, - { - "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_QAN_MYSQL_PERFSCHEMA_AGENT", - "AGENT_TYPE_QAN_MYSQL_SLOWLOG_AGENT", - "AGENT_TYPE_QAN_MONGODB_PROFILER_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" - ], - "type": "string", - "default": "AGENT_TYPE_UNSPECIFIED", - "description": "Return only agents of a particular type.", - "name": "agent_type", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "pmm_agent": { - "type": "array", - "items": { - "description": "PMMAgent runs on Generic or Container Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 2 - }, - "connected": { - "description": "True if Agent is running and connected to pmm-managed.", - "type": "boolean", - "x-order": 3 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 4 - } - } - }, - "x-order": 0 - }, - "vm_agent": { - "type": "array", - "items": { - "description": "VMAgent runs on Generic or Container Node alongside pmm-agent.\nIt scrapes other exporter Agents that are configured with push_metrics_enabled\nand uses Prometheus remote write protocol to push metrics to PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 1 - }, - "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 finished.\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": 2 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 3 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 4 - } - } - }, - "x-order": 1 - }, - "node_exporter": { - "type": "array", - "items": { - "description": "NodeExporter runs on Generic or Container Node and exposes its metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 3 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 4 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 5 - }, - "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 finished.\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": 6 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 8 - }, - "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": 9 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 10 - }, - "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": 11 - } - } - }, - "x-order": 2 - }, - "mysqld_exporter": { - "type": "array", - "items": { - "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 scraping metrics.", - "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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 10 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 11 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 12 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 13 - }, - "table_count": { - "description": "Actual table count at the moment of adding.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "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 finished.\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": 15 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 16 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 17 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 18 - }, - "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": 19 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 20 - }, - "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": 21 - } - } - }, - "x-order": 3 - }, - "mongodb_exporter": { - "type": "array", - "items": { - "description": "MongoDBExporter runs on Generic or Container Node and exposes MongoDB Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 scraping metrics.", - "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 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "stats_collections": { - "type": "array", - "title": "List of colletions to get stats from. Can use *", - "items": { - "type": "string" - }, - "x-order": 12 - }, - "collections_limit": { - "type": "integer", - "format": "int32", - "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", - "x-order": 13 - }, - "enable_all_collectors": { - "description": "Enable All collectors.", - "type": "boolean", - "x-order": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "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": 16 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 17 - }, - "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": 18 - } - } - }, - "x-order": 4 - }, - "postgres_exporter": { - "type": "array", - "items": { - "description": "PostgresExporter runs on Generic or Container Node and exposes PostgreSQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for scraping metrics.", - "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. Uses sslmode=required instead of verify-full.", - "type": "boolean", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "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": 13 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 15 - }, - "max_exporter_connections": { - "description": "Maximum number of connections that exporter can open to the database instance.", - "type": "integer", - "format": "int32", - "x-order": 16 - }, - "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": 17 - } - } - }, - "x-order": 5 - }, - "proxysql_exporter": { - "type": "array", - "items": { - "description": "ProxySQLExporter runs on Generic or Container Node and exposes ProxySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "ProxySQL username for scraping metrics.", - "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 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "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": 13 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 14 - }, - "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": 15 - } - } - }, - "x-order": 6 - }, - "qan_mysql_perfschema_agent": { - "type": "array", - "items": { - "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 performance 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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 11 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 12 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "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 finished.\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": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "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": 16 - } - } - }, - "x-order": 7 - }, - "qan_mysql_slowlog_agent": { - "type": "array", - "items": { - "description": "QANMySQLSlowlogAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 performance 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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "max_query_length": { - "type": "integer", - "format": "int32", - "title": "Limit query length in QAN (default: server-defined; -1: no limit)", - "x-order": 11 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 12 - }, - "max_slowlog_file_size": { - "description": "Slowlog file is rotated at this size if \u003e 0.", - "type": "string", - "format": "int64", - "x-order": 13 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 14 - }, - "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 finished.\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": 15 - }, - "process_exec_path": { - "type": "string", - "title": "mod tidy", - "x-order": 16 - }, - "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": 17 - } - } - }, - "x-order": 8 - }, - "qan_mongodb_profiler_agent": { - "type": "array", - "items": { - "description": "QANMongoDBProfilerAgent runs within pmm-agent and sends MongoDB Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "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 finished.\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 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - } - } - }, - "x-order": 9 - }, - "qan_postgresql_pgstatements_agent": { - "type": "array", - "items": { - "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for getting pg stat statements data.", - "type": "string", - "x-order": 4 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 5 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 6 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 7 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "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 finished.\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 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "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": 12 - } - } - }, - "x-order": 10 - }, - "qan_postgresql_pgstatmonitor_agent": { - "type": "array", - "items": { - "description": "QANPostgreSQLPgStatMonitorAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for getting pg stat monitor 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 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 7 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 8 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "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 finished.\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": 11 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "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": 13 - } - } - }, - "x-order": 11 - }, - "external_exporter": { - "type": "array", - "items": { - "description": "ExternalExporter runs on any Node type, including Remote Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - }, - "disabled": { - "description": "If disabled, metrics from this exporter will not be collected.", - "type": "boolean", - "x-order": 2 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 3 - }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 4 - }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 5 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", - "type": "string", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - } - } - }, - "x-order": 12 - }, - "rds_exporter": { - "type": "array", - "items": { - "description": "RDSExporter runs on Generic or Container Node and exposes RemoteRDS Node metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 3 - }, - "aws_access_key": { - "description": "AWS Access Key.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - }, - "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 finished.\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": 6 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "basic_metrics_disabled": { - "description": "Basic metrics are disabled.", - "type": "boolean", - "x-order": 8 - }, - "enhanced_metrics_disabled": { - "description": "Enhanced metrics are disabled.", - "type": "boolean", - "x-order": 9 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 10 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "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": 12 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "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": 13 - }, - "azure_database_exporter": { - "type": "array", - "items": { - "description": "AzureDatabaseExporter runs on Generic or Container Node and exposes RemoteAzure Node metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 3 - }, - "azure_database_subscription_id": { - "description": "Azure database subscription ID.", - "type": "string", - "x-order": 4 - }, - "azure_database_resource_type": { - "type": "string", - "title": "Azure database resource type (mysql, maria, postgres)", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "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 finished.\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": 7 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "push_metrics_enabled": { - "description": "True if the exporter operates in push metrics mode.", - "type": "boolean", - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - }, - "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": 12 - } - } - }, - "x-order": 14 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "post": { - "description": "Adds an Agent to Inventory. Only one agent at a time can be passed.", - "tags": [ - "AgentsService" - ], - "summary": "Add an Agent to Inventory", - "operationId": "AddAgent", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "pmm_agent": { - "type": "object", - "properties": { - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 0 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 1 - } - }, - "x-order": 0 - }, - "node_exporter": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 0 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 1 - }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", - "type": "boolean", - "x-order": 2 - }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 3 - }, - "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": 4 - }, - "expose_exporter": { - "type": "boolean", - "title": "Expose the node_exporter process on all public interfaces", - "x-order": 5 - } - }, - "x-order": 1 - }, - "mysqld_exporter": { - "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 scraping metrics.", - "type": "string", - "x-order": 2 - }, - "password": { - "description": "MySQL password for scraping metrics.", - "type": "string", - "x-order": 3 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 4 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 5 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 6 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 7 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 8 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors will be disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 11 - }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", - "type": "boolean", - "x-order": 12 - }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 13 - }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", - "type": "string", - "x-order": 14 - }, - "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": 15 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 16 - } - }, - "x-order": 2 - }, - "mongodb_exporter": { - "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": "MongoDB username for scraping metrics.", - "type": "string", - "x-order": 2 - }, - "password": { - "description": "MongoDB password for scraping metrics.", - "type": "string", - "x-order": 3 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 4 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 5 - }, - "tls_certificate_key": { - "description": "Client certificate and key.", - "type": "string", - "x-order": 6 - }, - "tls_certificate_key_file_password": { - "description": "Password for decrypting tls_certificate_key.", - "type": "string", - "x-order": 7 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 10 - }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", - "type": "boolean", - "x-order": 11 - }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 12 - }, - "authentication_mechanism": { - "description": "Authentication mechanism.\nSee https://docs.mongodb.com/manual/reference/connection-string/#mongodb-urioption-urioption.authMechanism\nfor details.", - "type": "string", - "x-order": 13 - }, - "authentication_database": { - "description": "Authentication database.", - "type": "string", - "x-order": 14 - }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", - "type": "string", - "x-order": 15 - }, - "stats_collections": { - "type": "array", - "title": "List of colletions to get stats from. Can use *", - "items": { - "type": "string" - }, - "x-order": 16 - }, - "collections_limit": { - "type": "integer", - "format": "int32", - "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", - "x-order": 17 - }, - "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": 18 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 19 - } - }, - "x-order": 3 - }, - "postgres_exporter": { - "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": "PostgreSQL username for scraping metrics.", - "type": "string", - "x-order": 2 - }, - "password": { - "description": "PostgreSQL password for scraping metrics.", - "type": "string", - "x-order": 3 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 4 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation. Uses sslmode=required instead of verify-full.", - "type": "boolean", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 7 - }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", - "type": "boolean", - "x-order": 8 - }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 - }, - "tls_ca": { - "description": "TLS CA certificate.", - "type": "string", - "x-order": 10 - }, - "tls_cert": { - "description": "TLS Certifcate.", - "type": "string", - "x-order": 11 - }, - "tls_key": { - "description": "TLS Certificate Key.", - "type": "string", - "x-order": 12 - }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", - "type": "string", - "x-order": 13 - }, - "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": 14 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 15 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 16 - }, - "max_exporter_connections": { - "description": "Maximum number of connections that exporter can open to the database instance.", - "type": "integer", - "format": "int32", - "x-order": 17 - } - }, - "x-order": 4 - }, - "proxysql_exporter": { - "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": "ProxySQL username for scraping metrics.", - "type": "string", - "x-order": 2 - }, - "password": { - "description": "ProxySQL password for scraping metrics.", - "type": "string", - "x-order": 3 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 4 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 7 - }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", - "type": "boolean", - "x-order": 8 - }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 - }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", - "type": "string", - "x-order": 10 - }, - "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": 11 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 12 - } - }, - "x-order": 5 - }, - "external_exporter": { - "type": "object", - "properties": { - "runs_on_node_id": { - "description": "The node identifier where this instance is run.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 1 - }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 2 - }, - "password": { - "description": "HTTP basic auth password for collecting metrics.", - "type": "string", - "x-order": 3 - }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints(default: http).", - "type": "string", - "x-order": 4 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI(default: /metrics).", - "type": "string", - "x-order": 5 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", - "type": "boolean", - "x-order": 8 - } - }, - "x-order": 6 - }, - "rds_exporter": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 0 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 1 - }, - "aws_access_key": { - "description": "AWS Access Key.", - "type": "string", - "x-order": 2 - }, - "aws_secret_key": { - "description": "AWS Secret Key.", - "type": "string", - "x-order": 3 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 4 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 5 - }, - "disable_basic_metrics": { - "description": "Disable basic metrics.", - "type": "boolean", - "x-order": 6 - }, - "disable_enhanced_metrics": { - "description": "Disable enhanced metrics.", - "type": "boolean", - "x-order": 7 - }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", - "type": "boolean", - "x-order": 8 - }, - "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": 9 - } - }, - "x-order": 7 - }, - "azure_database_exporter": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 0 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 1 - }, - "azure_client_id": { - "type": "string", - "title": "Azure client ID", - "x-order": 2 - }, - "azure_client_secret": { - "type": "string", - "title": "Azure client secret", - "x-order": 3 - }, - "azure_tenant_id": { - "type": "string", - "title": "Azure tanant ID", - "x-order": 4 - }, - "azure_subscription_id": { - "type": "string", - "title": "Azure subscription ID", - "x-order": 5 - }, - "azure_resource_group": { - "description": "Azure resource group.", - "type": "string", - "x-order": 6 - }, - "azure_database_resource_type": { - "type": "string", - "title": "Azure resource type (mysql, maria, postgres)", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 9 - }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", - "type": "boolean", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 8 - }, - "qan_mysql_perfschema_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 performance data.", - "type": "string", - "x-order": 2 - }, - "password": { - "description": "MySQL password for getting performance data.", - "type": "string", - "x-order": 3 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 4 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 5 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 6 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 7 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 8 - }, - "max_query_length": { - "type": "integer", - "format": "int32", - "title": "Limit query length in QAN (default: server-defined; -1: no limit)", - "x-order": 9 - }, - "disable_query_examples": { - "description": "Disable query examples.", - "type": "boolean", - "x-order": 10 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 11 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 12 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 13 - }, - "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": 14 - } - }, - "x-order": 9 - }, - "qan_mysql_slowlog_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 slowlog data.", - "type": "string", - "x-order": 2 - }, - "password": { - "description": "MySQL password for getting slowlog data.", - "type": "string", - "x-order": 3 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 4 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 5 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 6 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 7 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 8 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 9 - }, - "disable_query_examples": { - "description": "Disable query examples.", - "type": "boolean", - "x-order": 10 - }, - "max_slowlog_file_size": { - "description": "Rotate slowlog file at this size if \u003e 0.\nUse zero or negative value to disable rotation.", - "type": "string", - "format": "int64", - "x-order": 11 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 12 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 13 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 14 - }, - "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": 15 - } - }, - "x-order": 10 - }, - "qan_mongodb_profiler_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": "MongoDB username for getting profile data.", - "type": "string", - "x-order": 2 - }, - "password": { - "description": "MongoDB password for getting profile data.", - "type": "string", - "x-order": 3 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 4 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 5 - }, - "tls_certificate_key": { - "description": "Client certificate and key.", - "type": "string", - "x-order": 6 - }, - "tls_certificate_key_file_password": { - "description": "Password for decrypting tls_certificate_key.", - "type": "string", - "x-order": 7 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 8 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 11 - }, - "authentication_mechanism": { - "description": "Authentication mechanism.\nSee https://docs.mongodb.com/manual/reference/connection-string/#mongodb-urioption-urioption.authMechanism\nfor details.", - "type": "string", - "x-order": 12 - }, - "authentication_database": { - "description": "Authentication database.", - "type": "string", - "x-order": 13 - }, - "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": 14 - } - }, - "x-order": 11 - }, - "qan_postgresql_pgstatements_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": "PostgreSQL username for getting pg stat statements data.", - "type": "string", - "x-order": 2 - }, - "password": { - "description": "PostgreSQL password for getting pg stat statements data.", - "type": "string", - "x-order": 3 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 4 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 7 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 8 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 9 - }, - "tls_ca": { - "description": "TLS CA certificate.", - "type": "string", - "x-order": 10 - }, - "tls_cert": { - "description": "TLS Certifcate.", - "type": "string", - "x-order": 11 - }, - "tls_key": { - "description": "TLS Certificate Key.", - "type": "string", - "x-order": 12 - }, - "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": 13 - } - }, - "x-order": 12 - }, - "qan_postgresql_pgstatmonitor_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": "PostgreSQL username for getting pg stat monitor data.", - "type": "string", - "x-order": 2 - }, - "password": { - "description": "PostgreSQL password for getting pg stat monitor data.", - "type": "string", - "x-order": 3 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 4 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 5 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 6 - }, - "disable_query_examples": { - "description": "Disable query examples.", - "type": "boolean", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "tls_ca": { - "description": "TLS CA certificate.", - "type": "string", - "x-order": 11 - }, - "tls_cert": { - "description": "TLS Certifcate.", - "type": "string", - "x-order": 12 - }, - "tls_key": { - "description": "TLS Certificate Key.", - "type": "string", - "x-order": 13 - }, - "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": 14 - } - }, - "x-order": 13 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "pmm_agent": { - "description": "PMMAgent runs on Generic or Container Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 2 - }, - "connected": { - "description": "True if Agent is running and connected to pmm-managed.", - "type": "boolean", - "x-order": 3 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 0 - }, - "node_exporter": { - "description": "NodeExporter runs on Generic or Container Node and exposes its metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 3 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 4 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 5 - }, - "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 finished.\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": 6 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 8 - }, - "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": 9 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 1 - }, - "mysqld_exporter": { - "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 scraping metrics.", - "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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 10 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 11 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 12 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 13 - }, - "table_count": { - "description": "Actual table count at the moment of adding.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "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 finished.\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": 15 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 16 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 17 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 18 - }, - "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": 19 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 20 - }, - "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": 21 - } - }, - "x-order": 2 - }, - "mongodb_exporter": { - "description": "MongoDBExporter runs on Generic or Container Node and exposes MongoDB Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 scraping metrics.", - "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 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "stats_collections": { - "type": "array", - "title": "List of colletions to get stats from. Can use *", - "items": { - "type": "string" - }, - "x-order": 12 - }, - "collections_limit": { - "type": "integer", - "format": "int32", - "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", - "x-order": 13 - }, - "enable_all_collectors": { - "description": "Enable All collectors.", - "type": "boolean", - "x-order": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "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": 16 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 17 - }, - "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": 18 - } - }, - "x-order": 3 - }, - "postgres_exporter": { - "description": "PostgresExporter runs on Generic or Container Node and exposes PostgreSQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for scraping metrics.", - "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. Uses sslmode=required instead of verify-full.", - "type": "boolean", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "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": 13 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 15 - }, - "max_exporter_connections": { - "description": "Maximum number of connections that exporter can open to the database instance.", - "type": "integer", - "format": "int32", - "x-order": 16 - }, - "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": 17 - } - }, - "x-order": 4 - }, - "proxysql_exporter": { - "description": "ProxySQLExporter runs on Generic or Container Node and exposes ProxySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "ProxySQL username for scraping metrics.", - "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 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "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": 13 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 14 - }, - "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": 15 - } - }, - "x-order": 5 - }, - "external_exporter": { - "description": "ExternalExporter runs on any Node type, including Remote Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - }, - "disabled": { - "description": "If disabled, metrics from this exporter will not be collected.", - "type": "boolean", - "x-order": 2 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 3 - }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 4 - }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 5 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", - "type": "string", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 6 - }, - "rds_exporter": { - "description": "RDSExporter runs on Generic or Container Node and exposes RemoteRDS Node metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 3 - }, - "aws_access_key": { - "description": "AWS Access Key.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - }, - "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 finished.\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": 6 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "basic_metrics_disabled": { - "description": "Basic metrics are disabled.", - "type": "boolean", - "x-order": 8 - }, - "enhanced_metrics_disabled": { - "description": "Enhanced metrics are disabled.", - "type": "boolean", - "x-order": 9 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 10 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "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": 12 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "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": 7 - }, - "azure_database_exporter": { - "description": "AzureDatabaseExporter runs on Generic or Container Node and exposes RemoteAzure Node metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 3 - }, - "azure_database_subscription_id": { - "description": "Azure database subscription ID.", - "type": "string", - "x-order": 4 - }, - "azure_database_resource_type": { - "type": "string", - "title": "Azure database resource type (mysql, maria, postgres)", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "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 finished.\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": 7 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "push_metrics_enabled": { - "description": "True if the exporter operates in push metrics mode.", - "type": "boolean", - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - }, - "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": 12 - } - }, - "x-order": 8 - }, - "qan_mysql_perfschema_agent": { - "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 performance 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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 11 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 12 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "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 finished.\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": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "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": 16 - } - }, - "x-order": 9 - }, - "qan_mysql_slowlog_agent": { - "description": "QANMySQLSlowlogAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 performance 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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "max_query_length": { - "type": "integer", - "format": "int32", - "title": "Limit query length in QAN (default: server-defined; -1: no limit)", - "x-order": 11 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 12 - }, - "max_slowlog_file_size": { - "description": "Slowlog file is rotated at this size if \u003e 0.", - "type": "string", - "format": "int64", - "x-order": 13 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 14 - }, - "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 finished.\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": 15 - }, - "process_exec_path": { - "type": "string", - "title": "mod tidy", - "x-order": 16 - }, - "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": 17 - } - }, - "x-order": 10 - }, - "qan_mongodb_profiler_agent": { - "description": "QANMongoDBProfilerAgent runs within pmm-agent and sends MongoDB Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "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 finished.\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 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 11 - }, - "qan_postgresql_pgstatements_agent": { - "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for getting pg stat statements data.", - "type": "string", - "x-order": 4 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 5 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 6 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 7 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "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 finished.\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 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "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": 12 - } - }, - "x-order": 12 - }, - "qan_postgresql_pgstatmonitor_agent": { - "description": "QANPostgreSQLPgStatMonitorAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for getting pg stat monitor 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 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 7 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 8 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "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 finished.\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": 11 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "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": 13 - } - }, - "x-order": 13 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/inventory/agents/{agent_id}": { - "get": { - "description": "Returns a single Agent by ID.", - "tags": [ - "AgentsService" - ], - "summary": "Get Agent", - "operationId": "GetAgent", - "parameters": [ - { - "type": "string", - "description": "Unique randomly generated instance identifier.", - "name": "agent_id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "pmm_agent": { - "description": "PMMAgent runs on Generic or Container Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 2 - }, - "connected": { - "description": "True if Agent is running and connected to pmm-managed.", - "type": "boolean", - "x-order": 3 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 0 - }, - "vmagent": { - "description": "VMAgent runs on Generic or Container Node alongside pmm-agent.\nIt scrapes other exporter Agents that are configured with push_metrics_enabled\nand uses Prometheus remote write protocol to push metrics to PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 1 - }, - "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 finished.\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": 2 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 3 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 4 - } - }, - "x-order": 1 - }, - "node_exporter": { - "description": "NodeExporter runs on Generic or Container Node and exposes its metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 3 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 4 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 5 - }, - "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 finished.\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": 6 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 8 - }, - "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": 9 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 2 - }, - "mysqld_exporter": { - "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 scraping metrics.", - "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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 10 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 11 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 12 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 13 - }, - "table_count": { - "description": "Actual table count at the moment of adding.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "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 finished.\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": 15 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 16 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 17 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 18 - }, - "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": 19 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 20 - }, - "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": 21 - } - }, - "x-order": 3 - }, - "mongodb_exporter": { - "description": "MongoDBExporter runs on Generic or Container Node and exposes MongoDB Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 scraping metrics.", - "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 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "stats_collections": { - "type": "array", - "title": "List of colletions to get stats from. Can use *", - "items": { - "type": "string" - }, - "x-order": 12 - }, - "collections_limit": { - "type": "integer", - "format": "int32", - "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", - "x-order": 13 - }, - "enable_all_collectors": { - "description": "Enable All collectors.", - "type": "boolean", - "x-order": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "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": 16 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 17 - }, - "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": 18 - } - }, - "x-order": 4 - }, - "postgres_exporter": { - "description": "PostgresExporter runs on Generic or Container Node and exposes PostgreSQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for scraping metrics.", - "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. Uses sslmode=required instead of verify-full.", - "type": "boolean", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "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": 13 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 15 - }, - "max_exporter_connections": { - "description": "Maximum number of connections that exporter can open to the database instance.", - "type": "integer", - "format": "int32", - "x-order": 16 - }, - "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": 17 - } - }, - "x-order": 5 - }, - "proxysql_exporter": { - "description": "ProxySQLExporter runs on Generic or Container Node and exposes ProxySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "ProxySQL username for scraping metrics.", - "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 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "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": 13 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 14 - }, - "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": 15 - } - }, - "x-order": 6 - }, - "qan_mysql_perfschema_agent": { - "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 performance 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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 11 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 12 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "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 finished.\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": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "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": 16 - } - }, - "x-order": 7 - }, - "qan_mysql_slowlog_agent": { - "description": "QANMySQLSlowlogAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 performance 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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "max_query_length": { - "type": "integer", - "format": "int32", - "title": "Limit query length in QAN (default: server-defined; -1: no limit)", - "x-order": 11 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 12 - }, - "max_slowlog_file_size": { - "description": "Slowlog file is rotated at this size if \u003e 0.", - "type": "string", - "format": "int64", - "x-order": 13 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 14 - }, - "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 finished.\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": 15 - }, - "process_exec_path": { - "type": "string", - "title": "mod tidy", - "x-order": 16 - }, - "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": 17 - } - }, - "x-order": 8 - }, - "qan_mongodb_profiler_agent": { - "description": "QANMongoDBProfilerAgent runs within pmm-agent and sends MongoDB Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "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 finished.\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 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 9 - }, - "qan_postgresql_pgstatements_agent": { - "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for getting pg stat statements data.", - "type": "string", - "x-order": 4 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 5 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 6 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 7 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "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 finished.\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 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "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": 12 - } - }, - "x-order": 10 - }, - "qan_postgresql_pgstatmonitor_agent": { - "description": "QANPostgreSQLPgStatMonitorAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for getting pg stat monitor 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 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 7 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 8 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "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 finished.\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": 11 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "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": 13 - } - }, - "x-order": 11 - }, - "external_exporter": { - "description": "ExternalExporter runs on any Node type, including Remote Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - }, - "disabled": { - "description": "If disabled, metrics from this exporter will not be collected.", - "type": "boolean", - "x-order": 2 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 3 - }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 4 - }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 5 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", - "type": "string", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 12 - }, - "rds_exporter": { - "description": "RDSExporter runs on Generic or Container Node and exposes RemoteRDS Node metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 3 - }, - "aws_access_key": { - "description": "AWS Access Key.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - }, - "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 finished.\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": 6 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "basic_metrics_disabled": { - "description": "Basic metrics are disabled.", - "type": "boolean", - "x-order": 8 - }, - "enhanced_metrics_disabled": { - "description": "Enhanced metrics are disabled.", - "type": "boolean", - "x-order": 9 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 10 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "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": 12 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "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": 13 - }, - "azure_database_exporter": { - "description": "AzureDatabaseExporter runs on Generic or Container Node and exposes RemoteAzure Node metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 3 - }, - "azure_database_subscription_id": { - "description": "Azure database subscription ID.", - "type": "string", - "x-order": 4 - }, - "azure_database_resource_type": { - "type": "string", - "title": "Azure database resource type (mysql, maria, postgres)", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "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 finished.\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": 7 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "push_metrics_enabled": { - "description": "True if the exporter operates in push metrics mode.", - "type": "boolean", - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - }, - "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": 12 - } - }, - "x-order": 14 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "put": { - "description": "Updates an Agent in Inventory. Only one agent at a time can be passed.", - "tags": [ - "AgentsService" - ], - "summary": "Update an Agent in Inventory", - "operationId": "ChangeAgent", - "parameters": [ - { - "type": "string", - "name": "agent_id", - "in": "path", - "required": true - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "node_exporter": { - "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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 0 - }, - "mysqld_exporter": { - "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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 1 - }, - "mongodb_exporter": { - "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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 2 - }, - "postgres_exporter": { - "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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 3 - }, - "proxysql_exporter": { - "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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 4 - }, - "external_exporter": { - "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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 5 - }, - "rds_exporter": { - "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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 6 - }, - "azure_database_exporter": { - "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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 7 - }, - "qan_mysql_perfschema_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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 8 - }, - "qan_mysql_slowlog_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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 9 - }, - "qan_mongodb_profiler_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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 10 - }, - "qan_postgresql_pgstatements_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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 11 - }, - "qan_postgresql_pgstatmonitor_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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 12 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "node_exporter": { - "description": "NodeExporter runs on Generic or Container Node and exposes its metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 3 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 4 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 5 - }, - "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 finished.\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": 6 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 8 - }, - "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": 9 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 0 - }, - "mysqld_exporter": { - "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 scraping metrics.", - "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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 10 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 11 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 12 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 13 - }, - "table_count": { - "description": "Actual table count at the moment of adding.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "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 finished.\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": 15 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 16 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 17 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 18 - }, - "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": 19 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 20 - }, - "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": 21 - } - }, - "x-order": 1 - }, - "mongodb_exporter": { - "description": "MongoDBExporter runs on Generic or Container Node and exposes MongoDB Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 scraping metrics.", - "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 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "stats_collections": { - "type": "array", - "title": "List of colletions to get stats from. Can use *", - "items": { - "type": "string" - }, - "x-order": 12 - }, - "collections_limit": { - "type": "integer", - "format": "int32", - "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", - "x-order": 13 - }, - "enable_all_collectors": { - "description": "Enable All collectors.", - "type": "boolean", - "x-order": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "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": 16 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 17 - }, - "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": 18 - } - }, - "x-order": 2 - }, - "postgres_exporter": { - "description": "PostgresExporter runs on Generic or Container Node and exposes PostgreSQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for scraping metrics.", - "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. Uses sslmode=required instead of verify-full.", - "type": "boolean", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "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": 13 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 15 - }, - "max_exporter_connections": { - "description": "Maximum number of connections that exporter can open to the database instance.", - "type": "integer", - "format": "int32", - "x-order": 16 - }, - "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": 17 - } - }, - "x-order": 3 - }, - "proxysql_exporter": { - "description": "ProxySQLExporter runs on Generic or Container Node and exposes ProxySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "ProxySQL username for scraping metrics.", - "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 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "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": 13 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 14 - }, - "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": 15 - } - }, - "x-order": 4 - }, - "external_exporter": { - "description": "ExternalExporter runs on any Node type, including Remote Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - }, - "disabled": { - "description": "If disabled, metrics from this exporter will not be collected.", - "type": "boolean", - "x-order": 2 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 3 - }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 4 - }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 5 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", - "type": "string", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 5 - }, - "rds_exporter": { - "description": "RDSExporter runs on Generic or Container Node and exposes RemoteRDS Node metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 3 - }, - "aws_access_key": { - "description": "AWS Access Key.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - }, - "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 finished.\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": 6 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "basic_metrics_disabled": { - "description": "Basic metrics are disabled.", - "type": "boolean", - "x-order": 8 - }, - "enhanced_metrics_disabled": { - "description": "Enhanced metrics are disabled.", - "type": "boolean", - "x-order": 9 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 10 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "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": 12 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "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": 6 - }, - "azure_database_exporter": { - "description": "AzureDatabaseExporter runs on Generic or Container Node and exposes RemoteAzure Node metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 3 - }, - "azure_database_subscription_id": { - "description": "Azure database subscription ID.", - "type": "string", - "x-order": 4 - }, - "azure_database_resource_type": { - "type": "string", - "title": "Azure database resource type (mysql, maria, postgres)", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "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 finished.\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": 7 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "push_metrics_enabled": { - "description": "True if the exporter operates in push metrics mode.", - "type": "boolean", - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - }, - "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": 12 - } - }, - "x-order": 7 - }, - "qan_mysql_perfschema_agent": { - "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 performance 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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 11 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 12 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "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 finished.\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": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "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": 16 - } - }, - "x-order": 8 - }, - "qan_mysql_slowlog_agent": { - "description": "QANMySQLSlowlogAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 performance 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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "max_query_length": { - "type": "integer", - "format": "int32", - "title": "Limit query length in QAN (default: server-defined; -1: no limit)", - "x-order": 11 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 12 - }, - "max_slowlog_file_size": { - "description": "Slowlog file is rotated at this size if \u003e 0.", - "type": "string", - "format": "int64", - "x-order": 13 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 14 - }, - "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 finished.\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": 15 - }, - "process_exec_path": { - "type": "string", - "title": "mod tidy", - "x-order": 16 - }, - "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": 17 - } - }, - "x-order": 9 - }, - "qan_mongodb_profiler_agent": { - "description": "QANMongoDBProfilerAgent runs within pmm-agent and sends MongoDB Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "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 finished.\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 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 10 - }, - "qan_postgresql_pgstatements_agent": { - "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for getting pg stat statements data.", - "type": "string", - "x-order": 4 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 5 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 6 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 7 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "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 finished.\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 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "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": 12 - } - }, - "x-order": 11 - }, - "qan_postgresql_pgstatmonitor_agent": { - "description": "QANPostgreSQLPgStatMonitorAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for getting pg stat monitor 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 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 7 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 8 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "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 finished.\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": 11 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "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": 13 - } - }, - "x-order": 12 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "delete": { - "description": "Removes an Agent from Inventory.", - "tags": [ - "AgentsService" - ], - "summary": "Remove an Agent from Inventory", - "operationId": "RemoveAgent", - "parameters": [ - { - "type": "string", - "name": "agent_id", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Remove agent with all dependencies.", - "name": "force", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/inventory/agents/{agent_id}/logs": { - "get": { - "description": "Returns Agent logs by ID.", - "tags": [ - "AgentsService" - ], - "summary": "Get Agent logs", - "operationId": "GetAgentLogs", - "parameters": [ - { - "type": "string", - "description": "Unique randomly generated instance identifier.", - "name": "agent_id", - "in": "path", - "required": true - }, - { - "type": "integer", - "format": "int64", - "description": "Limit the number of log lines to this value. Pass 0 for no limit.", - "name": "limit", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "logs": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 0 - }, - "agent_config_log_lines_count": { - "type": "integer", - "format": "int64", - "x-order": 1 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/inventory/nodes": { - "get": { - "description": "Returns a list of all Nodes.", - "tags": [ - "NodesService" - ], - "summary": "List Nodes", - "operationId": "ListNodes", - "parameters": [ - { - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "description": "Return only Nodes with matching Node type.", - "name": "node_type", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "generic": { - "type": "array", - "items": { - "description": "GenericNode represents a bare metal server or virtual machine.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 3 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 4 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 5 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 6 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - } - } - }, - "x-order": 0 - }, - "container": { - "type": "array", - "items": { - "description": "ContainerNode represents a Docker container.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "machine_id": { - "description": "Linux machine-id of the Generic Node where this Container Node runs.", - "type": "string", - "x-order": 3 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 4 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 5 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 6 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 7 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - } - } - }, - "x-order": 1 - }, - "remote": { - "type": "array", - "items": { - "description": "RemoteNode represents generic remote Node. It's a node where we don't run pmm-agents. Only external exporters can run on Remote Nodes.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - } - }, - "x-order": 2 - }, - "remote_rds": { - "type": "array", - "items": { - "description": "RemoteRDSNode represents remote RDS Node. Agents can't run on Remote RDS Nodes.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "DB instance identifier.", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - } - }, - "x-order": 3 - }, - "remote_azure_database": { - "type": "array", - "items": { - "description": "RemoteAzureDatabaseNode represents remote AzureDatabase Node. Agents can't run on Remote AzureDatabase Nodes.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "DB instance identifier.", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - } - }, - "x-order": 4 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "post": { - "description": "Adds a Node.", - "tags": [ - "NodesService" - ], - "summary": "Add a Node", - "operationId": "AddNode", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "generic": { - "type": "object", - "properties": { - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 0 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 1 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 2 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 3 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 4 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 5 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - } - }, - "x-order": 0 - }, - "container": { - "type": "object", - "properties": { - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 0 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 1 - }, - "machine_id": { - "description": "Linux machine-id of the Generic Node where this Container Node runs.", - "type": "string", - "x-order": 2 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 3 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 4 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 5 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 6 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - } - }, - "x-order": 1 - }, - "remote": { - "type": "object", - "properties": { - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 0 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 1 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 2 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 3 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - } - }, - "x-order": 2 - }, - "remote_rds": { - "type": "object", - "properties": { - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 0 - }, - "address": { - "description": "DB instance identifier.", - "type": "string", - "x-order": 1 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 2 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 3 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - } - }, - "x-order": 3 - }, - "remote_azure": { - "type": "object", - "properties": { - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 0 - }, - "address": { - "description": "DB instance identifier.", - "type": "string", - "x-order": 1 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 2 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 3 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - } - }, - "x-order": 4 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "generic": { - "description": "GenericNode represents a bare metal server or virtual machine.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 3 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 4 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 5 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 6 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - } - }, - "x-order": 0 - }, - "container": { - "description": "ContainerNode represents a Docker container.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "machine_id": { - "description": "Linux machine-id of the Generic Node where this Container Node runs.", - "type": "string", - "x-order": 3 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 4 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 5 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 6 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 7 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - } - }, - "x-order": 1 - }, - "remote": { - "description": "RemoteNode represents generic remote Node. It's a node where we don't run pmm-agents. Only external exporters can run on Remote Nodes.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - }, - "x-order": 2 - }, - "remote_rds": { - "description": "RemoteRDSNode represents remote RDS Node. Agents can't run on Remote RDS Nodes.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "DB instance identifier.", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - }, - "x-order": 3 - }, - "remote_azure_database": { - "description": "RemoteAzureDatabaseNode represents remote AzureDatabase Node. Agents can't run on Remote AzureDatabase Nodes.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "DB instance identifier.", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - }, - "x-order": 4 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/inventory/nodes/{node_id}": { - "get": { - "description": "Returns a single Node by ID.", - "tags": [ - "NodesService" - ], - "summary": "Get a Node", - "operationId": "GetNode", - "parameters": [ - { - "type": "string", - "description": "Unique randomly generated instance identifier.", - "name": "node_id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "generic": { - "description": "GenericNode represents a bare metal server or virtual machine.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 3 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 4 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 5 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 6 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - } - }, - "x-order": 0 - }, - "container": { - "description": "ContainerNode represents a Docker container.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "machine_id": { - "description": "Linux machine-id of the Generic Node where this Container Node runs.", - "type": "string", - "x-order": 3 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 4 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 5 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 6 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 7 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - } - }, - "x-order": 1 - }, - "remote": { - "description": "RemoteNode represents generic remote Node. It's a node where we don't run pmm-agents. Only external exporters can run on Remote Nodes.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - }, - "x-order": 2 - }, - "remote_rds": { - "description": "RemoteRDSNode represents remote RDS Node. Agents can't run on Remote RDS Nodes.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "DB instance identifier.", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - }, - "x-order": 3 - }, - "remote_azure_database": { - "description": "RemoteAzureDatabaseNode represents remote AzureDatabase Node. Agents can't run on Remote AzureDatabase Nodes.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "DB instance identifier.", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - }, - "x-order": 4 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "delete": { - "description": "Removes a Node.", - "tags": [ - "NodesService" - ], - "summary": "Remove a Node", - "operationId": "RemoveNode", - "parameters": [ - { - "type": "string", - "description": "Unique randomly generated instance identifier.", - "name": "node_id", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Remove node with all dependencies.", - "name": "force", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/inventory/services": { - "get": { - "description": "Returns a list of Services filtered by type.", - "tags": [ - "ServicesService" - ], - "summary": "List Services", - "operationId": "ListServices", - "parameters": [ - { - "type": "string", - "description": "Return only Services running on that Node.", - "name": "node_id", - "in": "query" - }, - { - "enum": [ - "SERVICE_TYPE_UNSPECIFIED", - "SERVICE_TYPE_MYSQL_SERVICE", - "SERVICE_TYPE_MONGODB_SERVICE", - "SERVICE_TYPE_POSTGRESQL_SERVICE", - "SERVICE_TYPE_PROXYSQL_SERVICE", - "SERVICE_TYPE_HAPROXY_SERVICE", - "SERVICE_TYPE_EXTERNAL_SERVICE" - ], - "type": "string", - "default": "SERVICE_TYPE_UNSPECIFIED", - "description": "Return only services filtered by service type.", - "name": "service_type", - "in": "query" - }, - { - "type": "string", - "description": "Return only services in this external group.", - "name": "external_group", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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 - } - } - }, - "x-order": 0 - }, - "mongodb": { - "type": "array", - "items": { - "description": "MongoDBService represents a generic MongoDB 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": "MongoDB version.", - "type": "string", - "x-order": 10 - } - } - }, - "x-order": 1 - }, - "postgresql": { - "type": "array", - "items": { - "description": "PostgreSQLService represents a generic PostgreSQL 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 - }, - "database_name": { - "description": "Database name.", - "type": "string", - "x-order": 2 - }, - "node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 6 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 7 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 8 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "version": { - "description": "PostgreSQL version.", - "type": "string", - "x-order": 11 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 12 - } - } - }, - "x-order": 2 - }, - "proxysql": { - "type": "array", - "items": { - "description": "ProxySQLService represents a generic ProxySQL 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": "ProxySQL version.", - "type": "string", - "x-order": 10 - } - } - }, - "x-order": 3 - }, - "haproxy": { - "type": "array", - "items": { - "description": "HAProxyService represents a generic HAProxy service 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 service instance runs.", - "type": "string", - "x-order": 2 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - } - }, - "x-order": 4 - }, - "external": { - "type": "array", - "items": { - "description": "ExternalService represents a generic External service 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 service instance runs.", - "type": "string", - "x-order": 2 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "group": { - "description": "Group name of external service.", - "type": "string", - "x-order": 7 - } - } - }, - "x-order": 5 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "post": { - "description": "Adds a Service.", - "tags": [ - "ServicesService" - ], - "summary": "Add a Service", - "operationId": "AddService", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "mysql": { - "type": "object", - "properties": { - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 0 - }, - "node_id": { - "description": "Node identifier where this instance runs. Required.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 2 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 3 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 5 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 6 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - } - }, - "x-order": 0 - }, - "mongodb": { - "type": "object", - "properties": { - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 0 - }, - "node_id": { - "description": "Node identifier where this instance runs. Required.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 2 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 3 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 5 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 6 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - } - }, - "x-order": 1 - }, - "postgresql": { - "type": "object", - "properties": { - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 0 - }, - "node_id": { - "description": "Node identifier where this instance runs. Required.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 2 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 3 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 5 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 6 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 9 - } - }, - "x-order": 2 - }, - "proxysql": { - "type": "object", - "properties": { - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 0 - }, - "node_id": { - "description": "Node identifier where this instance runs. Required.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 2 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 3 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 5 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 6 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - } - }, - "x-order": 3 - }, - "haproxy": { - "type": "object", - "properties": { - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 0 - }, - "node_id": { - "description": "Node identifier where this instance runs. Required.", - "type": "string", - "x-order": 1 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 2 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 3 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - } - }, - "x-order": 4 - }, - "external": { - "type": "object", - "properties": { - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 0 - }, - "node_id": { - "description": "Node identifier where this instance runs. Required.", - "type": "string", - "x-order": 1 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 2 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 3 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - }, - "group": { - "description": "Group name of external service.", - "type": "string", - "x-order": 6 - } - }, - "x-order": 5 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "mysql": { - "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 - } - }, - "x-order": 0 - }, - "mongodb": { - "description": "MongoDBService represents a generic MongoDB 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": "MongoDB version.", - "type": "string", - "x-order": 10 - } - }, - "x-order": 1 - }, - "postgresql": { - "description": "PostgreSQLService represents a generic PostgreSQL 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 - }, - "database_name": { - "description": "Database name.", - "type": "string", - "x-order": 2 - }, - "node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 6 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 7 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 8 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "version": { - "description": "PostgreSQL version.", - "type": "string", - "x-order": 11 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 12 - } - }, - "x-order": 2 - }, - "proxysql": { - "description": "ProxySQLService represents a generic ProxySQL 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": "ProxySQL version.", - "type": "string", - "x-order": 10 - } - }, - "x-order": 3 - }, - "haproxy": { - "description": "HAProxyService represents a generic HAProxy service 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 service instance runs.", - "type": "string", - "x-order": 2 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - }, - "x-order": 4 - }, - "external": { - "description": "ExternalService represents a generic External service 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 service instance runs.", - "type": "string", - "x-order": 2 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "group": { - "description": "Group name of external service.", - "type": "string", - "x-order": 7 - } - }, - "x-order": 5 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/inventory/services/{service_id}": { - "get": { - "description": "Returns a single Service by ID.", - "tags": [ - "ServicesService" - ], - "summary": "Get a Service", - "operationId": "GetService", - "parameters": [ - { - "type": "string", - "description": "Unique randomly generated instance identifier.", - "name": "service_id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "mysql": { - "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 - } - }, - "x-order": 0 - }, - "mongodb": { - "description": "MongoDBService represents a generic MongoDB 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": "MongoDB version.", - "type": "string", - "x-order": 10 - } - }, - "x-order": 1 - }, - "postgresql": { - "description": "PostgreSQLService represents a generic PostgreSQL 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 - }, - "database_name": { - "description": "Database name.", - "type": "string", - "x-order": 2 - }, - "node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 6 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 7 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 8 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "version": { - "description": "PostgreSQL version.", - "type": "string", - "x-order": 11 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 12 - } - }, - "x-order": 2 - }, - "proxysql": { - "description": "ProxySQLService represents a generic ProxySQL 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": "ProxySQL version.", - "type": "string", - "x-order": 10 - } - }, - "x-order": 3 - }, - "haproxy": { - "description": "HAProxyService represents a generic HAProxy service 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 service instance runs.", - "type": "string", - "x-order": 2 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - }, - "x-order": 4 - }, - "external": { - "description": "ExternalService represents a generic External service 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 service instance runs.", - "type": "string", - "x-order": 2 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "group": { - "description": "Group name of external service.", - "type": "string", - "x-order": 7 - } - }, - "x-order": 5 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "put": { - "description": "Changes service configuration. If a new cluster label is specified, it removes all backup/restore tasks scheduled for the related services. Fails if there are running backup/restore tasks.", - "tags": [ - "ServicesService" - ], - "summary": "Change service", - "operationId": "ChangeService", - "parameters": [ - { - "type": "string", - "name": "service_id", - "in": "path", - "required": true - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "environment": { - "type": "string", - "x-nullable": true, - "x-order": 0 - }, - "cluster": { - "type": "string", - "x-nullable": true, - "x-order": 1 - }, - "replication_set": { - "type": "string", - "x-nullable": true, - "x-order": 2 - }, - "external_group": { - "type": "string", - "x-nullable": true, - "x-order": 3 - }, - "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": 4 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "mysql": { - "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 - } - }, - "x-order": 0 - }, - "mongodb": { - "description": "MongoDBService represents a generic MongoDB 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": "MongoDB version.", - "type": "string", - "x-order": 10 - } - }, - "x-order": 1 - }, - "postgresql": { - "description": "PostgreSQLService represents a generic PostgreSQL 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 - }, - "database_name": { - "description": "Database name.", - "type": "string", - "x-order": 2 - }, - "node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 6 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 7 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 8 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "version": { - "description": "PostgreSQL version.", - "type": "string", - "x-order": 11 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 12 - } - }, - "x-order": 2 - }, - "proxysql": { - "description": "ProxySQLService represents a generic ProxySQL 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": "ProxySQL version.", - "type": "string", - "x-order": 10 - } - }, - "x-order": 3 - }, - "haproxy": { - "description": "HAProxyService represents a generic HAProxy service 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 service instance runs.", - "type": "string", - "x-order": 2 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - }, - "x-order": 4 - }, - "external": { - "description": "ExternalService represents a generic External service 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 service instance runs.", - "type": "string", - "x-order": 2 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "group": { - "description": "Group name of external service.", - "type": "string", - "x-order": 7 - } - }, - "x-order": 5 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "delete": { - "description": "Removes Service.", - "tags": [ - "ServicesService" - ], - "summary": "Remove Service", - "operationId": "RemoveService", - "parameters": [ - { - "type": "string", - "description": "Unique randomly generated instance identifier. Required.", - "name": "service_id", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Remove service with all dependencies.", - "name": "force", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/inventory/services:getTypes": { - "post": { - "description": "Returns a list of active Service types.", - "tags": [ - "ServicesService" - ], - "summary": "List Active Service Types", - "operationId": "ListActiveServiceTypes", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "service_types": { - "type": "array", - "items": { - "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_PROXYSQL_SERVICE", - "SERVICE_TYPE_HAPROXY_SERVICE", - "SERVICE_TYPE_EXTERNAL_SERVICE" - ] - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/management/agents": { - "get": { - "description": "Lists Agents with filter.", - "tags": [ - "ManagementService" - ], - "summary": "List Agents", - "operationId": "ListAgentsMixin3", - "parameters": [ - { - "type": "string", - "description": "Return only Agents that relate to a specific ServiceID.", - "name": "service_id", - "in": "query" - }, - { - "type": "string", - "description": "Return only Agents that relate to a specific NodeID.", - "name": "node_id", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "agents": { - "description": "List of Agents.", - "type": "array", - "items": { - "type": "object", - "properties": { - "agent_id": { - "description": "Unique agent identifier.", - "type": "string", - "x-order": 0 - }, - "is_agent_password_set": { - "description": "True if the agent password is set.", - "type": "boolean", - "x-order": 1 - }, - "agent_type": { - "description": "Agent type.", - "type": "string", - "x-order": 2 - }, - "aws_access_key": { - "description": "AWS Access Key.", - "type": "string", - "x-order": 3 - }, - "is_aws_secret_key_set": { - "description": "True if AWS Secret Key is set.", - "type": "boolean", - "x-order": 4 - }, - "azure_options": { - "type": "object", - "properties": { - "client_id": { - "description": "Azure client ID.", - "type": "string", - "x-order": 0 - }, - "is_client_secret_set": { - "description": "True if Azure client secret is set.", - "type": "boolean", - "x-order": 1 - }, - "resource_group": { - "description": "Azure resource group.", - "type": "string", - "x-order": 2 - }, - "subscription_id": { - "description": "Azure subscription ID.", - "type": "string", - "x-order": 3 - }, - "tenant_id": { - "description": "Azure tenant ID.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 5 - }, - "created_at": { - "description": "Creation timestamp.", - "type": "string", - "format": "date-time", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 10 - }, - "log_level": { - "description": "Log level for exporter.", - "type": "string", - "x-order": 11 - }, - "max_query_length": { - "description": "Limit query length in QAN.", - "type": "integer", - "format": "int32", - "x-order": 12 - }, - "max_query_log_size": { - "description": "Limit query log size in QAN.", - "type": "string", - "format": "int64", - "x-order": 13 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", - "type": "string", - "x-order": 14 - }, - "metrics_scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 15 - }, - "mongo_db_options": { - "type": "object", - "properties": { - "is_tls_certificate_key_set": { - "description": "True if TLS certificate is set.", - "type": "boolean", - "x-order": 0 - }, - "is_tls_certificate_key_file_password_set": { - "description": "True if TLS certificate file password is set.", - "type": "boolean", - "x-order": 1 - }, - "authentication_mechanism": { - "description": "MongoDB auth mechanism.", - "type": "string", - "x-order": 2 - }, - "authentication_database": { - "description": "MongoDB auth database.", - "type": "string", - "x-order": 3 - }, - "stats_collections": { - "description": "MongoDB stats collections.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 4 - }, - "collections_limit": { - "description": "MongoDB collections limit.", - "type": "integer", - "format": "int32", - "x-order": 5 - }, - "enable_all_collectors": { - "description": "True if all collectors are enabled.", - "type": "boolean", - "x-order": 6 - } - }, - "x-order": 16 - }, - "mysql_options": { - "type": "object", - "properties": { - "is_tls_key_set": { - "description": "True if TLS key is set.", - "type": "boolean", - "x-order": 0 - } - }, - "x-order": 17 - }, - "node_id": { - "description": "A unique node identifier.", - "type": "string", - "x-order": 18 - }, - "is_password_set": { - "description": "True if password for connecting the agent to the database is set.", - "type": "boolean", - "x-order": 19 - }, - "pmm_agent_id": { - "description": "The pmm-agent identifier.", - "type": "string", - "x-order": 20 - }, - "postgresql_options": { - "type": "object", - "properties": { - "is_ssl_key_set": { - "description": "True if TLS key is set.", - "type": "boolean", - "x-order": 0 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 1 - }, - "max_exporter_connections": { - "description": "Maximum number of connections from exporter to PostgreSQL instance.", - "type": "integer", - "format": "int32", - "x-order": 2 - } - }, - "x-order": 21 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 22 - }, - "push_metrics": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 23 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 24 - }, - "comments_parsing_disabled": { - "description": "True if query comments parsing is disabled.", - "type": "boolean", - "x-order": 25 - }, - "rds_basic_metrics_disabled": { - "description": "True if RDS basic metrics are disdabled.", - "type": "boolean", - "x-order": 26 - }, - "rds_enhanced_metrics_disabled": { - "description": "True if RDS enhanced metrics are disdabled.", - "type": "boolean", - "x-order": 27 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 28 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 29 - }, - "status": { - "description": "Actual Agent status.", - "type": "string", - "x-order": 30 - }, - "table_count": { - "description": "Last known table count.", - "type": "integer", - "format": "int32", - "x-order": 31 - }, - "table_count_tablestats_group_limit": { - "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 32 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 33 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 34 - }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 35 - }, - "updated_at": { - "description": "Last update timestamp.", - "type": "string", - "format": "date-time", - "x-order": 36 - }, - "version": { - "description": "Agent version.", - "type": "string", - "x-order": 37 - }, - "is_connected": { - "description": "True if Agent is running and connected to pmm-managed.", - "type": "boolean", - "x-order": 38 - }, - "expose_exporter": { - "description": "True if an exporter agent is exposed on all host addresses.", - "type": "boolean", - "x-order": 39 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/management/agents/versions": { - "get": { - "description": "Lists Agent versions and their update severity.", - "tags": [ - "ManagementService" - ], - "summary": "List Agent Versions", - "operationId": "ListAgentVersions", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "agent_versions": { - "description": "List of Agent versions.", - "type": "array", - "items": { - "type": "object", - "properties": { - "agent_id": { - "description": "Agent ID.", - "type": "string", - "x-order": 0 - }, - "version": { - "description": "Agent version.", - "type": "string", - "x-order": 1 - }, - "node_name": { - "description": "Node name where the agent runs.", - "type": "string", - "x-order": 2 - }, - "severity": { - "description": " - UPDATE_SEVERITY_UNSUPPORTED: The client version is newer than the server version.\n - UPDATE_SEVERITY_UP_TO_DATE: The client version matches the server version.\n - UPDATE_SEVERITY_REQUIRED: The client's minor or patch version is older.\n - UPDATE_SEVERITY_CRITICAL: The client's major version is older.", - "type": "string", - "default": "UPDATE_SEVERITY_UNSPECIFIED", - "enum": [ - "UPDATE_SEVERITY_UNSPECIFIED", - "UPDATE_SEVERITY_UNSUPPORTED", - "UPDATE_SEVERITY_UP_TO_DATE", - "UPDATE_SEVERITY_REQUIRED", - "UPDATE_SEVERITY_CRITICAL" - ], - "x-order": 3 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/management/annotations": { - "post": { - "description": "Adds an annotation.", - "tags": [ - "ManagementService" - ], - "summary": "Add an Annotation", - "operationId": "AddAnnotation", - "parameters": [ - { - "description": "AddAnnotationRequest is a params to add new annotation.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "AddAnnotationRequest is a params to add new annotation.", - "type": "object", - "properties": { - "text": { - "description": "An annotation description. Required.", - "type": "string", - "x-order": 0 - }, - "tags": { - "description": "Tags are used to filter annotations.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 1 - }, - "node_name": { - "description": "Used for annotating a node.", - "type": "string", - "x-order": 2 - }, - "service_names": { - "description": "Used for annotating services.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 3 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/management/nodes": { - "get": { - "description": "Lists Nodes with filter.", - "tags": [ - "ManagementService" - ], - "summary": "List Nodes", - "operationId": "ListNodesMixin3", - "parameters": [ - { - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "description": "Node type to be filtered out.", - "name": "node_type", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "nodes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "node_id": { - "description": "Unique Node identifier.", - "type": "string", - "x-order": 0 - }, - "node_type": { - "description": "Node type.", - "type": "string", - "x-order": 1 - }, - "node_name": { - "description": "User-defined node name.", - "type": "string", - "x-order": 2 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 3 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 4 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 5 - }, - "container_id": { - "description": "A node's unique docker container identifier.", - "type": "string", - "x-order": 6 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 7 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 8 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 9 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 10 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 11 - }, - "created_at": { - "description": "Creation timestamp.", - "type": "string", - "format": "date-time", - "x-order": 12 - }, - "updated_at": { - "description": "Last update timestamp.", - "type": "string", - "format": "date-time", - "x-order": 13 - }, - "status": { - "description": "Node status.\n\n - STATUS_UNSPECIFIED: Invalid status.\n - STATUS_UP: The node is up.\n - STATUS_DOWN: The node is down.\n - STATUS_UNKNOWN: The node's status cannot be known (e.g. there are no metrics yet).", - "type": "string", - "default": "STATUS_UNSPECIFIED", - "enum": [ - "STATUS_UNSPECIFIED", - "STATUS_UP", - "STATUS_DOWN", - "STATUS_UNKNOWN" - ], - "x-order": 14 - }, - "agents": { - "description": "List of agents related to this node.", - "type": "array", - "items": { - "type": "object", - "properties": { - "agent_id": { - "description": "Unique Agent identifier.", - "type": "string", - "x-order": 0 - }, - "agent_type": { - "description": "Agent type.", - "type": "string", - "x-order": 1 - }, - "status": { - "description": "Actual Agent status.", - "type": "string", - "x-order": 2 - }, - "is_connected": { - "description": "True if Agent is running and connected to pmm-managed.", - "type": "boolean", - "x-order": 3 - } - } - }, - "x-order": 15 - }, - "services": { - "description": "List of services running on this node.", - "type": "array", - "items": { - "description": "Service represents a service running on a node.", - "type": "object", - "properties": { - "service_id": { - "description": "Unique Service identifier.", - "type": "string", - "x-order": 0 - }, - "service_type": { - "description": "Service type.", - "type": "string", - "x-order": 1 - }, - "service_name": { - "description": "Service name.", - "type": "string", - "x-order": 2 - } - } - }, - "x-order": 16 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "post": { - "description": "Registers a new Node and a pmm-agent.", - "tags": [ - "ManagementService" - ], - "summary": "Register a Node", - "operationId": "RegisterNode", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "node_type": { - "description": "NodeType describes supported Node types.", - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "x-order": 0 - }, - "node_name": { - "description": "A user-defined name unique across all Nodes.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 3 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 4 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 5 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 6 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 7 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 8 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "reregister": { - "description": "If true, and Node with that name already exist, it will be removed with all dependent Services and Agents.", - "type": "boolean", - "x-order": 11 - }, - "metrics_mode": { - "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", - "type": "string", - "default": "METRICS_MODE_UNSPECIFIED", - "enum": [ - "METRICS_MODE_UNSPECIFIED", - "METRICS_MODE_PULL", - "METRICS_MODE_PUSH" - ], - "x-order": 12 - }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 13 - }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", - "type": "string", - "x-order": 14 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 15 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "generic_node": { - "description": "GenericNode represents a bare metal server or virtual machine.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 3 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 4 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 5 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 6 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - } - }, - "x-order": 0 - }, - "container_node": { - "description": "ContainerNode represents a Docker container.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "machine_id": { - "description": "Linux machine-id of the Generic Node where this Container Node runs.", - "type": "string", - "x-order": 3 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 4 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 5 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 6 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 7 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - } - }, - "x-order": 1 - }, - "pmm_agent": { - "description": "PMMAgent runs on Generic or Container Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 2 - }, - "connected": { - "description": "True if Agent is running and connected to pmm-managed.", - "type": "boolean", - "x-order": 3 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 2 - }, - "token": { - "description": "Token represents token for vmagent auth config.", - "type": "string", - "x-order": 3 - }, - "warning": { - "description": "Warning message.", - "type": "string", - "x-order": 4 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/management/nodes/{node_id}": { - "get": { - "description": "Gets a single Node by ID.", - "tags": [ - "ManagementService" - ], - "summary": "Get Node", - "operationId": "GetNodeMixin3", - "parameters": [ - { - "type": "string", - "description": "Unique Node identifier.", - "name": "node_id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "node": { - "type": "object", - "properties": { - "node_id": { - "description": "Unique Node identifier.", - "type": "string", - "x-order": 0 - }, - "node_type": { - "description": "Node type.", - "type": "string", - "x-order": 1 - }, - "node_name": { - "description": "User-defined node name.", - "type": "string", - "x-order": 2 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 3 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 4 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 5 - }, - "container_id": { - "description": "A node's unique docker container identifier.", - "type": "string", - "x-order": 6 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 7 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 8 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 9 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 10 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 11 - }, - "created_at": { - "description": "Creation timestamp.", - "type": "string", - "format": "date-time", - "x-order": 12 - }, - "updated_at": { - "description": "Last update timestamp.", - "type": "string", - "format": "date-time", - "x-order": 13 - }, - "status": { - "description": "Node status.\n\n - STATUS_UNSPECIFIED: Invalid status.\n - STATUS_UP: The node is up.\n - STATUS_DOWN: The node is down.\n - STATUS_UNKNOWN: The node's status cannot be known (e.g. there are no metrics yet).", - "type": "string", - "default": "STATUS_UNSPECIFIED", - "enum": [ - "STATUS_UNSPECIFIED", - "STATUS_UP", - "STATUS_DOWN", - "STATUS_UNKNOWN" - ], - "x-order": 14 - }, - "agents": { - "description": "List of agents related to this node.", - "type": "array", - "items": { - "type": "object", - "properties": { - "agent_id": { - "description": "Unique Agent identifier.", - "type": "string", - "x-order": 0 - }, - "agent_type": { - "description": "Agent type.", - "type": "string", - "x-order": 1 - }, - "status": { - "description": "Actual Agent status.", - "type": "string", - "x-order": 2 - }, - "is_connected": { - "description": "True if Agent is running and connected to pmm-managed.", - "type": "boolean", - "x-order": 3 - } - } - }, - "x-order": 15 - }, - "services": { - "description": "List of services running on this node.", - "type": "array", - "items": { - "description": "Service represents a service running on a node.", - "type": "object", - "properties": { - "service_id": { - "description": "Unique Service identifier.", - "type": "string", - "x-order": 0 - }, - "service_type": { - "description": "Service type.", - "type": "string", - "x-order": 1 - }, - "service_name": { - "description": "Service name.", - "type": "string", - "x-order": 2 - } - } - }, - "x-order": 16 - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "delete": { - "description": "Unregisters a Node and pmm-agent", - "tags": [ - "ManagementService" - ], - "summary": "Unregister a Node", - "operationId": "UnregisterNode", - "parameters": [ - { - "type": "string", - "description": "Node_id to be unregistered.", - "name": "node_id", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Force delete node, related service account, even if it has more service tokens attached.", - "name": "force", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "warning": { - "description": "Warning message if there are more service tokens attached to service account.", - "type": "string", - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/management/services": { - "get": { - "description": "Returns a filtered list of Services.", - "tags": [ - "ManagementService" - ], - "summary": "List Services", - "operationId": "ListServicesMixin3", - "parameters": [ - { - "type": "string", - "description": "Return only Services running on that Node.", - "name": "node_id", - "in": "query" - }, - { - "enum": [ - "SERVICE_TYPE_UNSPECIFIED", - "SERVICE_TYPE_MYSQL_SERVICE", - "SERVICE_TYPE_MONGODB_SERVICE", - "SERVICE_TYPE_POSTGRESQL_SERVICE", - "SERVICE_TYPE_PROXYSQL_SERVICE", - "SERVICE_TYPE_HAPROXY_SERVICE", - "SERVICE_TYPE_EXTERNAL_SERVICE" - ], - "type": "string", - "default": "SERVICE_TYPE_UNSPECIFIED", - "description": "Return only services filtered by service type.", - "name": "service_type", - "in": "query" - }, - { - "type": "string", - "description": "Return only services in this external group.", - "name": "external_group", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "services": { - "description": "List of Services.", - "type": "array", - "items": { - "type": "object", - "properties": { - "service_id": { - "description": "Unique service identifier.", - "type": "string", - "x-order": 0 - }, - "service_type": { - "description": "Service type.", - "type": "string", - "x-order": 1 - }, - "service_name": { - "description": "User-defined name unique across all Services.", - "type": "string", - "x-order": 2 - }, - "database_name": { - "description": "Database name.", - "type": "string", - "x-order": 3 - }, - "node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 4 - }, - "node_name": { - "description": "Node name where this instance runs.", - "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 for Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - }, - "external_group": { - "description": "External group name.", - "type": "string", - "x-order": 10 - }, - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 11 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 12 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 13 - }, - "created_at": { - "description": "Creation timestamp.", - "type": "string", - "format": "date-time", - "x-order": 14 - }, - "updated_at": { - "description": "Last update timestamp.", - "type": "string", - "format": "date-time", - "x-order": 15 - }, - "agents": { - "description": "List of agents related to this service.", - "type": "array", - "items": { - "type": "object", - "properties": { - "agent_id": { - "description": "Unique agent identifier.", - "type": "string", - "x-order": 0 - }, - "is_agent_password_set": { - "description": "True if the agent password is set.", - "type": "boolean", - "x-order": 1 - }, - "agent_type": { - "description": "Agent type.", - "type": "string", - "x-order": 2 - }, - "aws_access_key": { - "description": "AWS Access Key.", - "type": "string", - "x-order": 3 - }, - "is_aws_secret_key_set": { - "description": "True if AWS Secret Key is set.", - "type": "boolean", - "x-order": 4 - }, - "azure_options": { - "type": "object", - "properties": { - "client_id": { - "description": "Azure client ID.", - "type": "string", - "x-order": 0 - }, - "is_client_secret_set": { - "description": "True if Azure client secret is set.", - "type": "boolean", - "x-order": 1 - }, - "resource_group": { - "description": "Azure resource group.", - "type": "string", - "x-order": 2 - }, - "subscription_id": { - "description": "Azure subscription ID.", - "type": "string", - "x-order": 3 - }, - "tenant_id": { - "description": "Azure tenant ID.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 5 - }, - "created_at": { - "description": "Creation timestamp.", - "type": "string", - "format": "date-time", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 10 - }, - "log_level": { - "description": "Log level for exporter.", - "type": "string", - "x-order": 11 - }, - "max_query_length": { - "description": "Limit query length in QAN.", - "type": "integer", - "format": "int32", - "x-order": 12 - }, - "max_query_log_size": { - "description": "Limit query log size in QAN.", - "type": "string", - "format": "int64", - "x-order": 13 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", - "type": "string", - "x-order": 14 - }, - "metrics_scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 15 - }, - "mongo_db_options": { - "type": "object", - "properties": { - "is_tls_certificate_key_set": { - "description": "True if TLS certificate is set.", - "type": "boolean", - "x-order": 0 - }, - "is_tls_certificate_key_file_password_set": { - "description": "True if TLS certificate file password is set.", - "type": "boolean", - "x-order": 1 - }, - "authentication_mechanism": { - "description": "MongoDB auth mechanism.", - "type": "string", - "x-order": 2 - }, - "authentication_database": { - "description": "MongoDB auth database.", - "type": "string", - "x-order": 3 - }, - "stats_collections": { - "description": "MongoDB stats collections.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 4 - }, - "collections_limit": { - "description": "MongoDB collections limit.", - "type": "integer", - "format": "int32", - "x-order": 5 - }, - "enable_all_collectors": { - "description": "True if all collectors are enabled.", - "type": "boolean", - "x-order": 6 - } - }, - "x-order": 16 - }, - "mysql_options": { - "type": "object", - "properties": { - "is_tls_key_set": { - "description": "True if TLS key is set.", - "type": "boolean", - "x-order": 0 - } - }, - "x-order": 17 - }, - "node_id": { - "description": "A unique node identifier.", - "type": "string", - "x-order": 18 - }, - "is_password_set": { - "description": "True if password for connecting the agent to the database is set.", - "type": "boolean", - "x-order": 19 - }, - "pmm_agent_id": { - "description": "The pmm-agent identifier.", - "type": "string", - "x-order": 20 - }, - "postgresql_options": { - "type": "object", - "properties": { - "is_ssl_key_set": { - "description": "True if TLS key is set.", - "type": "boolean", - "x-order": 0 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 1 - }, - "max_exporter_connections": { - "description": "Maximum number of connections from exporter to PostgreSQL instance.", - "type": "integer", - "format": "int32", - "x-order": 2 - } - }, - "x-order": 21 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 22 - }, - "push_metrics": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 23 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 24 - }, - "comments_parsing_disabled": { - "description": "True if query comments parsing is disabled.", - "type": "boolean", - "x-order": 25 - }, - "rds_basic_metrics_disabled": { - "description": "True if RDS basic metrics are disdabled.", - "type": "boolean", - "x-order": 26 - }, - "rds_enhanced_metrics_disabled": { - "description": "True if RDS enhanced metrics are disdabled.", - "type": "boolean", - "x-order": 27 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 28 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 29 - }, - "status": { - "description": "Actual Agent status.", - "type": "string", - "x-order": 30 - }, - "table_count": { - "description": "Last known table count.", - "type": "integer", - "format": "int32", - "x-order": 31 - }, - "table_count_tablestats_group_limit": { - "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 32 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 33 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 34 - }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 35 - }, - "updated_at": { - "description": "Last update timestamp.", - "type": "string", - "format": "date-time", - "x-order": 36 - }, - "version": { - "description": "Agent version.", - "type": "string", - "x-order": 37 - }, - "is_connected": { - "description": "True if Agent is running and connected to pmm-managed.", - "type": "boolean", - "x-order": 38 - }, - "expose_exporter": { - "description": "True if an exporter agent is exposed on all host addresses.", - "type": "boolean", - "x-order": 39 - } - } - }, - "x-order": 16 - }, - "status": { - "description": "Service status.\n\n - STATUS_UNSPECIFIED: In case we don't support the db vendor yet.\n - STATUS_UP: The service is up.\n - STATUS_DOWN: The service is down.\n - STATUS_UNKNOWN: The service's status cannot be known (e.g. there are no metrics yet).", - "type": "string", - "default": "STATUS_UNSPECIFIED", - "enum": [ - "STATUS_UNSPECIFIED", - "STATUS_UP", - "STATUS_DOWN", - "STATUS_UNKNOWN" - ], - "x-order": 17 - }, - "version": { - "description": "The service/database version.", - "type": "string", - "x-order": 18 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "post": { - "description": "Adds a service and starts several agents.", - "tags": [ - "ManagementService" - ], - "summary": "Add a Service", - "operationId": "AddServiceMixin3", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "mysql": { - "type": "object", - "properties": { - "node_id": { - "description": "Node identifier on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Node name on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 1 - }, - "add_node": { - "description": "AddNodeParams holds node params and is used to add new node to inventory while adding new service.", - "type": "object", - "properties": { - "node_type": { - "description": "NodeType describes supported Node types.", - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 2 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 3 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 4 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 5 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 6 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 7 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - } - }, - "x-order": 2 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Node and Service access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Service Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "socket": { - "description": "Service Access socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 6 - }, - "pmm_agent_id": { - "description": "The \"pmm-agent\" identifier which should run agents. Required.", - "type": "string", - "x-order": 7 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 8 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 9 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 10 - }, - "username": { - "description": "MySQL username for scraping metrics.", - "type": "string", - "x-order": 11 - }, - "password": { - "description": "MySQL password for scraping metrics.", - "type": "string", - "x-order": 12 - }, - "qan_mysql_perfschema": { - "description": "If true, adds qan-mysql-perfschema-agent for provided service.", - "type": "boolean", - "x-order": 13 - }, - "qan_mysql_slowlog": { - "description": "If true, adds qan-mysql-slowlog-agent for provided service.", - "type": "boolean", - "x-order": 14 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 15 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 16 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 17 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 18 - }, - "disable_query_examples": { - "description": "Disable query examples.", - "type": "boolean", - "x-order": 19 - }, - "max_slowlog_file_size": { - "description": "If qan-mysql-slowlog-agent is added, slowlog file is rotated at this size if \u003e 0.\nIf zero, server's default value is used.\nUse negative value to disable rotation.", - "type": "string", - "format": "int64", - "x-order": 20 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 21 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 22 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 23 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 24 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 25 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors will be disabled if there are more than that number of tables.\nIf zero, server's default value is used.\nUse negative value to disable them.", - "type": "integer", - "format": "int32", - "x-order": 26 - }, - "metrics_mode": { - "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", - "type": "string", - "default": "METRICS_MODE_UNSPECIFIED", - "enum": [ - "METRICS_MODE_UNSPECIFIED", - "METRICS_MODE_PULL", - "METRICS_MODE_PUSH" - ], - "x-order": 27 - }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 28 - }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", - "type": "string", - "x-order": 29 - }, - "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": 30 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 31 - } - }, - "x-order": 0 - }, - "mongodb": { - "type": "object", - "properties": { - "node_id": { - "description": "Node identifier on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Node name on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 1 - }, - "add_node": { - "description": "AddNodeParams holds node params and is used to add new node to inventory while adding new service.", - "type": "object", - "properties": { - "node_type": { - "description": "NodeType describes supported Node types.", - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 2 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 3 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 4 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 5 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 6 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 7 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - } - }, - "x-order": 2 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Node and Service access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Service Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "socket": { - "description": "Service Access socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 6 - }, - "pmm_agent_id": { - "description": "The \"pmm-agent\" identifier which should run agents. Required.", - "type": "string", - "x-order": 7 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 8 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 9 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 10 - }, - "username": { - "description": "MongoDB username for exporter and QAN agent access.", - "type": "string", - "x-order": 11 - }, - "password": { - "description": "MongoDB password for exporter and QAN agent access.", - "type": "string", - "x-order": 12 - }, - "qan_mongodb_profiler": { - "description": "If true, adds qan-mongodb-profiler-agent for provided service.", - "type": "boolean", - "x-order": 13 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 14 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 15 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 16 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 17 - }, - "tls_certificate_key": { - "description": "Client certificate and key.", - "type": "string", - "x-order": 18 - }, - "tls_certificate_key_file_password": { - "description": "Password for decrypting tls_certificate_key.", - "type": "string", - "x-order": 19 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 20 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 21 - }, - "metrics_mode": { - "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", - "type": "string", - "default": "METRICS_MODE_UNSPECIFIED", - "enum": [ - "METRICS_MODE_UNSPECIFIED", - "METRICS_MODE_PULL", - "METRICS_MODE_PUSH" - ], - "x-order": 22 - }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 23 - }, - "authentication_mechanism": { - "description": "Authentication mechanism.\nSee https://docs.mongodb.com/manual/reference/connection-string/#mongodb-urioption-urioption.authMechanism\nfor details.", - "type": "string", - "x-order": 24 - }, - "authentication_database": { - "description": "Authentication database.", - "type": "string", - "x-order": 25 - }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", - "type": "string", - "x-order": 26 - }, - "stats_collections": { - "description": "List of collections to get stats from. Can use * .", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 27 - }, - "collections_limit": { - "type": "integer", - "format": "int32", - "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", - "x-order": 28 - }, - "enable_all_collectors": { - "type": "boolean", - "title": "Enable all collectors", - "x-order": 29 - }, - "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": 30 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 31 - } - }, - "x-order": 1 - }, - "postgresql": { - "type": "object", - "properties": { - "node_id": { - "description": "Node identifier on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Node name on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 1 - }, - "add_node": { - "description": "AddNodeParams holds node params and is used to add new node to inventory while adding new service.", - "type": "object", - "properties": { - "node_type": { - "description": "NodeType describes supported Node types.", - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 2 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 3 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 4 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 5 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 6 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 7 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - } - }, - "x-order": 2 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Node and Service access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Service Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "database": { - "description": "Database name.", - "type": "string", - "x-order": 6 - }, - "socket": { - "description": "Service Access socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 7 - }, - "pmm_agent_id": { - "description": "The \"pmm-agent\" identifier which should run agents. Required.", - "type": "string", - "x-order": 8 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 9 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 10 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 11 - }, - "username": { - "description": "PostgreSQL username for scraping metrics.", - "type": "string", - "x-order": 12 - }, - "password": { - "description": "PostgreSQL password for scraping metrics.", - "type": "string", - "x-order": 13 - }, - "qan_postgresql_pgstatements_agent": { - "description": "If true, adds qan-postgresql-pgstatements-agent for provided service.", - "type": "boolean", - "x-order": 14 - }, - "qan_postgresql_pgstatmonitor_agent": { - "description": "If true, adds qan-postgresql-pgstatmonitor-agent for provided service.", - "type": "boolean", - "x-order": 15 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 16 - }, - "disable_query_examples": { - "description": "Disable query examples.", - "type": "boolean", - "x-order": 17 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 18 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 19 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 20 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 21 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation. Uses sslmode=required instead of verify-full.", - "type": "boolean", - "x-order": 22 - }, - "metrics_mode": { - "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", - "type": "string", - "default": "METRICS_MODE_UNSPECIFIED", - "enum": [ - "METRICS_MODE_UNSPECIFIED", - "METRICS_MODE_PULL", - "METRICS_MODE_PUSH" - ], - "x-order": 23 - }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 24 - }, - "tls_ca": { - "description": "TLS CA certificate.", - "type": "string", - "x-order": 25 - }, - "tls_cert": { - "description": "TLS Certifcate.", - "type": "string", - "x-order": 26 - }, - "tls_key": { - "description": "TLS Certificate Key.", - "type": "string", - "x-order": 27 - }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", - "type": "string", - "x-order": 28 - }, - "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": 29 - }, - "auto_discovery_limit": { - "description": "Limit for auto discovery.", - "type": "integer", - "format": "int32", - "x-order": 30 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 31 - }, - "max_exporter_connections": { - "description": "Maximum number of connections that exporter can open to the database instance.", - "type": "integer", - "format": "int32", - "x-order": 32 - } - }, - "x-order": 2 - }, - "proxysql": { - "type": "object", - "properties": { - "node_id": { - "description": "Node identifier on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Node name on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 1 - }, - "add_node": { - "description": "AddNodeParams holds node params and is used to add new node to inventory while adding new service.", - "type": "object", - "properties": { - "node_type": { - "description": "NodeType describes supported Node types.", - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 2 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 3 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 4 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 5 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 6 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 7 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - } - }, - "x-order": 2 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Node and Service access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Service Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "socket": { - "description": "Service Access socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 6 - }, - "pmm_agent_id": { - "description": "The \"pmm-agent\" identifier which should run agents. Required.", - "type": "string", - "x-order": 7 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 8 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 9 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 10 - }, - "username": { - "description": "ProxySQL username for scraping metrics.", - "type": "string", - "x-order": 11 - }, - "password": { - "description": "ProxySQL password for scraping metrics.", - "type": "string", - "x-order": 12 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 14 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 15 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 16 - }, - "metrics_mode": { - "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", - "type": "string", - "default": "METRICS_MODE_UNSPECIFIED", - "enum": [ - "METRICS_MODE_UNSPECIFIED", - "METRICS_MODE_PULL", - "METRICS_MODE_PUSH" - ], - "x-order": 17 - }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 18 - }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", - "type": "string", - "x-order": 19 - }, - "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": 20 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 21 - } - }, - "x-order": 3 - }, - "haproxy": { - "type": "object", - "properties": { - "node_id": { - "description": "Node identifier on which an external exporter is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Node name on which a service and node is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 1 - }, - "add_node": { - "description": "AddNodeParams holds node params and is used to add new node to inventory while adding new service.", - "type": "object", - "properties": { - "node_type": { - "description": "NodeType describes supported Node types.", - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 2 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 3 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 4 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 5 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 6 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 7 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - } - }, - "x-order": 2 - }, - "address": { - "description": "Node and Exporter access address (DNS name or IP).\naddress always should be passed with add_node.", - "type": "string", - "x-order": 3 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 4 - }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 5 - }, - "password": { - "description": "HTTP basic auth password for collecting metrics.", - "type": "string", - "x-order": 6 - }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 7 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", - "type": "string", - "x-order": 8 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 9 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 10 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 11 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 12 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "metrics_mode": { - "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", - "type": "string", - "default": "METRICS_MODE_UNSPECIFIED", - "enum": [ - "METRICS_MODE_UNSPECIFIED", - "METRICS_MODE_PULL", - "METRICS_MODE_PUSH" - ], - "x-order": 14 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 15 - } - }, - "x-order": 4 - }, - "external": { - "type": "object", - "properties": { - "runs_on_node_id": { - "description": "Node identifier on which an external exporter is been running.\nruns_on_node_id should always be passed with node_id.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Node name on which a service and node is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 1 - }, - "add_node": { - "description": "AddNodeParams holds node params and is used to add new node to inventory while adding new service.", - "type": "object", - "properties": { - "node_type": { - "description": "NodeType describes supported Node types.", - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 2 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 3 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 4 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 5 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 6 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 7 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - } - }, - "x-order": 2 - }, - "address": { - "description": "Node and Exporter access address (DNS name or IP).\naddress should always be passed with add_node.", - "type": "string", - "x-order": 3 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 4 - }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 5 - }, - "password": { - "description": "HTTP basic auth password for collecting metrics.", - "type": "string", - "x-order": 6 - }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 7 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", - "type": "string", - "x-order": 8 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 9 - }, - "node_id": { - "description": "Node identifier on which an external service is been running.\nnode_id should always be passed with runs_on_node_id.", - "type": "string", - "x-order": 10 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 11 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 12 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 13 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 14 - }, - "group": { - "description": "Group name of external service.", - "type": "string", - "x-order": 15 - }, - "metrics_mode": { - "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", - "type": "string", - "default": "METRICS_MODE_UNSPECIFIED", - "enum": [ - "METRICS_MODE_UNSPECIFIED", - "METRICS_MODE_PULL", - "METRICS_MODE_PUSH" - ], - "x-order": 16 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 17 - } - }, - "x-order": 5 - }, - "rds": { - "type": "object", - "properties": { - "region": { - "description": "AWS region.", - "type": "string", - "x-order": 0 - }, - "az": { - "description": "AWS availability zone.", - "type": "string", - "x-order": 1 - }, - "instance_id": { - "description": "AWS instance ID.", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "AWS instance class.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Address used to connect to it.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Access port.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "engine": { - "description": "DiscoverRDSEngine describes supported RDS instance engines.", - "type": "string", - "default": "DISCOVER_RDS_ENGINE_UNSPECIFIED", - "enum": [ - "DISCOVER_RDS_ENGINE_UNSPECIFIED", - "DISCOVER_RDS_ENGINE_MYSQL", - "DISCOVER_RDS_ENGINE_POSTGRESQL" - ], - "x-order": 6 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name. Defaults to AWS instance ID.", - "type": "string", - "x-order": 7 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Defaults to AWS instance ID.", - "type": "string", - "x-order": 8 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 9 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 10 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 11 - }, - "username": { - "description": "Username for scraping metrics.", - "type": "string", - "x-order": 12 - }, - "password": { - "description": "Password for scraping metrics.", - "type": "string", - "x-order": 13 - }, - "aws_access_key": { - "description": "AWS Access key.", - "type": "string", - "x-order": 14 - }, - "aws_secret_key": { - "description": "AWS Secret key.", - "type": "string", - "x-order": 15 - }, - "rds_exporter": { - "description": "If true, adds rds_exporter.", - "type": "boolean", - "x-order": 16 - }, - "qan_mysql_perfschema": { - "description": "If true, adds qan-mysql-perfschema-agent.", - "type": "boolean", - "x-order": 17 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node and Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 18 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 19 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 20 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 21 - }, - "disable_query_examples": { - "description": "Disable query examples.", - "type": "boolean", - "x-order": 22 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors will be disabled if there are more than that number of tables.\nIf zero, server's default value is used.\nUse negative value to disable them.", - "type": "integer", - "format": "int32", - "x-order": 23 - }, - "disable_basic_metrics": { - "description": "Disable basic metrics.", - "type": "boolean", - "x-order": 24 - }, - "disable_enhanced_metrics": { - "description": "Disable enhanced metrics.", - "type": "boolean", - "x-order": 25 - }, - "metrics_mode": { - "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", - "type": "string", - "default": "METRICS_MODE_UNSPECIFIED", - "enum": [ - "METRICS_MODE_UNSPECIFIED", - "METRICS_MODE_PULL", - "METRICS_MODE_PUSH" - ], - "x-order": 26 - }, - "qan_postgresql_pgstatements": { - "type": "boolean", - "title": "If true, add qan-pgstatements", - "x-order": 27 - }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", - "type": "string", - "x-order": 28 - }, - "database": { - "description": "Database name.", - "type": "string", - "x-order": 29 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 30 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 31 - }, - "max_postgresql_exporter_connections": { - "description": "Maximum number of exporter connections to PostgreSQL instance.", - "type": "integer", - "format": "int32", - "x-order": 32 - } - }, - "x-order": 6 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "mysql": { - "type": "object", - "properties": { - "service": { - "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 - } - }, - "x-order": 0 - }, - "mysqld_exporter": { - "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 scraping metrics.", - "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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 10 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 11 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 12 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 13 - }, - "table_count": { - "description": "Actual table count at the moment of adding.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "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 finished.\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": 15 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 16 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 17 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 18 - }, - "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": 19 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 20 - }, - "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": 21 - } - }, - "x-order": 1 - }, - "qan_mysql_perfschema": { - "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 performance 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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 11 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 12 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "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 finished.\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": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "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": 16 - } - }, - "x-order": 2 - }, - "qan_mysql_slowlog": { - "description": "QANMySQLSlowlogAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 performance 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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "max_query_length": { - "type": "integer", - "format": "int32", - "title": "Limit query length in QAN (default: server-defined; -1: no limit)", - "x-order": 11 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 12 - }, - "max_slowlog_file_size": { - "description": "Slowlog file is rotated at this size if \u003e 0.", - "type": "string", - "format": "int64", - "x-order": 13 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 14 - }, - "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 finished.\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": 15 - }, - "process_exec_path": { - "type": "string", - "title": "mod tidy", - "x-order": 16 - }, - "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": 17 - } - }, - "x-order": 3 - }, - "table_count": { - "description": "Actual table count at the moment of adding.", - "type": "integer", - "format": "int32", - "x-order": 4 - } - }, - "x-order": 0 - }, - "mongodb": { - "type": "object", - "properties": { - "service": { - "description": "MongoDBService represents a generic MongoDB 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": "MongoDB version.", - "type": "string", - "x-order": 10 - } - }, - "x-order": 0 - }, - "mongodb_exporter": { - "description": "MongoDBExporter runs on Generic or Container Node and exposes MongoDB Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 scraping metrics.", - "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 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "stats_collections": { - "type": "array", - "title": "List of colletions to get stats from. Can use *", - "items": { - "type": "string" - }, - "x-order": 12 - }, - "collections_limit": { - "type": "integer", - "format": "int32", - "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", - "x-order": 13 - }, - "enable_all_collectors": { - "description": "Enable All collectors.", - "type": "boolean", - "x-order": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "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": 16 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 17 - }, - "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": 18 - } - }, - "x-order": 1 - }, - "qan_mongodb_profiler": { - "description": "QANMongoDBProfilerAgent runs within pmm-agent and sends MongoDB Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "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 finished.\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 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 2 - } - }, - "x-order": 1 - }, - "postgresql": { - "type": "object", - "properties": { - "service": { - "description": "PostgreSQLService represents a generic PostgreSQL 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 - }, - "database_name": { - "description": "Database name.", - "type": "string", - "x-order": 2 - }, - "node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 6 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 7 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 8 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "version": { - "description": "PostgreSQL version.", - "type": "string", - "x-order": 11 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 12 - } - }, - "x-order": 0 - }, - "postgres_exporter": { - "description": "PostgresExporter runs on Generic or Container Node and exposes PostgreSQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for scraping metrics.", - "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. Uses sslmode=required instead of verify-full.", - "type": "boolean", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "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": 13 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 15 - }, - "max_exporter_connections": { - "description": "Maximum number of connections that exporter can open to the database instance.", - "type": "integer", - "format": "int32", - "x-order": 16 - }, - "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": 17 - } - }, - "x-order": 1 - }, - "qan_postgresql_pgstatements_agent": { - "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for getting pg stat statements data.", - "type": "string", - "x-order": 4 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 5 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 6 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 7 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "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 finished.\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 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "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": 12 - } - }, - "x-order": 2 - }, - "qan_postgresql_pgstatmonitor_agent": { - "description": "QANPostgreSQLPgStatMonitorAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for getting pg stat monitor 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 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 7 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 8 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "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 finished.\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": 11 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "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": 13 - } - }, - "x-order": 3 - }, - "warning": { - "description": "Warning message.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 2 - }, - "proxysql": { - "type": "object", - "properties": { - "service": { - "description": "ProxySQLService represents a generic ProxySQL 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": "ProxySQL version.", - "type": "string", - "x-order": 10 - } - }, - "x-order": 0 - }, - "proxysql_exporter": { - "description": "ProxySQLExporter runs on Generic or Container Node and exposes ProxySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "ProxySQL username for scraping metrics.", - "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 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "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": 13 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 14 - }, - "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": 15 - } - }, - "x-order": 1 - } - }, - "x-order": 3 - }, - "haproxy": { - "type": "object", - "properties": { - "service": { - "description": "HAProxyService represents a generic HAProxy service 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 service instance runs.", - "type": "string", - "x-order": 2 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - }, - "x-order": 0 - }, - "external_exporter": { - "description": "ExternalExporter runs on any Node type, including Remote Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - }, - "disabled": { - "description": "If disabled, metrics from this exporter will not be collected.", - "type": "boolean", - "x-order": 2 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 3 - }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 4 - }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 5 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", - "type": "string", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 1 - } - }, - "x-order": 4 - }, - "external": { - "type": "object", - "properties": { - "service": { - "description": "ExternalService represents a generic External service 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 service instance runs.", - "type": "string", - "x-order": 2 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "group": { - "description": "Group name of external service.", - "type": "string", - "x-order": 7 - } - }, - "x-order": 0 - }, - "external_exporter": { - "description": "ExternalExporter runs on any Node type, including Remote Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - }, - "disabled": { - "description": "If disabled, metrics from this exporter will not be collected.", - "type": "boolean", - "x-order": 2 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 3 - }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 4 - }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 5 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", - "type": "string", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 1 - } - }, - "x-order": 5 - }, - "rds": { - "type": "object", - "properties": { - "node": { - "description": "RemoteRDSNode represents remote RDS Node. Agents can't run on Remote RDS Nodes.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "DB instance identifier.", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - }, - "x-order": 0 - }, - "rds_exporter": { - "description": "RDSExporter runs on Generic or Container Node and exposes RemoteRDS Node metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 3 - }, - "aws_access_key": { - "description": "AWS Access Key.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - }, - "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 finished.\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": 6 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "basic_metrics_disabled": { - "description": "Basic metrics are disabled.", - "type": "boolean", - "x-order": 8 - }, - "enhanced_metrics_disabled": { - "description": "Enhanced metrics are disabled.", - "type": "boolean", - "x-order": 9 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 10 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "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": 12 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "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": 1 - }, - "mysql": { - "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 - } - }, - "x-order": 2 - }, - "mysqld_exporter": { - "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 scraping metrics.", - "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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 10 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 11 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 12 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 13 - }, - "table_count": { - "description": "Actual table count at the moment of adding.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "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 finished.\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": 15 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 16 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 17 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 18 - }, - "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": 19 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 20 - }, - "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": 21 - } - }, - "x-order": 3 - }, - "qan_mysql_perfschema": { - "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 performance 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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 11 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 12 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "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 finished.\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": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "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": 16 - } - }, - "x-order": 4 - }, - "postgresql": { - "description": "PostgreSQLService represents a generic PostgreSQL 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 - }, - "database_name": { - "description": "Database name.", - "type": "string", - "x-order": 2 - }, - "node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 6 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 7 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 8 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "version": { - "description": "PostgreSQL version.", - "type": "string", - "x-order": 11 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 12 - } - }, - "x-order": 5 - }, - "postgresql_exporter": { - "description": "PostgresExporter runs on Generic or Container Node and exposes PostgreSQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for scraping metrics.", - "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. Uses sslmode=required instead of verify-full.", - "type": "boolean", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "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": 13 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 15 - }, - "max_exporter_connections": { - "description": "Maximum number of connections that exporter can open to the database instance.", - "type": "integer", - "format": "int32", - "x-order": 16 - }, - "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": 17 - } - }, - "x-order": 6 - }, - "qan_postgresql_pgstatements": { - "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for getting pg stat statements data.", - "type": "string", - "x-order": 4 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 5 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 6 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 7 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "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 finished.\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 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "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": 12 - } - }, - "x-order": 7 - } - }, - "x-order": 6 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/management/services/azure": { - "post": { - "description": "Adds an Azure Database instance.", - "tags": [ - "ManagementService" - ], - "summary": "Add Azure Database", - "operationId": "AddAzureDatabase", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "region": { - "description": "Azure database location.", - "type": "string", - "x-order": 0 - }, - "az": { - "description": "Azure database availability zone.", - "type": "string", - "x-order": 1 - }, - "instance_id": { - "description": "Azure database instance ID.", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Represents a purchasable Stock Keeping Unit (SKU) under a product.\nhttps://docs.microsoft.com/en-us/partner-center/develop/product-resources#sku.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Address used to connect to it.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Access port.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name. Defaults to Azure Database instance ID.", - "type": "string", - "x-order": 6 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Defaults to Azure Database instance ID.", - "type": "string", - "x-order": 7 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 8 - }, - "username": { - "description": "Username for scraping metrics.", - "type": "string", - "x-order": 9 - }, - "password": { - "description": "Password for scraping metrics.", - "type": "string", - "x-order": 10 - }, - "azure_client_id": { - "description": "Azure client ID.", - "type": "string", - "x-order": 11 - }, - "azure_client_secret": { - "description": "Azure client secret.", - "type": "string", - "x-order": 12 - }, - "azure_tenant_id": { - "description": "Azure tanant ID.", - "type": "string", - "x-order": 13 - }, - "azure_subscription_id": { - "description": "Azure subscription ID.", - "type": "string", - "x-order": 14 - }, - "azure_resource_group": { - "description": "Azure resource group.", - "type": "string", - "x-order": 15 - }, - "azure_database_exporter": { - "description": "If true, adds azure_database_exporter.", - "type": "boolean", - "x-order": 16 - }, - "qan": { - "description": "If true, adds qan-mysql-perfschema-agent or qan-postgresql-pgstatements-agent.", - "type": "boolean", - "x-order": 17 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node and Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 18 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 19 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 20 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 21 - }, - "disable_query_examples": { - "description": "Disable query examples.", - "type": "boolean", - "x-order": 22 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors will be disabled if there are more than that number of tables.\nIf zero, server's default value is used.\nUse negative value to disable them.", - "type": "integer", - "format": "int32", - "x-order": 23 - }, - "type": { - "description": "DiscoverAzureDatabaseType describes supported Azure Database instance engines.\n\n - DISCOVER_AZURE_DATABASE_TYPE_MYSQL: MySQL type: microsoft.dbformysql or MariaDB type: microsoft.dbformariadb\n - DISCOVER_AZURE_DATABASE_TYPE_POSTGRESQL: PostgreSQL type: microsoft.dbformysql", - "type": "string", - "default": "DISCOVER_AZURE_DATABASE_TYPE_UNSPECIFIED", - "enum": [ - "DISCOVER_AZURE_DATABASE_TYPE_UNSPECIFIED", - "DISCOVER_AZURE_DATABASE_TYPE_MYSQL", - "DISCOVER_AZURE_DATABASE_TYPE_POSTGRESQL" - ], - "x-order": 24 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/management/services/{service_id}": { - "delete": { - "description": "Removes a Service along with its Agents.", - "tags": [ - "ManagementService" - ], - "summary": "Remove a Service", - "operationId": "RemoveServiceMixin3", - "parameters": [ - { - "type": "string", - "description": "Either a Service ID or a Service Name.", - "name": "service_id", - "in": "path", - "required": true - }, - { - "enum": [ - "SERVICE_TYPE_UNSPECIFIED", - "SERVICE_TYPE_MYSQL_SERVICE", - "SERVICE_TYPE_MONGODB_SERVICE", - "SERVICE_TYPE_POSTGRESQL_SERVICE", - "SERVICE_TYPE_PROXYSQL_SERVICE", - "SERVICE_TYPE_HAPROXY_SERVICE", - "SERVICE_TYPE_EXTERNAL_SERVICE" - ], - "type": "string", - "default": "SERVICE_TYPE_UNSPECIFIED", - "description": "Service type.", - "name": "service_type", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/management/services:discoverAzure": { - "post": { - "description": "Discovers Azure Database for MySQL, MariaDB and PostgreSQL Server instances.", - "tags": [ - "ManagementService" - ], - "summary": "Discover Azure Database", - "operationId": "DiscoverAzureDatabase", - "parameters": [ - { - "description": "DiscoverAzureDatabaseRequest discover azure databases request.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "DiscoverAzureDatabaseRequest discover azure databases request.", - "type": "object", - "properties": { - "azure_client_id": { - "description": "Azure client ID.", - "type": "string", - "x-order": 0 - }, - "azure_client_secret": { - "description": "Azure client secret.", - "type": "string", - "x-order": 1 - }, - "azure_tenant_id": { - "description": "Azure tanant ID.", - "type": "string", - "x-order": 2 - }, - "azure_subscription_id": { - "description": "Azure subscription ID.", - "type": "string", - "x-order": 3 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "DiscoverAzureDatabaseResponse discover azure databases response.", - "type": "object", - "properties": { - "azure_database_instance": { - "type": "array", - "items": { - "description": "DiscoverAzureDatabaseInstance models an unique Azure Database instance for the list of instances returned by Discovery.", - "type": "object", - "properties": { - "instance_id": { - "description": "Azure database instance ID.", - "type": "string", - "x-order": 0 - }, - "region": { - "description": "Azure database location.", - "type": "string", - "x-order": 1 - }, - "service_name": { - "description": "Azure database server name.", - "type": "string", - "x-order": 2 - }, - "username": { - "description": "Database username.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Address used to connect to it.", - "type": "string", - "x-order": 4 - }, - "azure_resource_group": { - "description": "Azure Resource group.", - "type": "string", - "x-order": 5 - }, - "environment": { - "description": "Environment tag.", - "type": "string", - "x-order": 6 - }, - "type": { - "description": "DiscoverAzureDatabaseType describes supported Azure Database instance engines.\n\n - DISCOVER_AZURE_DATABASE_TYPE_MYSQL: MySQL type: microsoft.dbformysql or MariaDB type: microsoft.dbformariadb\n - DISCOVER_AZURE_DATABASE_TYPE_POSTGRESQL: PostgreSQL type: microsoft.dbformysql", - "type": "string", - "default": "DISCOVER_AZURE_DATABASE_TYPE_UNSPECIFIED", - "enum": [ - "DISCOVER_AZURE_DATABASE_TYPE_UNSPECIFIED", - "DISCOVER_AZURE_DATABASE_TYPE_MYSQL", - "DISCOVER_AZURE_DATABASE_TYPE_POSTGRESQL" - ], - "x-order": 7 - }, - "az": { - "description": "Azure database availability zone.", - "type": "string", - "x-order": 8 - }, - "node_model": { - "description": "Represents a purchasable Stock Keeping Unit (SKU) under a product.\nhttps://docs.microsoft.com/en-us/partner-center/develop/product-resources#sku.", - "type": "string", - "x-order": 9 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/management/services:discoverRDS": { - "post": { - "description": "Discovers RDS instances.", - "tags": [ - "ManagementService" - ], - "summary": "Discover RDS", - "operationId": "DiscoverRDS", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "aws_access_key": { - "description": "AWS Access key. Optional.", - "type": "string", - "x-order": 0 - }, - "aws_secret_key": { - "description": "AWS Secret key. Optional.", - "type": "string", - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "rds_instances": { - "type": "array", - "items": { - "description": "DiscoverRDSInstance models an unique RDS instance for the list of instances returned by Discovery.", - "type": "object", - "properties": { - "region": { - "description": "AWS region.", - "type": "string", - "x-order": 0 - }, - "az": { - "description": "AWS availability zone.", - "type": "string", - "x-order": 1 - }, - "instance_id": { - "description": "AWS instance ID.", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "AWS instance class.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Address used to connect to it.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Access port.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "engine": { - "description": "DiscoverRDSEngine describes supported RDS instance engines.", - "type": "string", - "default": "DISCOVER_RDS_ENGINE_UNSPECIFIED", - "enum": [ - "DISCOVER_RDS_ENGINE_UNSPECIFIED", - "DISCOVER_RDS_ENGINE_MYSQL", - "DISCOVER_RDS_ENGINE_POSTGRESQL" - ], - "x-order": 6 - }, - "engine_version": { - "description": "Engine version.", - "type": "string", - "x-order": 7 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/platform/contact": { - "get": { - "description": "Fetch the contact details of the customer success employee handling the Percona customer account.", - "tags": [ - "PlatformService" - ], - "summary": "Get Contact Information", - "operationId": "GetContactInformation", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "customer_success": { - "description": "CustomerSuccess contains the contanct details of the customer success employee assigned to a customer's account.", - "type": "object", - "properties": { - "name": { - "type": "string", - "x-order": 0 - }, - "email": { - "type": "string", - "x-order": 1 - } - }, - "x-order": 0 - }, - "new_ticket_url": { - "description": "URL to open a new support ticket.", - "type": "string", - "x-order": 1 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/platform/organization/entitlements": { - "get": { - "description": "Fetch entitlements available to the Portal organization that the PMM server is connected to.", - "tags": [ - "PlatformService" - ], - "summary": "Search Organization Entitlements", - "operationId": "SearchOrganizationEntitlements", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "entitlements": { - "type": "array", - "items": { - "description": "OrganizationEntitlement contains information about Organization entitlement.", - "type": "object", - "properties": { - "number": { - "description": "Entitlement number.", - "type": "string", - "x-order": 0 - }, - "name": { - "description": "Entitlement name.", - "type": "string", - "x-order": 1 - }, - "summary": { - "description": "Entitlement short summary.", - "type": "string", - "x-order": 2 - }, - "tier": { - "description": "Entitlement tier.", - "type": "string", - "x-nullable": true, - "x-order": 3 - }, - "total_units": { - "description": "Total units covered by this entitlement.", - "type": "string", - "x-nullable": true, - "x-order": 4 - }, - "unlimited_units": { - "description": "Flag indicates that unlimited units are covered.", - "type": "boolean", - "x-nullable": true, - "x-order": 5 - }, - "support_level": { - "description": "Support level covered by this entitlement.", - "type": "string", - "x-nullable": true, - "x-order": 6 - }, - "software_families": { - "description": "Percona product families covered by this entitlement.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 7 - }, - "start_date": { - "description": "Entitlement start data.\nNote: only date is used here but not time.", - "type": "string", - "format": "date-time", - "x-order": 8 - }, - "end_date": { - "description": "Entitlement end date.\nNote: only date is used here but not time.", - "type": "string", - "format": "date-time", - "x-order": 9 - }, - "platform": { - "description": "Platform indicates platform specific entitlements.", - "type": "object", - "properties": { - "security_advisor": { - "description": "Flag indicates that security advisors are covered by this entitlement.", - "type": "string", - "x-nullable": true, - "x-order": 0 - }, - "config_advisor": { - "description": "Flag indicates that config advisors are covered by this entitlement.", - "type": "string", - "x-nullable": true, - "x-order": 1 - } - }, - "x-order": 10 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/platform/organization/tickets": { - "get": { - "description": "Fetch support tickets belonging to the Percona Portal Organization that the PMM server is connected to.", - "tags": [ - "PlatformService" - ], - "summary": "Search Organization Tickets", - "operationId": "SearchOrganizationTickets", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "tickets": { - "description": "Support tickets belonging to the Percona Portal Organization.", - "type": "array", - "items": { - "description": "OrganizationTicket contains information about the support ticket.", - "type": "object", - "properties": { - "number": { - "description": "Ticket number.", - "type": "string", - "x-order": 0 - }, - "short_description": { - "description": "Ticket short description.", - "type": "string", - "x-order": 1 - }, - "priority": { - "description": "Ticket priority.", - "type": "string", - "x-order": 2 - }, - "state": { - "description": "Ticket state.", - "type": "string", - "x-order": 3 - }, - "create_time": { - "description": "Ticket creation time.", - "type": "string", - "format": "date-time", - "x-order": 4 - }, - "department": { - "description": "Department.", - "type": "string", - "x-order": 5 - }, - "requester": { - "description": "Ticket requester.", - "type": "string", - "x-order": 6 - }, - "task_type": { - "description": "Task type.", - "type": "string", - "x-order": 7 - }, - "url": { - "description": "Ticket url.", - "type": "string", - "x-order": 8 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/platform/server": { - "get": { - "description": "Return PMM server ID and name.", - "tags": [ - "PlatformService" - ], - "summary": "Get Server Info", - "operationId": "ServerInfo", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "pmm_server_name": { - "type": "string", - "x-order": 0 - }, - "pmm_server_id": { - "type": "string", - "x-order": 1 - }, - "pmm_server_telemetry_id": { - "type": "string", - "x-order": 2 - }, - "connected_to_portal": { - "type": "boolean", - "x-order": 3 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/platform/user": { - "get": { - "description": "Check if the current user is logged in with their Percona Account.", - "tags": [ - "PlatformService" - ], - "summary": "Get User Status", - "operationId": "UserStatus", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "is_platform_user": { - "type": "boolean", - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/platform:connect": { - "post": { - "description": "Connect a PMM server to the organization created on Percona Portal. That allows the user to sign in to the PMM server with their Percona Account.", - "tags": [ - "PlatformService" - ], - "summary": "Connect PMM Server", - "operationId": "Connect", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "server_name": { - "description": "User defined human readable PMM Server Name.", - "type": "string", - "x-order": 0 - }, - "personal_access_token": { - "description": "Personal Access Token that the user obtains from Percona Portal.", - "type": "string", - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/platform:disconnect": { - "post": { - "description": "Disconnect a PMM server from the organization created on Percona Portal.", - "tags": [ - "PlatformService" - ], - "summary": "Disconnect PMM Server", - "operationId": "Disconnect", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "force": { - "type": "boolean", - "title": "Forces the cleanup process for connected PMM instances regardless of the Portal API response", - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/qan/metrics:getFilters": { - "post": { - "description": "Provides a filtered map of metrics names.", - "tags": [ - "QANService" - ], - "summary": "Get Filters", - "operationId": "GetFilteredMetricsNames", - "parameters": [ - { - "description": "GetFilteredMetricsNamesRequest contains period for which we need filters.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "GetFilteredMetricsNamesRequest contains period for which we need filters.", - "type": "object", - "properties": { - "period_start_from": { - "type": "string", - "format": "date-time", - "x-order": 0 - }, - "period_start_to": { - "type": "string", - "format": "date-time", - "x-order": 1 - }, - "main_metric_name": { - "type": "string", - "x-order": 2 - }, - "labels": { - "type": "array", - "items": { - "description": "MapFieldEntry allows to pass labels/dimensions in form like {\"server\": [\"db1\", \"db2\"...]}.", - "type": "object", - "properties": { - "key": { - "type": "string", - "x-order": 0 - }, - "value": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 1 - } - } - }, - "x-order": 3 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "GetFilteredMetricsNamesResponse is map of labels for given period by key.\nKey is label's name and value is label's value and how many times it occur.", - "type": "object", - "properties": { - "labels": { - "type": "object", - "additionalProperties": { - "description": "ListLabels is list of label's values: duplicates are impossible.", - "type": "object", - "properties": { - "name": { - "type": "array", - "items": { - "description": "Values is label values and main metric percent and per second.", - "type": "object", - "properties": { - "value": { - "type": "string", - "x-order": 0 - }, - "main_metric_percent": { - "type": "number", - "format": "float", - "x-order": 1 - }, - "main_metric_per_sec": { - "type": "number", - "format": "float", - "x-order": 2 - } - } - }, - "x-order": 0 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/qan/metrics:getNames": { - "post": { - "description": "Provides a map of all metrics names.", - "tags": [ - "QANService" - ], - "summary": "Get Metrics Names", - "operationId": "GetMetricsNames", - "parameters": [ - { - "description": "MetricsNamesRequest is empty.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "MetricsNamesRequest is empty.", - "type": "object" - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "MetricsNamesReply is map of stored metrics:\nkey is root of metric name in db (Ex:. [m_]query_time[_sum]);\nvalue - Human readable name of metrics.", - "type": "object", - "properties": { - "data": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/qan/metrics:getReport": { - "post": { - "description": "Returns a list of metrics grouped by queryid or other dimensions.", - "tags": [ - "QANService" - ], - "summary": "Get Report", - "operationId": "GetReport", - "parameters": [ - { - "description": "ReportRequest defines filtering of metrics report for db server or other dimentions.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "ReportRequest defines filtering of metrics report for db server or other dimentions.", - "type": "object", - "properties": { - "period_start_from": { - "type": "string", - "format": "date-time", - "x-order": 0 - }, - "period_start_to": { - "type": "string", - "format": "date-time", - "x-order": 1 - }, - "group_by": { - "type": "string", - "x-order": 2 - }, - "labels": { - "type": "array", - "items": { - "description": "ReportMapFieldEntry allows to pass labels/dimentions in form like {\"server\": [\"db1\", \"db2\"...]}.", - "type": "object", - "properties": { - "key": { - "type": "string", - "x-order": 0 - }, - "value": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 1 - } - } - }, - "x-order": 3 - }, - "columns": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 4 - }, - "order_by": { - "type": "string", - "x-order": 5 - }, - "offset": { - "type": "integer", - "format": "int64", - "x-order": 6 - }, - "limit": { - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "main_metric": { - "type": "string", - "x-order": 8 - }, - "search": { - "type": "string", - "x-order": 9 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "ReportReply is list of reports per quieryids, hosts etc.", - "type": "object", - "properties": { - "total_rows": { - "type": "integer", - "format": "int64", - "x-order": 0 - }, - "offset": { - "type": "integer", - "format": "int64", - "x-order": 1 - }, - "limit": { - "type": "integer", - "format": "int64", - "x-order": 2 - }, - "rows": { - "type": "array", - "items": { - "description": "Row define metrics for selected dimention.", - "type": "object", - "properties": { - "rank": { - "type": "integer", - "format": "int64", - "x-order": 0 - }, - "dimension": { - "type": "string", - "x-order": 1 - }, - "database": { - "type": "string", - "x-order": 2 - }, - "metrics": { - "type": "object", - "additionalProperties": { - "description": "Metric cell.", - "type": "object", - "properties": { - "stats": { - "description": "Stat is statistics of specific metric.", - "type": "object", - "properties": { - "rate": { - "type": "number", - "format": "float", - "x-order": 0 - }, - "cnt": { - "type": "number", - "format": "float", - "x-order": 1 - }, - "sum": { - "type": "number", - "format": "float", - "x-order": 2 - }, - "min": { - "type": "number", - "format": "float", - "x-order": 3 - }, - "max": { - "type": "number", - "format": "float", - "x-order": 4 - }, - "p99": { - "type": "number", - "format": "float", - "x-order": 5 - }, - "avg": { - "type": "number", - "format": "float", - "x-order": 6 - }, - "sum_per_sec": { - "type": "number", - "format": "float", - "x-order": 7 - } - }, - "x-order": 0 - } - } - }, - "x-order": 3 - }, - "sparkline": { - "type": "array", - "items": { - "description": "Point contains values that represents abscissa (time) and ordinate (volume etc.)\nof every point in a coordinate system of Sparklines.", - "type": "object", - "properties": { - "point": { - "description": "The serial number of the chart point from the largest time in the time interval to the lowest time in the time range.", - "type": "integer", - "format": "int64", - "x-order": 0 - }, - "time_frame": { - "description": "Duration beetween two points.", - "type": "integer", - "format": "int64", - "x-order": 1 - }, - "timestamp": { - "description": "Time of point in format RFC3339.", - "type": "string", - "x-order": 2 - }, - "load": { - "description": "load is query_time / time_range.", - "type": "number", - "format": "float", - "x-order": 3 - }, - "num_queries_per_sec": { - "description": "number of queries in bucket.", - "type": "number", - "format": "float", - "x-order": 4 - }, - "num_queries_with_errors_per_sec": { - "description": "number of queries with errors.", - "type": "number", - "format": "float", - "x-order": 5 - }, - "num_queries_with_warnings_per_sec": { - "description": "number of queries with warnings.", - "type": "number", - "format": "float", - "x-order": 6 - }, - "m_query_time_sum_per_sec": { - "description": "The statement execution time in seconds.", - "type": "number", - "format": "float", - "x-order": 7 - }, - "m_lock_time_sum_per_sec": { - "description": "The time to acquire locks in seconds.", - "type": "number", - "format": "float", - "x-order": 8 - }, - "m_rows_sent_sum_per_sec": { - "description": "The number of rows sent to the client.", - "type": "number", - "format": "float", - "x-order": 9 - }, - "m_rows_examined_sum_per_sec": { - "description": "Number of rows scanned - SELECT.", - "type": "number", - "format": "float", - "x-order": 10 - }, - "m_rows_affected_sum_per_sec": { - "description": "Number of rows changed - UPDATE, DELETE, INSERT.", - "type": "number", - "format": "float", - "x-order": 11 - }, - "m_rows_read_sum_per_sec": { - "description": "The number of rows read from tables.", - "type": "number", - "format": "float", - "x-order": 12 - }, - "m_merge_passes_sum_per_sec": { - "description": "The number of merge passes that the sort algorithm has had to do.", - "type": "number", - "format": "float", - "x-order": 13 - }, - "m_innodb_io_r_ops_sum_per_sec": { - "description": "Counts the number of page read operations scheduled.", - "type": "number", - "format": "float", - "x-order": 14 - }, - "m_innodb_io_r_bytes_sum_per_sec": { - "description": "Similar to innodb_IO_r_ops, but the unit is bytes.", - "type": "number", - "format": "float", - "x-order": 15 - }, - "m_innodb_io_r_wait_sum_per_sec": { - "description": "Shows how long (in seconds) it took InnoDB to actually read the data from storage.", - "type": "number", - "format": "float", - "x-order": 16 - }, - "m_innodb_rec_lock_wait_sum_per_sec": { - "description": "Shows how long (in seconds) the query waited for row locks.", - "type": "number", - "format": "float", - "x-order": 17 - }, - "m_innodb_queue_wait_sum_per_sec": { - "description": "Shows how long (in seconds) the query spent either waiting to enter the InnoDB queue or inside that queue waiting for execution.", - "type": "number", - "format": "float", - "x-order": 18 - }, - "m_innodb_pages_distinct_sum_per_sec": { - "description": "Counts approximately the number of unique pages the query accessed.", - "type": "number", - "format": "float", - "x-order": 19 - }, - "m_query_length_sum_per_sec": { - "description": "Shows how long the query is.", - "type": "number", - "format": "float", - "x-order": 20 - }, - "m_bytes_sent_sum_per_sec": { - "description": "The number of bytes sent to all clients.", - "type": "number", - "format": "float", - "x-order": 21 - }, - "m_tmp_tables_sum_per_sec": { - "description": "Number of temporary tables created on memory for the query.", - "type": "number", - "format": "float", - "x-order": 22 - }, - "m_tmp_disk_tables_sum_per_sec": { - "description": "Number of temporary tables created on disk for the query.", - "type": "number", - "format": "float", - "x-order": 23 - }, - "m_tmp_table_sizes_sum_per_sec": { - "description": "Total Size in bytes for all temporary tables used in the query.", - "type": "number", - "format": "float", - "x-order": 24 - }, - "m_qc_hit_sum_per_sec": { - "description": "Query Cache hits.", - "type": "number", - "format": "float", - "x-order": 25 - }, - "m_full_scan_sum_per_sec": { - "description": "The query performed a full table scan.", - "type": "number", - "format": "float", - "x-order": 26 - }, - "m_full_join_sum_per_sec": { - "description": "The query performed a full join (a join without indexes).", - "type": "number", - "format": "float", - "x-order": 27 - }, - "m_tmp_table_sum_per_sec": { - "description": "The query created an implicit internal temporary table.", - "type": "number", - "format": "float", - "x-order": 28 - }, - "m_tmp_table_on_disk_sum_per_sec": { - "description": "The querys temporary table was stored on disk.", - "type": "number", - "format": "float", - "x-order": 29 - }, - "m_filesort_sum_per_sec": { - "description": "The query used a filesort.", - "type": "number", - "format": "float", - "x-order": 30 - }, - "m_filesort_on_disk_sum_per_sec": { - "description": "The filesort was performed on disk.", - "type": "number", - "format": "float", - "x-order": 31 - }, - "m_select_full_range_join_sum_per_sec": { - "description": "The number of joins that used a range search on a reference table.", - "type": "number", - "format": "float", - "x-order": 32 - }, - "m_select_range_sum_per_sec": { - "description": "The number of joins that used ranges on the first table.", - "type": "number", - "format": "float", - "x-order": 33 - }, - "m_select_range_check_sum_per_sec": { - "description": "The number of joins without keys that check for key usage after each row.", - "type": "number", - "format": "float", - "x-order": 34 - }, - "m_sort_range_sum_per_sec": { - "description": "The number of sorts that were done using ranges.", - "type": "number", - "format": "float", - "x-order": 35 - }, - "m_sort_rows_sum_per_sec": { - "description": "The number of sorted rows.", - "type": "number", - "format": "float", - "x-order": 36 - }, - "m_sort_scan_sum_per_sec": { - "description": "The number of sorts that were done by scanning the table.", - "type": "number", - "format": "float", - "x-order": 37 - }, - "m_no_index_used_sum_per_sec": { - "description": "The number of queries without index.", - "type": "number", - "format": "float", - "x-order": 38 - }, - "m_no_good_index_used_sum_per_sec": { - "description": "The number of queries without good index.", - "type": "number", - "format": "float", - "x-order": 39 - }, - "m_docs_returned_sum_per_sec": { - "description": "The number of returned documents.", - "type": "number", - "format": "float", - "x-order": 40 - }, - "m_response_length_sum_per_sec": { - "description": "The response length of the query result in bytes.", - "type": "number", - "format": "float", - "x-order": 41 - }, - "m_docs_scanned_sum_per_sec": { - "description": "The number of scanned documents.", - "type": "number", - "format": "float", - "x-order": 42 - }, - "m_shared_blks_hit_sum_per_sec": { - "description": "Total number of shared block cache hits by the statement.", - "type": "number", - "format": "float", - "x-order": 43 - }, - "m_shared_blks_read_sum_per_sec": { - "description": "Total number of shared blocks read by the statement.", - "type": "number", - "format": "float", - "x-order": 44 - }, - "m_shared_blks_dirtied_sum_per_sec": { - "description": "Total number of shared blocks dirtied by the statement.", - "type": "number", - "format": "float", - "x-order": 45 - }, - "m_shared_blks_written_sum_per_sec": { - "description": "Total number of shared blocks written by the statement.", - "type": "number", - "format": "float", - "x-order": 46 - }, - "m_local_blks_hit_sum_per_sec": { - "description": "Total number of local block cache hits by the statement.", - "type": "number", - "format": "float", - "x-order": 47 - }, - "m_local_blks_read_sum_per_sec": { - "description": "Total number of local blocks read by the statement.", - "type": "number", - "format": "float", - "x-order": 48 - }, - "m_local_blks_dirtied_sum_per_sec": { - "description": "Total number of local blocks dirtied by the statement.", - "type": "number", - "format": "float", - "x-order": 49 - }, - "m_local_blks_written_sum_per_sec": { - "description": "Total number of local blocks written by the statement.", - "type": "number", - "format": "float", - "x-order": 50 - }, - "m_temp_blks_read_sum_per_sec": { - "description": "Total number of temp blocks read by the statement.", - "type": "number", - "format": "float", - "x-order": 51 - }, - "m_temp_blks_written_sum_per_sec": { - "description": "Total number of temp blocks written by the statement.", - "type": "number", - "format": "float", - "x-order": 52 - }, - "m_blk_read_time_sum_per_sec": { - "description": "Total time the statement spent reading blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", - "type": "number", - "format": "float", - "x-order": 53 - }, - "m_blk_write_time_sum_per_sec": { - "description": "Total time the statement spent writing blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", - "type": "number", - "format": "float", - "x-order": 54 - }, - "m_cpu_user_time_sum_per_sec": { - "description": "Total time user spent in query.", - "type": "number", - "format": "float", - "x-order": 55 - }, - "m_cpu_sys_time_sum_per_sec": { - "description": "Total time system spent in query.", - "type": "number", - "format": "float", - "x-order": 56 - }, - "m_plans_calls_sum_per_sec": { - "description": "Total number of planned calls.", - "type": "number", - "format": "float", - "x-order": 57 - }, - "m_wal_records_sum_per_sec": { - "description": "Total number of WAL (Write-ahead logging) records.", - "type": "number", - "format": "float", - "x-order": 58 - }, - "m_wal_fpi_sum_per_sec": { - "description": "Total number of FPI (full page images) in WAL (Write-ahead logging) records.", - "type": "number", - "format": "float", - "x-order": 59 - }, - "m_wal_bytes_sum_per_sec": { - "description": "Total bytes of WAL (Write-ahead logging) records.", - "type": "number", - "format": "float", - "x-order": 60 - }, - "m_plan_time_sum_per_sec": { - "description": "Plan time in per seconds.", - "type": "number", - "format": "float", - "x-order": 61 - } - } - }, - "x-order": 4 - }, - "fingerprint": { - "type": "string", - "x-order": 5 - }, - "num_queries": { - "type": "integer", - "format": "int64", - "x-order": 6 - }, - "qps": { - "type": "number", - "format": "float", - "x-order": 7 - }, - "load": { - "type": "number", - "format": "float", - "x-order": 8 - } - } - }, - "x-order": 3 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/qan/query/{queryid}/plan": { - "get": { - "description": "Provides a query plan and plan id for specific filtering.", - "tags": [ - "QANService" - ], - "summary": "Get Query Plan", - "operationId": "GetQueryPlan", - "parameters": [ - { - "type": "string", - "name": "queryid", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "GetQueryPlanResponse contains planid and query_plan.", - "type": "object", - "properties": { - "planid": { - "type": "string", - "x-order": 0 - }, - "query_plan": { - "type": "string", - "x-order": 1 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/qan/query:exists": { - "post": { - "description": "Checks if query exists in clickhouse.", - "tags": [ - "QANService" - ], - "summary": "Check Query Existence", - "operationId": "QueryExists", - "parameters": [ - { - "description": "QueryExistsRequest check if provided query exists or not.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "QueryExistsRequest check if provided query exists or not.", - "type": "object", - "properties": { - "serviceid": { - "type": "string", - "x-order": 0 - }, - "query": { - "type": "string", - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "QueryExistsResponse returns true if query exists.", - "type": "object", - "properties": { - "exists": { - "type": "boolean", - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/qan/query:getExample": { - "post": { - "description": "Provides a list of query examples.", - "tags": [ - "QANService" - ], - "summary": "Get Query Example", - "operationId": "GetQueryExample", - "parameters": [ - { - "description": "GetQueryExampleRequest defines filtering of query examples for specific value of\ndimension (ex.: host=hostname1 or queryid=1D410B4BE5060972.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "GetQueryExampleRequest defines filtering of query examples for specific value of\ndimension (ex.: host=hostname1 or queryid=1D410B4BE5060972.", - "type": "object", - "properties": { - "period_start_from": { - "type": "string", - "format": "date-time", - "x-order": 0 - }, - "period_start_to": { - "type": "string", - "format": "date-time", - "x-order": 1 - }, - "filter_by": { - "description": "dimension value: ex: queryid - 1D410B4BE5060972.", - "type": "string", - "x-order": 2 - }, - "group_by": { - "description": "one of dimension: queryid | host ...", - "type": "string", - "x-order": 3 - }, - "labels": { - "type": "array", - "items": { - "description": "MapFieldEntry allows to pass labels/dimensions in form like {\"server\": [\"db1\", \"db2\"...]}.", - "type": "object", - "properties": { - "key": { - "type": "string", - "x-order": 0 - }, - "value": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 1 - } - } - }, - "x-order": 4 - }, - "limit": { - "type": "integer", - "format": "int64", - "x-order": 5 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "GetQueryExampleResponse list of query examples.", - "type": "object", - "properties": { - "query_examples": { - "type": "array", - "items": { - "description": "QueryExample shows query examples and their metrics.", - "type": "object", - "properties": { - "example": { - "type": "string", - "x-order": 0 - }, - "example_type": { - "description": "ExampleType is a type of query example selected for this query class in given period of time.", - "type": "string", - "default": "EXAMPLE_TYPE_UNSPECIFIED", - "enum": [ - "EXAMPLE_TYPE_UNSPECIFIED", - "EXAMPLE_TYPE_RANDOM", - "EXAMPLE_TYPE_SLOWEST", - "EXAMPLE_TYPE_FASTEST", - "EXAMPLE_TYPE_WITH_ERROR" - ], - "x-order": 1 - }, - "is_truncated": { - "type": "integer", - "format": "int64", - "x-order": 2 - }, - "placeholders_count": { - "type": "integer", - "format": "int64", - "x-order": 3 - }, - "explain_fingerprint": { - "type": "string", - "x-order": 4 - }, - "query_id": { - "type": "string", - "x-order": 5 - }, - "example_metrics": { - "type": "string", - "x-order": 6 - }, - "service_id": { - "type": "string", - "x-order": 7 - }, - "service_type": { - "type": "string", - "x-order": 8 - }, - "schema": { - "type": "string", - "x-order": 9 - }, - "tables": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 10 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/qan/query:getSchema": { - "post": { - "description": "Provides the schema for a given queryID and serviceID.", - "tags": [ - "QANService" - ], - "summary": "Get Schema", - "operationId": "SchemaByQueryID", - "parameters": [ - { - "description": "SchemaByQueryIDRequest returns schema for given query ID and service ID.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "SchemaByQueryIDRequest returns schema for given query ID and service ID.", - "type": "object", - "properties": { - "service_id": { - "type": "string", - "x-order": 0 - }, - "query_id": { - "type": "string", - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "SchemaByQueryIDResponse is schema for given query ID and service ID.", - "type": "object", - "properties": { - "schema": { - "type": "string", - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/qan:explainFingerprint": { - "post": { - "description": "Provides an explain fingerprint for given query ID.", - "tags": [ - "QANService" - ], - "summary": "Get Explain Fingerprint", - "operationId": "ExplainFingerprintByQueryID", - "parameters": [ - { - "description": "ExplainFingerprintByQueryIDRequest get explain fingerprint for given query ID.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "ExplainFingerprintByQueryIDRequest get explain fingerprint for given query ID.", - "type": "object", - "properties": { - "serviceid": { - "type": "string", - "x-order": 0 - }, - "query_id": { - "type": "string", - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "ExplainFingerprintByQueryIDResponse is explain fingerprint and placeholders count for given query ID.", - "type": "object", - "properties": { - "explain_fingerprint": { - "type": "string", - "x-order": 0 - }, - "placeholders_count": { - "type": "integer", - "format": "int64", - "x-order": 1 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/qan:getHistogram": { - "post": { - "description": "Provides histogram items for specific filtering.", - "tags": [ - "QANService" - ], - "summary": "Get Histogram", - "operationId": "GetHistogram", - "parameters": [ - { - "description": "GetHistogramRequest defines filtering by time range, labels and queryid.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "GetHistogramRequest defines filtering by time range, labels and queryid.", - "type": "object", - "properties": { - "period_start_from": { - "type": "string", - "format": "date-time", - "x-order": 0 - }, - "period_start_to": { - "type": "string", - "format": "date-time", - "x-order": 1 - }, - "labels": { - "type": "array", - "items": { - "description": "MapFieldEntry allows to pass labels/dimensions in form like {\"server\": [\"db1\", \"db2\"...]}.", - "type": "object", - "properties": { - "key": { - "type": "string", - "x-order": 0 - }, - "value": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 1 - } - } - }, - "x-order": 2 - }, - "queryid": { - "type": "string", - "x-order": 3 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "GetHistogramResponse is histogram items as a list.", - "type": "object", - "properties": { - "histogram_items": { - "type": "array", - "items": { - "description": "HistogramItem represents one item in histogram.", - "type": "object", - "properties": { - "range": { - "type": "string", - "x-order": 0 - }, - "frequency": { - "type": "integer", - "format": "int64", - "x-order": 1 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/qan:getLabels": { - "post": { - "description": "Provides a list of labels for object details.", - "tags": [ - "QANService" - ], - "summary": "Get Labels", - "operationId": "GetLabels", - "parameters": [ - { - "description": "GetLabelsRequest defines filtering of object detail's labels for specific value of\ndimension (ex.: host=hostname1 or queryid=1D410B4BE5060972.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "GetLabelsRequest defines filtering of object detail's labels for specific value of\ndimension (ex.: host=hostname1 or queryid=1D410B4BE5060972.", - "type": "object", - "properties": { - "period_start_from": { - "type": "string", - "format": "date-time", - "x-order": 0 - }, - "period_start_to": { - "type": "string", - "format": "date-time", - "x-order": 1 - }, - "filter_by": { - "description": "dimension value: ex: queryid - 1D410B4BE5060972.", - "type": "string", - "x-order": 2 - }, - "group_by": { - "description": "one of dimension: queryid | host ...", - "type": "string", - "x-order": 3 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "GetLabelsResponse is a map of labels names as keys and labels values as a list.", - "type": "object", - "properties": { - "labels": { - "type": "object", - "additionalProperties": { - "description": "ListLabelValues is list of label's values.", - "type": "object", - "properties": { - "values": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 0 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/qan:getMetrics": { - "post": { - "description": "Provides a map of metrics for specific filtering.", - "tags": [ - "QANService" - ], - "summary": "Get Metrics", - "operationId": "GetMetrics", - "parameters": [ - { - "description": "GetMetricsRequest defines filtering of metrics for specific value of dimension (ex.: host=hostname1 or queryid=1D410B4BE5060972.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "GetMetricsRequest defines filtering of metrics for specific value of dimension (ex.: host=hostname1 or queryid=1D410B4BE5060972.", - "type": "object", - "properties": { - "period_start_from": { - "type": "string", - "format": "date-time", - "x-order": 0 - }, - "period_start_to": { - "type": "string", - "format": "date-time", - "x-order": 1 - }, - "filter_by": { - "description": "dimension value: ex: queryid - 1D410B4BE5060972.", - "type": "string", - "x-order": 2 - }, - "group_by": { - "description": "one of dimension: queryid | host ...", - "type": "string", - "x-order": 3 - }, - "labels": { - "type": "array", - "items": { - "description": "MapFieldEntry allows to pass labels/dimensions in form like {\"server\": [\"db1\", \"db2\"...]}.", - "type": "object", - "properties": { - "key": { - "type": "string", - "x-order": 0 - }, - "value": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 1 - } - } - }, - "x-order": 4 - }, - "include_only_fields": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 5 - }, - "totals": { - "type": "boolean", - "title": "retrieve only values for totals, excluding N/A values", - "x-order": 6 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "GetMetricsResponse defines metrics for specific value of dimension (ex.: host=hostname1 or queryid=1D410B4BE5060972.", - "type": "object", - "properties": { - "metrics": { - "type": "object", - "additionalProperties": { - "description": "MetricValues is statistics of specific metric.", - "type": "object", - "properties": { - "rate": { - "type": "number", - "format": "float", - "x-order": 0 - }, - "cnt": { - "type": "number", - "format": "float", - "x-order": 1 - }, - "sum": { - "type": "number", - "format": "float", - "x-order": 2 - }, - "min": { - "type": "number", - "format": "float", - "x-order": 3 - }, - "max": { - "type": "number", - "format": "float", - "x-order": 4 - }, - "avg": { - "type": "number", - "format": "float", - "x-order": 5 - }, - "p99": { - "type": "number", - "format": "float", - "x-order": 6 - }, - "percent_of_total": { - "type": "number", - "format": "float", - "x-order": 7 - } - } - }, - "x-order": 0 - }, - "text_metrics": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 1 - }, - "sparkline": { - "type": "array", - "items": { - "description": "Point contains values that represents abscissa (time) and ordinate (volume etc.)\nof every point in a coordinate system of Sparklines.", - "type": "object", - "properties": { - "point": { - "description": "The serial number of the chart point from the largest time in the time interval to the lowest time in the time range.", - "type": "integer", - "format": "int64", - "x-order": 0 - }, - "time_frame": { - "description": "Duration beetween two points.", - "type": "integer", - "format": "int64", - "x-order": 1 - }, - "timestamp": { - "description": "Time of point in format RFC3339.", - "type": "string", - "x-order": 2 - }, - "load": { - "description": "load is query_time / time_range.", - "type": "number", - "format": "float", - "x-order": 3 - }, - "num_queries_per_sec": { - "description": "number of queries in bucket.", - "type": "number", - "format": "float", - "x-order": 4 - }, - "num_queries_with_errors_per_sec": { - "description": "number of queries with errors.", - "type": "number", - "format": "float", - "x-order": 5 - }, - "num_queries_with_warnings_per_sec": { - "description": "number of queries with warnings.", - "type": "number", - "format": "float", - "x-order": 6 - }, - "m_query_time_sum_per_sec": { - "description": "The statement execution time in seconds.", - "type": "number", - "format": "float", - "x-order": 7 - }, - "m_lock_time_sum_per_sec": { - "description": "The time to acquire locks in seconds.", - "type": "number", - "format": "float", - "x-order": 8 - }, - "m_rows_sent_sum_per_sec": { - "description": "The number of rows sent to the client.", - "type": "number", - "format": "float", - "x-order": 9 - }, - "m_rows_examined_sum_per_sec": { - "description": "Number of rows scanned - SELECT.", - "type": "number", - "format": "float", - "x-order": 10 - }, - "m_rows_affected_sum_per_sec": { - "description": "Number of rows changed - UPDATE, DELETE, INSERT.", - "type": "number", - "format": "float", - "x-order": 11 - }, - "m_rows_read_sum_per_sec": { - "description": "The number of rows read from tables.", - "type": "number", - "format": "float", - "x-order": 12 - }, - "m_merge_passes_sum_per_sec": { - "description": "The number of merge passes that the sort algorithm has had to do.", - "type": "number", - "format": "float", - "x-order": 13 - }, - "m_innodb_io_r_ops_sum_per_sec": { - "description": "Counts the number of page read operations scheduled.", - "type": "number", - "format": "float", - "x-order": 14 - }, - "m_innodb_io_r_bytes_sum_per_sec": { - "description": "Similar to innodb_IO_r_ops, but the unit is bytes.", - "type": "number", - "format": "float", - "x-order": 15 - }, - "m_innodb_io_r_wait_sum_per_sec": { - "description": "Shows how long (in seconds) it took InnoDB to actually read the data from storage.", - "type": "number", - "format": "float", - "x-order": 16 - }, - "m_innodb_rec_lock_wait_sum_per_sec": { - "description": "Shows how long (in seconds) the query waited for row locks.", - "type": "number", - "format": "float", - "x-order": 17 - }, - "m_innodb_queue_wait_sum_per_sec": { - "description": "Shows how long (in seconds) the query spent either waiting to enter the InnoDB queue or inside that queue waiting for execution.", - "type": "number", - "format": "float", - "x-order": 18 - }, - "m_innodb_pages_distinct_sum_per_sec": { - "description": "Counts approximately the number of unique pages the query accessed.", - "type": "number", - "format": "float", - "x-order": 19 - }, - "m_query_length_sum_per_sec": { - "description": "Shows how long the query is.", - "type": "number", - "format": "float", - "x-order": 20 - }, - "m_bytes_sent_sum_per_sec": { - "description": "The number of bytes sent to all clients.", - "type": "number", - "format": "float", - "x-order": 21 - }, - "m_tmp_tables_sum_per_sec": { - "description": "Number of temporary tables created on memory for the query.", - "type": "number", - "format": "float", - "x-order": 22 - }, - "m_tmp_disk_tables_sum_per_sec": { - "description": "Number of temporary tables created on disk for the query.", - "type": "number", - "format": "float", - "x-order": 23 - }, - "m_tmp_table_sizes_sum_per_sec": { - "description": "Total Size in bytes for all temporary tables used in the query.", - "type": "number", - "format": "float", - "x-order": 24 - }, - "m_qc_hit_sum_per_sec": { - "description": "Query Cache hits.", - "type": "number", - "format": "float", - "x-order": 25 - }, - "m_full_scan_sum_per_sec": { - "description": "The query performed a full table scan.", - "type": "number", - "format": "float", - "x-order": 26 - }, - "m_full_join_sum_per_sec": { - "description": "The query performed a full join (a join without indexes).", - "type": "number", - "format": "float", - "x-order": 27 - }, - "m_tmp_table_sum_per_sec": { - "description": "The query created an implicit internal temporary table.", - "type": "number", - "format": "float", - "x-order": 28 - }, - "m_tmp_table_on_disk_sum_per_sec": { - "description": "The querys temporary table was stored on disk.", - "type": "number", - "format": "float", - "x-order": 29 - }, - "m_filesort_sum_per_sec": { - "description": "The query used a filesort.", - "type": "number", - "format": "float", - "x-order": 30 - }, - "m_filesort_on_disk_sum_per_sec": { - "description": "The filesort was performed on disk.", - "type": "number", - "format": "float", - "x-order": 31 - }, - "m_select_full_range_join_sum_per_sec": { - "description": "The number of joins that used a range search on a reference table.", - "type": "number", - "format": "float", - "x-order": 32 - }, - "m_select_range_sum_per_sec": { - "description": "The number of joins that used ranges on the first table.", - "type": "number", - "format": "float", - "x-order": 33 - }, - "m_select_range_check_sum_per_sec": { - "description": "The number of joins without keys that check for key usage after each row.", - "type": "number", - "format": "float", - "x-order": 34 - }, - "m_sort_range_sum_per_sec": { - "description": "The number of sorts that were done using ranges.", - "type": "number", - "format": "float", - "x-order": 35 - }, - "m_sort_rows_sum_per_sec": { - "description": "The number of sorted rows.", - "type": "number", - "format": "float", - "x-order": 36 - }, - "m_sort_scan_sum_per_sec": { - "description": "The number of sorts that were done by scanning the table.", - "type": "number", - "format": "float", - "x-order": 37 - }, - "m_no_index_used_sum_per_sec": { - "description": "The number of queries without index.", - "type": "number", - "format": "float", - "x-order": 38 - }, - "m_no_good_index_used_sum_per_sec": { - "description": "The number of queries without good index.", - "type": "number", - "format": "float", - "x-order": 39 - }, - "m_docs_returned_sum_per_sec": { - "description": "The number of returned documents.", - "type": "number", - "format": "float", - "x-order": 40 - }, - "m_response_length_sum_per_sec": { - "description": "The response length of the query result in bytes.", - "type": "number", - "format": "float", - "x-order": 41 - }, - "m_docs_scanned_sum_per_sec": { - "description": "The number of scanned documents.", - "type": "number", - "format": "float", - "x-order": 42 - }, - "m_shared_blks_hit_sum_per_sec": { - "description": "Total number of shared block cache hits by the statement.", - "type": "number", - "format": "float", - "x-order": 43 - }, - "m_shared_blks_read_sum_per_sec": { - "description": "Total number of shared blocks read by the statement.", - "type": "number", - "format": "float", - "x-order": 44 - }, - "m_shared_blks_dirtied_sum_per_sec": { - "description": "Total number of shared blocks dirtied by the statement.", - "type": "number", - "format": "float", - "x-order": 45 - }, - "m_shared_blks_written_sum_per_sec": { - "description": "Total number of shared blocks written by the statement.", - "type": "number", - "format": "float", - "x-order": 46 - }, - "m_local_blks_hit_sum_per_sec": { - "description": "Total number of local block cache hits by the statement.", - "type": "number", - "format": "float", - "x-order": 47 - }, - "m_local_blks_read_sum_per_sec": { - "description": "Total number of local blocks read by the statement.", - "type": "number", - "format": "float", - "x-order": 48 - }, - "m_local_blks_dirtied_sum_per_sec": { - "description": "Total number of local blocks dirtied by the statement.", - "type": "number", - "format": "float", - "x-order": 49 - }, - "m_local_blks_written_sum_per_sec": { - "description": "Total number of local blocks written by the statement.", - "type": "number", - "format": "float", - "x-order": 50 - }, - "m_temp_blks_read_sum_per_sec": { - "description": "Total number of temp blocks read by the statement.", - "type": "number", - "format": "float", - "x-order": 51 - }, - "m_temp_blks_written_sum_per_sec": { - "description": "Total number of temp blocks written by the statement.", - "type": "number", - "format": "float", - "x-order": 52 - }, - "m_blk_read_time_sum_per_sec": { - "description": "Total time the statement spent reading blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", - "type": "number", - "format": "float", - "x-order": 53 - }, - "m_blk_write_time_sum_per_sec": { - "description": "Total time the statement spent writing blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", - "type": "number", - "format": "float", - "x-order": 54 - }, - "m_cpu_user_time_sum_per_sec": { - "description": "Total time user spent in query.", - "type": "number", - "format": "float", - "x-order": 55 - }, - "m_cpu_sys_time_sum_per_sec": { - "description": "Total time system spent in query.", - "type": "number", - "format": "float", - "x-order": 56 - }, - "m_plans_calls_sum_per_sec": { - "description": "Total number of planned calls.", - "type": "number", - "format": "float", - "x-order": 57 - }, - "m_wal_records_sum_per_sec": { - "description": "Total number of WAL (Write-ahead logging) records.", - "type": "number", - "format": "float", - "x-order": 58 - }, - "m_wal_fpi_sum_per_sec": { - "description": "Total number of FPI (full page images) in WAL (Write-ahead logging) records.", - "type": "number", - "format": "float", - "x-order": 59 - }, - "m_wal_bytes_sum_per_sec": { - "description": "Total bytes of WAL (Write-ahead logging) records.", - "type": "number", - "format": "float", - "x-order": 60 - }, - "m_plan_time_sum_per_sec": { - "description": "Plan time in per seconds.", - "type": "number", - "format": "float", - "x-order": 61 - } - } - }, - "x-order": 2 - }, - "totals": { - "type": "object", - "additionalProperties": { - "description": "MetricValues is statistics of specific metric.", - "type": "object", - "properties": { - "rate": { - "type": "number", - "format": "float", - "x-order": 0 - }, - "cnt": { - "type": "number", - "format": "float", - "x-order": 1 - }, - "sum": { - "type": "number", - "format": "float", - "x-order": 2 - }, - "min": { - "type": "number", - "format": "float", - "x-order": 3 - }, - "max": { - "type": "number", - "format": "float", - "x-order": 4 - }, - "avg": { - "type": "number", - "format": "float", - "x-order": 5 - }, - "p99": { - "type": "number", - "format": "float", - "x-order": 6 - }, - "percent_of_total": { - "type": "number", - "format": "float", - "x-order": 7 - } - } - }, - "x-order": 3 - }, - "fingerprint": { - "type": "string", - "x-order": 4 - }, - "metadata": { - "description": "GetSlecetedQueryMetadataResponse consists selected query metadata to show in details for given query ID.", - "type": "object", - "properties": { - "service_name": { - "type": "string", - "x-order": 0 - }, - "database": { - "type": "string", - "x-order": 1 - }, - "schema": { - "type": "string", - "x-order": 2 - }, - "username": { - "type": "string", - "x-order": 3 - }, - "replication_set": { - "type": "string", - "x-order": 4 - }, - "cluster": { - "type": "string", - "x-order": 5 - }, - "service_type": { - "type": "string", - "x-order": 6 - }, - "service_id": { - "type": "string", - "x-order": 7 - }, - "environment": { - "type": "string", - "x-order": 8 - }, - "node_id": { - "type": "string", - "x-order": 9 - }, - "node_name": { - "type": "string", - "x-order": 10 - }, - "node_type": { - "type": "string", - "x-order": 11 - } - }, - "x-order": 5 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/server/leaderHealthCheck": { - "get": { - "description": "Checks if the instance is the leader in a cluster. Returns an error if the instance isn't the leader.", - "tags": [ - "ServerService" - ], - "summary": "Check Leadership", - "operationId": "LeaderHealthCheck", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "This probe is available without authentication, so it should not contain any data.", - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "type": "object", - "properties": { - "@type": { - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.", - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/server/logs.zip": { - "get": { - "description": "Returns the PMM Server logs.", - "produces": [ - "application/zip" - ], - "tags": [ - "ServerService" - ], - "summary": "Logs", - "operationId": "Logs", - "parameters": [ - { - "type": "boolean", - "description": "Include performance profiling data,", - "name": "pprof", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "file" - } - }, - "default": { - "description": "An error response.", - "schema": { - "description": "ErrorResponse is a message returned on HTTP error.", - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32" - }, - "error": { - "type": "string" - }, - "message": { - "type": "string" - } - } - } - } - } - } - }, - "/v1/server/readyz": { - "get": { - "description": "Returns an error when Server components being restarted are not ready yet. Use this API for checking the health of Docker containers and for probing Kubernetes readiness.", - "tags": [ - "ServerService" - ], - "summary": "Check server readiness", - "operationId": "Readiness", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "This probe is available without authentication, so it should not contain any data.", - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "type": "object", - "properties": { - "@type": { - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.", - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/server/settings": { - "get": { - "description": "Returns current PMM Server settings.", - "tags": [ - "ServerService" - ], - "summary": "Get settings", - "operationId": "GetSettings", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "settings": { - "description": "Settings represents PMM Server settings.", - "type": "object", - "properties": { - "updates_enabled": { - "description": "True if updates are enabled.", - "type": "boolean", - "x-order": 0 - }, - "telemetry_enabled": { - "description": "True if telemetry is enabled.", - "type": "boolean", - "x-order": 1 - }, - "metrics_resolutions": { - "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", - "type": "object", - "properties": { - "hr": { - "description": "High resolution. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 0 - }, - "mr": { - "description": "Medium resolution. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 1 - }, - "lr": { - "description": "Low resolution. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 2 - }, - "data_retention": { - "type": "string", - "x-order": 3 - }, - "ssh_key": { - "type": "string", - "x-order": 4 - }, - "aws_partitions": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 5 - }, - "advisor_enabled": { - "description": "True if Advisor is enabled.", - "type": "boolean", - "x-order": 6 - }, - "platform_email": { - "description": "Percona Platform user's email, if this PMM instance is linked to the Platform.", - "type": "string", - "x-order": 7 - }, - "alerting_enabled": { - "description": "True if Alerting is enabled.", - "type": "boolean", - "x-order": 8 - }, - "pmm_public_address": { - "description": "PMM Server public address.", - "type": "string", - "x-order": 9 - }, - "advisor_run_intervals": { - "description": "AdvisorRunIntervals represents intervals between each run of Advisor checks.", - "type": "object", - "properties": { - "standard_interval": { - "description": "Standard check interval.", - "type": "string", - "x-order": 0 - }, - "rare_interval": { - "description": "Interval for rare check runs.", - "type": "string", - "x-order": 1 - }, - "frequent_interval": { - "description": "Interval for frequent check runs.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 10 - }, - "backup_management_enabled": { - "description": "True if Backup Management is enabled.", - "type": "boolean", - "x-order": 11 - }, - "azurediscover_enabled": { - "description": "True if Azure Discover is enabled.", - "type": "boolean", - "x-order": 12 - }, - "connected_to_platform": { - "type": "boolean", - "title": "True if the PMM instance is connected to Platform", - "x-order": 13 - }, - "telemetry_summaries": { - "type": "array", - "title": "Includes list of collected telemetry", - "items": { - "type": "string" - }, - "x-order": 14 - }, - "enable_access_control": { - "description": "True if Access Control is enabled.", - "type": "boolean", - "x-order": 15 - }, - "default_role_id": { - "description": "Default Access Control role ID for new users.", - "type": "integer", - "format": "int64", - "x-order": 16 - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "type": "object", - "properties": { - "@type": { - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.", - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "put": { - "description": "Changes PMM Server settings.", - "tags": [ - "ServerService" - ], - "summary": "Change settings", - "operationId": "ChangeSettings", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "enable_updates": { - "type": "boolean", - "x-nullable": true, - "x-order": 0 - }, - "enable_telemetry": { - "type": "boolean", - "x-nullable": true, - "x-order": 1 - }, - "metrics_resolutions": { - "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", - "type": "object", - "properties": { - "hr": { - "description": "High resolution. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 0 - }, - "mr": { - "description": "Medium resolution. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 1 - }, - "lr": { - "description": "Low resolution. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 2 - }, - "data_retention": { - "description": "A number of full days for Prometheus and QAN data retention. Should have a suffix in JSON: 2592000s, 43200m, 720h.", - "type": "string", - "x-order": 3 - }, - "ssh_key": { - "type": "string", - "x-nullable": true, - "x-order": 4 - }, - "aws_partitions": { - "description": "A wrapper for a string array. This type allows to distinguish between an empty array and a null value.", - "type": "object", - "properties": { - "values": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 0 - } - }, - "x-nullable": true, - "x-order": 5 - }, - "enable_advisor": { - "description": "Enable Advisor.", - "type": "boolean", - "x-nullable": true, - "x-order": 6 - }, - "enable_alerting": { - "description": "Enable Alerting.", - "type": "boolean", - "x-nullable": true, - "x-order": 7 - }, - "pmm_public_address": { - "description": "PMM Server public address.", - "type": "string", - "x-nullable": true, - "x-order": 8 - }, - "advisor_run_intervals": { - "description": "AdvisorRunIntervals represents intervals between each run of Advisor checks.", - "type": "object", - "properties": { - "standard_interval": { - "description": "Standard check interval.", - "type": "string", - "x-order": 0 - }, - "rare_interval": { - "description": "Interval for rare check runs.", - "type": "string", - "x-order": 1 - }, - "frequent_interval": { - "description": "Interval for frequent check runs.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 9 - }, - "enable_azurediscover": { - "description": "Enable Azure Discover.", - "type": "boolean", - "x-nullable": true, - "x-order": 10 - }, - "enable_backup_management": { - "description": "Enable Backup Management.", - "type": "boolean", - "x-nullable": true, - "x-order": 11 - }, - "enable_access_control": { - "type": "boolean", - "title": "Enable Access Control", - "x-nullable": true, - "x-order": 12 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "settings": { - "description": "Settings represents PMM Server settings.", - "type": "object", - "properties": { - "updates_enabled": { - "description": "True if updates are enabled.", - "type": "boolean", - "x-order": 0 - }, - "telemetry_enabled": { - "description": "True if telemetry is enabled.", - "type": "boolean", - "x-order": 1 - }, - "metrics_resolutions": { - "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", - "type": "object", - "properties": { - "hr": { - "description": "High resolution. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 0 - }, - "mr": { - "description": "Medium resolution. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 1 - }, - "lr": { - "description": "Low resolution. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 2 - }, - "data_retention": { - "type": "string", - "x-order": 3 - }, - "ssh_key": { - "type": "string", - "x-order": 4 - }, - "aws_partitions": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 5 - }, - "advisor_enabled": { - "description": "True if Advisor is enabled.", - "type": "boolean", - "x-order": 6 - }, - "platform_email": { - "description": "Percona Platform user's email, if this PMM instance is linked to the Platform.", - "type": "string", - "x-order": 7 - }, - "alerting_enabled": { - "description": "True if Alerting is enabled.", - "type": "boolean", - "x-order": 8 - }, - "pmm_public_address": { - "description": "PMM Server public address.", - "type": "string", - "x-order": 9 - }, - "advisor_run_intervals": { - "description": "AdvisorRunIntervals represents intervals between each run of Advisor checks.", - "type": "object", - "properties": { - "standard_interval": { - "description": "Standard check interval.", - "type": "string", - "x-order": 0 - }, - "rare_interval": { - "description": "Interval for rare check runs.", - "type": "string", - "x-order": 1 - }, - "frequent_interval": { - "description": "Interval for frequent check runs.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 10 - }, - "backup_management_enabled": { - "description": "True if Backup Management is enabled.", - "type": "boolean", - "x-order": 11 - }, - "azurediscover_enabled": { - "description": "True if Azure Discover is enabled.", - "type": "boolean", - "x-order": 12 - }, - "connected_to_platform": { - "type": "boolean", - "title": "True if the PMM instance is connected to Platform", - "x-order": 13 - }, - "telemetry_summaries": { - "type": "array", - "title": "Includes list of collected telemetry", - "items": { - "type": "string" - }, - "x-order": 14 - }, - "enable_access_control": { - "description": "True if Access Control is enabled.", - "type": "boolean", - "x-order": 15 - }, - "default_role_id": { - "description": "Default Access Control role ID for new users.", - "type": "integer", - "format": "int64", - "x-order": 16 - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "type": "object", - "properties": { - "@type": { - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.", - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/server/updates": { - "get": { - "description": "Checks for available PMM Server updates.", - "tags": [ - "ServerService" - ], - "summary": "Check updates", - "operationId": "CheckUpdates", - "parameters": [ - { - "type": "boolean", - "description": "If false, cached information may be returned.", - "name": "force", - "in": "query" - }, - { - "type": "boolean", - "description": "If true, only installed version will be in response.", - "name": "only_installed_version", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "installed": { - "description": "VersionInfo describes component version, or PMM Server as a whole.", - "type": "object", - "properties": { - "version": { - "description": "User-visible version.", - "type": "string", - "x-order": 0 - }, - "full_version": { - "description": "Full version for debugging.", - "type": "string", - "x-order": 1 - }, - "timestamp": { - "description": "Build or release date.", - "type": "string", - "format": "date-time", - "x-order": 2 - } - }, - "x-order": 0 - }, - "latest": { - "type": "object", - "properties": { - "version": { - "description": "PMM Version.", - "type": "string", - "x-order": 0 - }, - "tag": { - "description": "Docker image tag.", - "type": "string", - "x-order": 1 - }, - "timestamp": { - "description": "Release date.", - "type": "string", - "format": "date-time", - "x-order": 2 - }, - "release_notes_url": { - "description": "Release notes URL for the version (if available).", - "type": "string", - "x-order": 3 - }, - "release_notes_text": { - "description": "Release notes text for the version (if available).", - "type": "string", - "x-order": 4 - } - }, - "x-order": 1 - }, - "update_available": { - "description": "True if there is a PMM Server update available.", - "type": "boolean", - "x-order": 2 - }, - "latest_news_url": { - "description": "Latest available PMM Server release announcement URL.", - "type": "string", - "x-order": 3 - }, - "last_check": { - "description": "Last check time.", - "type": "string", - "format": "date-time", - "x-order": 4 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "type": "object", - "properties": { - "@type": { - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.", - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/server/updates/changelogs": { - "get": { - "description": "List all the changes between the installed version and the latest available version", - "tags": [ - "ServerService" - ], - "summary": "List all the changes between the installed version and the latest available version", - "operationId": "ListChangeLogs", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "updates": { - "description": "List of available updates.", - "type": "array", - "items": { - "type": "object", - "properties": { - "version": { - "description": "PMM Version.", - "type": "string", - "x-order": 0 - }, - "tag": { - "description": "Docker image tag.", - "type": "string", - "x-order": 1 - }, - "timestamp": { - "description": "Release date.", - "type": "string", - "format": "date-time", - "x-order": 2 - }, - "release_notes_url": { - "description": "Release notes URL for the version (if available).", - "type": "string", - "x-order": 3 - }, - "release_notes_text": { - "description": "Release notes text for the version (if available).", - "type": "string", - "x-order": 4 - } - } - }, - "x-order": 0 - }, - "last_check": { - "description": "Last check time.", - "type": "string", - "format": "date-time", - "x-order": 1 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "type": "object", - "properties": { - "@type": { - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.", - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/server/updates:getStatus": { - "post": { - "description": "Returns PMM Server update status.", - "tags": [ - "ServerService" - ], - "summary": "Update status", - "operationId": "UpdateStatus", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "auth_token": { - "description": "Authentication token.", - "type": "string", - "x-order": 0 - }, - "log_offset": { - "description": "Progress log offset.", - "type": "integer", - "format": "int64", - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "log_lines": { - "description": "Progress log lines.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 0 - }, - "log_offset": { - "description": "Progress log offset for the next request.", - "type": "integer", - "format": "int64", - "x-order": 1 - }, - "done": { - "description": "True when update is done.", - "type": "boolean", - "x-order": 2 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "type": "object", - "properties": { - "@type": { - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.", - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/server/updates:start": { - "post": { - "description": "Starts PMM Server update.", - "tags": [ - "ServerService" - ], - "summary": "Start update", - "operationId": "StartUpdate", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "new_image": { - "type": "string", - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "auth_token": { - "description": "Authentication token for getting update statuses.", - "type": "string", - "x-order": 0 - }, - "log_offset": { - "description": "Progress log offset.", - "type": "integer", - "format": "int64", - "x-order": 1 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "type": "object", - "properties": { - "@type": { - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.", - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/server/version": { - "get": { - "description": "Returns PMM Server versions.", - "tags": [ - "ServerService" - ], - "summary": "Version", - "operationId": "Version", - "parameters": [ - { - "type": "string", - "description": "Dummy parameter for internal testing. Do not use.", - "name": "dummy", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "version": { - "description": "PMM Server version.", - "type": "string", - "x-order": 0 - }, - "server": { - "description": "VersionInfo describes component version, or PMM Server as a whole.", - "type": "object", - "properties": { - "version": { - "description": "User-visible version.", - "type": "string", - "x-order": 0 - }, - "full_version": { - "description": "Full version for debugging.", - "type": "string", - "x-order": 1 - }, - "timestamp": { - "description": "Build or release date.", - "type": "string", - "format": "date-time", - "x-order": 2 - } - }, - "x-order": 1 - }, - "managed": { - "description": "VersionInfo describes component version, or PMM Server as a whole.", - "type": "object", - "properties": { - "version": { - "description": "User-visible version.", - "type": "string", - "x-order": 0 - }, - "full_version": { - "description": "Full version for debugging.", - "type": "string", - "x-order": 1 - }, - "timestamp": { - "description": "Build or release date.", - "type": "string", - "format": "date-time", - "x-order": 2 - } - }, - "x-order": 2 - }, - "distribution_method": { - "description": "DistributionMethod defines PMM Server distribution method: Docker image, OVF/OVA, or AMI.", - "type": "string", - "default": "DISTRIBUTION_METHOD_UNSPECIFIED", - "enum": [ - "DISTRIBUTION_METHOD_UNSPECIFIED", - "DISTRIBUTION_METHOD_DOCKER", - "DISTRIBUTION_METHOD_OVF", - "DISTRIBUTION_METHOD_AMI", - "DISTRIBUTION_METHOD_AZURE", - "DISTRIBUTION_METHOD_DO" - ], - "x-order": 3 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "type": "object", - "properties": { - "@type": { - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.", - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/users": { - "get": { - "description": "Retrieve user details for all users from PMM server", - "tags": [ - "UserService" - ], - "summary": "List all users", - "operationId": "ListUsers", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "users": { - "type": "array", - "items": { - "type": "object", - "properties": { - "user_id": { - "type": "integer", - "format": "int64", - "x-order": 0 - }, - "role_ids": { - "description": "List of role IDs assigned to the user.", - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "x-order": 1 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/users/me": { - "get": { - "description": "Retrieve user details from PMM server", - "tags": [ - "UserService" - ], - "summary": "Get user details", - "operationId": "GetUser", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "user_id": { - "type": "integer", - "format": "int64", - "title": "User ID", - "x-order": 0 - }, - "product_tour_completed": { - "type": "boolean", - "title": "Product Tour", - "x-order": 1 - }, - "alerting_tour_completed": { - "type": "boolean", - "title": "Alerting Tour", - "x-order": 2 - }, - "snoozed_pmm_version": { - "type": "string", - "title": "Snoozed PMM version update", - "x-order": 3 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "put": { - "description": "Update user details in PMM server", - "tags": [ - "UserService" - ], - "summary": "Update a user", - "operationId": "UpdateUser", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "product_tour_completed": { - "type": "boolean", - "title": "Product Tour", - "x-nullable": true, - "x-order": 0 - }, - "alerting_tour_completed": { - "type": "boolean", - "title": "Alerting Tour", - "x-nullable": true, - "x-order": 1 - }, - "snoozed_pmm_version": { - "type": "string", - "title": "Snooze update alert for a PMM version", - "x-nullable": true, - "x-order": 2 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "user_id": { - "type": "integer", - "format": "int64", - "title": "User ID", - "x-order": 0 - }, - "product_tour_completed": { - "type": "boolean", - "title": "Product Tour", - "x-order": 1 - }, - "alerting_tour_completed": { - "type": "boolean", - "title": "Alerting Tour", - "x-order": 2 - }, - "snoozed_pmm_version": { - "type": "string", - "title": "Snooze update alert for a PMM version", - "x-order": 3 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - } - }, - "securityDefinitions": { - "basicAuth": { - "type": "basic" - } - }, - "security": [ - { - "basicAuth": [] - } - ], - "tags": [ - { - "name": "ServerService" - }, - { - "name": "UserService" - }, - { - "name": "AgentsService" - }, - { - "name": "NodesService" - }, - { - "name": "ServicesService" - }, - { - "name": "ManagementService" - }, - { - "name": "ActionsService" - }, - { - "name": "AlertingService" - }, - { - "name": "AdvisorService" - }, - { - "name": "BackupService" - }, - { - "name": "LocationsService" - }, - { - "name": "RestoreService" - }, - { - "name": "DumpService" - }, - { - "name": "AccessControlService" - }, - { - "name": "QANService" - }, - { - "name": "PlatformService" - } - ], - "x-readme": { - "samples-languages": [ - "curl", - "go", - "node", - "python" - ] - } -} \ No newline at end of file +{} \ No newline at end of file diff --git a/api/swagger/swagger.json b/api/swagger/swagger.json index 53385898e2..9e26dfeeb6 100644 --- a/api/swagger/swagger.json +++ b/api/swagger/swagger.json @@ -1,27302 +1 @@ -{ - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "schemes": [ - "https", - "http" - ], - "swagger": "2.0", - "info": { - "title": "PMM API", - "version": "v3" - }, - "paths": { - "/v1/actions/{action_id}": { - "get": { - "description": "Gets the result of a given Action.", - "tags": [ - "ActionsService" - ], - "summary": "Get Action", - "operationId": "GetAction", - "parameters": [ - { - "type": "string", - "description": "Unique Action ID.", - "name": "action_id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where this Action is running / was run.", - "type": "string", - "x-order": 1 - }, - "output": { - "description": "Current Action output; may be partial if Action is still running.", - "type": "string", - "x-order": 2 - }, - "done": { - "description": "True if Action is finished.", - "type": "boolean", - "x-order": 3 - }, - "error": { - "description": "Error message if Action failed.", - "type": "string", - "x-order": 4 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/actions:cancelAction": { - "post": { - "description": "Stops an Action.", - "tags": [ - "ActionsService" - ], - "summary": "Cancel an Action", - "operationId": "CancelAction", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID. Required.", - "type": "string", - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/actions:startNodeAction": { - "post": { - "description": "Starts 'Percona Toolkit Summary' Action.", - "tags": [ - "ActionsService" - ], - "summary": "Start 'PT Summary' Action", - "operationId": "StartPTSummaryAction", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "node_id": { - "description": "Node ID for this Action.", - "type": "string", - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/actions:startServiceAction": { - "post": { - "description": "Starts a Service Action.", - "tags": [ - "ActionsService" - ], - "summary": "Start a Service Action", - "operationId": "StartServiceAction", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "mysql_explain": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action. Required.", - "type": "string", - "x-order": 1 - }, - "query_id": { - "description": "Query ID of query.", - "type": "string", - "x-order": 2 - }, - "placeholders": { - "type": "array", - "title": "Array of placeholder values", - "items": { - "type": "string" - }, - "x-order": 3 - }, - "database": { - "description": "Database name. Required if it can't be deduced from the query ID.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 0 - }, - "mysql_explain_json": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action. Required.", - "type": "string", - "x-order": 1 - }, - "query_id": { - "description": "Query ID of query.", - "type": "string", - "x-order": 2 - }, - "placeholders": { - "type": "array", - "title": "Array of placeholder values", - "items": { - "type": "string" - }, - "x-order": 3 - }, - "database": { - "description": "Database name. Required if it can't be deduced from the query ID.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 1 - }, - "mysql_explain_traditional_json": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action. Required.", - "type": "string", - "x-order": 1 - }, - "query_id": { - "description": "Query ID of query.", - "type": "string", - "x-order": 2 - }, - "placeholders": { - "type": "array", - "title": "Array of placeholder values", - "items": { - "type": "string" - }, - "x-order": 3 - }, - "database": { - "description": "Database name. Required if it can't be deduced from the query ID.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 2 - }, - "mysql_show_index": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action. Required.", - "type": "string", - "x-order": 1 - }, - "table_name": { - "description": "Table name. Required. May additionally contain a database name.", - "type": "string", - "x-order": 2 - }, - "database": { - "description": "Database name. Required if not given in the table_name field.", - "type": "string", - "x-order": 3 - } - }, - "x-order": 3 - }, - "mysql_show_create_table": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action. Required.", - "type": "string", - "x-order": 1 - }, - "table_name": { - "description": "Table name. Required. May additionally contain a database name.", - "type": "string", - "x-order": 2 - }, - "database": { - "description": "Database name. Required if not given in the table_name field.", - "type": "string", - "x-order": 3 - } - }, - "x-order": 4 - }, - "mysql_show_table_status": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action. Required.", - "type": "string", - "x-order": 1 - }, - "table_name": { - "description": "Table name. Required. May additionally contain a database name.", - "type": "string", - "x-order": 2 - }, - "database": { - "description": "Database name. Required if not given in the table_name field.", - "type": "string", - "x-order": 3 - } - }, - "x-order": 5 - }, - "postgres_show_create_table": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action. Required.", - "type": "string", - "x-order": 1 - }, - "table_name": { - "description": "Table name. Required. May additionally contain a database name.", - "type": "string", - "x-order": 2 - }, - "database": { - "description": "Database name. Required if not given in the table_name field.", - "type": "string", - "x-order": 3 - } - }, - "x-order": 6 - }, - "postgres_show_index": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action. Required.", - "type": "string", - "x-order": 1 - }, - "table_name": { - "description": "Table name. Required. May additionally contain a database name.", - "type": "string", - "x-order": 2 - }, - "database": { - "description": "Database name. Required if not given in the table_name field.", - "type": "string", - "x-order": 3 - } - }, - "x-order": 7 - }, - "mongodb_explain": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action. Required.", - "type": "string", - "x-order": 1 - }, - "query": { - "description": "Query. Required.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 8 - }, - "pt_mongodb_summary": { - "type": "object", - "title": "Message to prepare pt-mongodb-summary data", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 9 - }, - "pt_mysql_summary": { - "type": "object", - "title": "Message to prepare pt-mysql-summary data", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 10 - }, - "pt_postgres_summary": { - "type": "object", - "title": "Message to prepare pt-pg-summary data", - "properties": { - "pmm_agent_id": { - "description": "pmm-agent ID where to run this Action.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service ID for this Action.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 11 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "mysql_explain": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 0 - }, - "mysql_explain_json": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 1 - }, - "mysql_explain_traditional_json": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 2 - }, - "mysql_show_index": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 3 - }, - "mysql_show_create_table": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 4 - }, - "mysql_show_table_status": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 5 - }, - "postgresql_show_create_table": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 6 - }, - "postgresql_show_index": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 7 - }, - "mongodb_explain": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 8 - }, - "pt_mongodb_summary": { - "type": "object", - "title": "Message to retrieve the prepared pt-mongodb-summary data", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 9 - }, - "pt_mysql_summary": { - "type": "object", - "title": "Message to retrieve the prepared pt-mysql-summary data", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 10 - }, - "pt_postgres_summary": { - "type": "object", - "title": "Message to retrieve the prepared pt-pg-summary data", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "pmm-agent ID where to this Action was started.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 11 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/advisors": { - "get": { - "description": "List advisors available to the user.", - "tags": [ - "AdvisorService" - ], - "summary": "List advisors", - "operationId": "ListAdvisors", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "advisors": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "description": "Machine-readable name (ID) that is used in expression.", - "type": "string", - "x-order": 0 - }, - "description": { - "description": "Long human-readable description.", - "type": "string", - "x-order": 1 - }, - "summary": { - "description": "Short human-readable summary.", - "type": "string", - "x-order": 2 - }, - "comment": { - "description": "Comment.", - "type": "string", - "x-order": 3 - }, - "category": { - "description": "Category.", - "type": "string", - "x-order": 4 - }, - "checks": { - "description": "Advisor checks.", - "type": "array", - "items": { - "description": "AdvisorCheck contains check name and status.", - "type": "object", - "properties": { - "name": { - "description": "Machine-readable name (ID) that is used in expression.", - "type": "string", - "x-order": 0 - }, - "enabled": { - "description": "True if that check is enabled.", - "type": "boolean", - "x-order": 1 - }, - "description": { - "description": "Long human-readable description.", - "type": "string", - "x-order": 2 - }, - "summary": { - "description": "Short human-readable summary.", - "type": "string", - "x-order": 3 - }, - "interval": { - "description": "AdvisorCheckInterval represents possible execution interval values for checks.", - "type": "string", - "default": "ADVISOR_CHECK_INTERVAL_UNSPECIFIED", - "enum": [ - "ADVISOR_CHECK_INTERVAL_UNSPECIFIED", - "ADVISOR_CHECK_INTERVAL_STANDARD", - "ADVISOR_CHECK_INTERVAL_FREQUENT", - "ADVISOR_CHECK_INTERVAL_RARE" - ], - "x-order": 4 - }, - "family": { - "type": "string", - "default": "ADVISOR_CHECK_FAMILY_UNSPECIFIED", - "enum": [ - "ADVISOR_CHECK_FAMILY_UNSPECIFIED", - "ADVISOR_CHECK_FAMILY_MYSQL", - "ADVISOR_CHECK_FAMILY_POSTGRESQL", - "ADVISOR_CHECK_FAMILY_MONGODB" - ], - "x-order": 5 - } - } - }, - "x-order": 5 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/advisors/checks": { - "get": { - "description": "List advisor checks available to the user.", - "tags": [ - "AdvisorService" - ], - "summary": "List advisor checks", - "operationId": "ListAdvisorChecks", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "checks": { - "type": "array", - "items": { - "description": "AdvisorCheck contains check name and status.", - "type": "object", - "properties": { - "name": { - "description": "Machine-readable name (ID) that is used in expression.", - "type": "string", - "x-order": 0 - }, - "enabled": { - "description": "True if that check is enabled.", - "type": "boolean", - "x-order": 1 - }, - "description": { - "description": "Long human-readable description.", - "type": "string", - "x-order": 2 - }, - "summary": { - "description": "Short human-readable summary.", - "type": "string", - "x-order": 3 - }, - "interval": { - "description": "AdvisorCheckInterval represents possible execution interval values for checks.", - "type": "string", - "default": "ADVISOR_CHECK_INTERVAL_UNSPECIFIED", - "enum": [ - "ADVISOR_CHECK_INTERVAL_UNSPECIFIED", - "ADVISOR_CHECK_INTERVAL_STANDARD", - "ADVISOR_CHECK_INTERVAL_FREQUENT", - "ADVISOR_CHECK_INTERVAL_RARE" - ], - "x-order": 4 - }, - "family": { - "type": "string", - "default": "ADVISOR_CHECK_FAMILY_UNSPECIFIED", - "enum": [ - "ADVISOR_CHECK_FAMILY_UNSPECIFIED", - "ADVISOR_CHECK_FAMILY_MYSQL", - "ADVISOR_CHECK_FAMILY_POSTGRESQL", - "ADVISOR_CHECK_FAMILY_MONGODB" - ], - "x-order": 5 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/advisors/checks/failed": { - "get": { - "description": "Returns the latest check results for a given service.", - "tags": [ - "AdvisorService" - ], - "summary": "Get Failed Checks", - "operationId": "GetFailedChecks", - "parameters": [ - { - "type": "integer", - "format": "int32", - "description": "Maximum number of results per page.", - "name": "page_size", - "in": "query" - }, - { - "type": "integer", - "format": "int32", - "description": "Index of the requested page, starts from 0.", - "name": "page_index", - "in": "query" - }, - { - "type": "string", - "description": "Service ID.", - "name": "service_id", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "total_items": { - "description": "Total number of results.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "total_pages": { - "description": "Total number of pages.", - "type": "integer", - "format": "int32", - "x-order": 1 - }, - "results": { - "type": "array", - "title": "Check results", - "items": { - "description": "CheckResult represents the check results for a given service.", - "type": "object", - "properties": { - "summary": { - "type": "string", - "x-order": 0 - }, - "description": { - "type": "string", - "x-order": 1 - }, - "severity": { - "description": "Severity represents severity level of the check result or alert.", - "type": "string", - "default": "SEVERITY_UNSPECIFIED", - "enum": [ - "SEVERITY_UNSPECIFIED", - "SEVERITY_EMERGENCY", - "SEVERITY_ALERT", - "SEVERITY_CRITICAL", - "SEVERITY_ERROR", - "SEVERITY_WARNING", - "SEVERITY_NOTICE", - "SEVERITY_INFO", - "SEVERITY_DEBUG" - ], - "x-order": 2 - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 3 - }, - "read_more_url": { - "description": "URL containing information on how to resolve an issue detected by an Advisor check.", - "type": "string", - "x-order": 4 - }, - "service_name": { - "description": "Name of the monitored service on which the check ran.", - "type": "string", - "x-order": 5 - }, - "service_id": { - "description": "ID of the monitored service on which the check ran.", - "type": "string", - "x-order": 6 - }, - "check_name": { - "type": "string", - "title": "Name of the check that failed", - "x-order": 7 - }, - "silenced": { - "type": "boolean", - "title": "Silence status of the check result", - "x-order": 8 - } - } - }, - "x-order": 2 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/advisors/checks:batchChange": { - "post": { - "description": "Enables/disables advisor checks or changes their exec interval.", - "tags": [ - "AdvisorService" - ], - "summary": "Change Advisor Checks", - "operationId": "ChangeAdvisorChecks", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "params": { - "type": "array", - "items": { - "description": "ChangeAdvisorCheckParams specifies a single check parameters.", - "type": "object", - "properties": { - "name": { - "description": "The name of the check to change.", - "type": "string", - "x-order": 0 - }, - "enable": { - "type": "boolean", - "x-nullable": true, - "x-order": 1 - }, - "interval": { - "description": "AdvisorCheckInterval represents possible execution interval values for checks.", - "type": "string", - "default": "ADVISOR_CHECK_INTERVAL_UNSPECIFIED", - "enum": [ - "ADVISOR_CHECK_INTERVAL_UNSPECIFIED", - "ADVISOR_CHECK_INTERVAL_STANDARD", - "ADVISOR_CHECK_INTERVAL_FREQUENT", - "ADVISOR_CHECK_INTERVAL_RARE" - ], - "x-order": 2 - } - } - }, - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/advisors/checks:start": { - "post": { - "description": "Executes Advisor checks and returns when all checks are executed. All available checks will be started if check names aren't specified.", - "tags": [ - "AdvisorService" - ], - "summary": "Start Advisor Checks", - "operationId": "StartAdvisorChecks", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "names": { - "description": "Names of the checks that should be started.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/advisors/failedServices": { - "get": { - "description": "Returns a list of services with failed checks and a summary of check results.", - "tags": [ - "AdvisorService" - ], - "summary": "List Failed Services", - "operationId": "ListFailedServices", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "result": { - "type": "array", - "items": { - "description": "CheckResultSummary is a summary of check results.", - "type": "object", - "properties": { - "service_name": { - "type": "string", - "x-order": 0 - }, - "service_id": { - "type": "string", - "x-order": 1 - }, - "emergency_count": { - "description": "Number of failed checks for this service with severity level \"EMERGENCY\".", - "type": "integer", - "format": "int64", - "x-order": 2 - }, - "alert_count": { - "description": "Number of failed checks for this service with severity level \"ALERT\".", - "type": "integer", - "format": "int64", - "x-order": 3 - }, - "critical_count": { - "description": "Number of failed checks for this service with severity level \"CRITICAL\".", - "type": "integer", - "format": "int64", - "x-order": 4 - }, - "error_count": { - "description": "Number of failed checks for this service with severity level \"ERROR\".", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "warning_count": { - "description": "Number of failed checks for this service with severity level \"WARNING\".", - "type": "integer", - "format": "int64", - "x-order": 6 - }, - "notice_count": { - "description": "Number of failed checks for this service with severity level \"NOTICE\".", - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "info_count": { - "description": "Number of failed checks for this service with severity level \"INFO\".", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "debug_count": { - "description": "Number of failed checks for this service with severity level \"DEBUG\".", - "type": "integer", - "format": "int64", - "x-order": 9 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/alerting/rules": { - "post": { - "tags": [ - "AlertingService" - ], - "summary": "CreateRule creates alerting rule from the given template.", - "operationId": "CreateRule", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "template_name": { - "description": "Template name.", - "type": "string", - "x-order": 0 - }, - "name": { - "description": "Rule name.", - "type": "string", - "x-order": 1 - }, - "group": { - "description": "Rule group name.", - "type": "string", - "x-order": 2 - }, - "folder_uid": { - "description": "Folder UID.", - "type": "string", - "x-order": 3 - }, - "params": { - "description": "Rule parameters. All template parameters should be set.", - "type": "array", - "items": { - "description": "ParamValue represents a single rule parameter value.", - "type": "object", - "properties": { - "name": { - "description": "Machine-readable name (ID) that is used in expression.", - "type": "string", - "x-order": 0 - }, - "type": { - "description": "ParamType represents template parameter type.", - "type": "string", - "default": "PARAM_TYPE_UNSPECIFIED", - "enum": [ - "PARAM_TYPE_UNSPECIFIED", - "PARAM_TYPE_BOOL", - "PARAM_TYPE_FLOAT", - "PARAM_TYPE_STRING" - ], - "x-order": 1 - }, - "bool": { - "description": "Bool value.", - "type": "boolean", - "x-order": 2 - }, - "float": { - "description": "Float value.", - "type": "number", - "format": "double", - "x-order": 3 - }, - "string": { - "description": "String value.", - "type": "string", - "x-order": 4 - } - } - }, - "x-order": 4 - }, - "for": { - "description": "Rule duration. Should be set.", - "type": "string", - "x-order": 5 - }, - "severity": { - "description": "Severity represents severity level of the check result or alert.", - "type": "string", - "default": "SEVERITY_UNSPECIFIED", - "enum": [ - "SEVERITY_UNSPECIFIED", - "SEVERITY_EMERGENCY", - "SEVERITY_ALERT", - "SEVERITY_CRITICAL", - "SEVERITY_ERROR", - "SEVERITY_WARNING", - "SEVERITY_NOTICE", - "SEVERITY_INFO", - "SEVERITY_DEBUG" - ], - "x-order": 6 - }, - "custom_labels": { - "description": "All custom labels to add or remove (with empty values) to default labels from template.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "filters": { - "description": "Filters.", - "type": "array", - "items": { - "description": "Filter represents a single filter condition.", - "type": "object", - "properties": { - "type": { - "description": "FilterType represents filter matching type.", - "type": "string", - "default": "FILTER_TYPE_UNSPECIFIED", - "enum": [ - "FILTER_TYPE_UNSPECIFIED", - "FILTER_TYPE_MATCH", - "FILTER_TYPE_MISMATCH" - ], - "x-order": 0 - }, - "label": { - "type": "string", - "x-order": 1 - }, - "regexp": { - "type": "string", - "x-order": 2 - } - } - }, - "x-order": 8 - }, - "interval": { - "type": "string", - "title": "Evaluation Interval", - "x-order": 9 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/alerting/templates": { - "get": { - "tags": [ - "AlertingService" - ], - "summary": "ListTemplates returns a list of all collected alert rule templates.", - "operationId": "ListTemplates", - "parameters": [ - { - "type": "integer", - "format": "int32", - "description": "Maximum number of results per page.", - "name": "page_size", - "in": "query" - }, - { - "type": "integer", - "format": "int32", - "description": "Index of the requested page, starts from 0.", - "name": "page_index", - "in": "query" - }, - { - "type": "boolean", - "description": "If true, template files will be re-read from disk.", - "name": "reload", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "total_items": { - "description": "Total number of results.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "total_pages": { - "description": "Total number of pages.", - "type": "integer", - "format": "int32", - "x-order": 1 - }, - "templates": { - "description": "Alerting templates.", - "type": "array", - "items": { - "description": "Template represents Alert Template that is used to create Alert Rule.", - "type": "object", - "properties": { - "name": { - "description": "Machine-readable name (ID).", - "type": "string", - "x-order": 0 - }, - "summary": { - "description": "Short human-readable summary.", - "type": "string", - "x-order": 1 - }, - "expr": { - "description": "PromQL query expression with templating parameters.", - "type": "string", - "x-order": 2 - }, - "params": { - "description": "Query parameters definitions.", - "type": "array", - "items": { - "description": "ParamDefinition represents a single query parameter.", - "type": "object", - "properties": { - "name": { - "description": "Machine-readable name (ID) that is used in expression.", - "type": "string", - "x-order": 0 - }, - "summary": { - "description": "Short human-readable parameter summary.", - "type": "string", - "x-order": 1 - }, - "unit": { - "description": "ParamUnit represents template parameter unit.\n\n - PARAM_UNIT_UNSPECIFIED: Invalid, unknown or absent.\n - PARAM_UNIT_PERCENTAGE: %\n - PARAM_UNIT_SECONDS: s", - "type": "string", - "default": "PARAM_UNIT_UNSPECIFIED", - "enum": [ - "PARAM_UNIT_UNSPECIFIED", - "PARAM_UNIT_PERCENTAGE", - "PARAM_UNIT_SECONDS" - ], - "x-order": 2 - }, - "type": { - "description": "ParamType represents template parameter type.", - "type": "string", - "default": "PARAM_TYPE_UNSPECIFIED", - "enum": [ - "PARAM_TYPE_UNSPECIFIED", - "PARAM_TYPE_BOOL", - "PARAM_TYPE_FLOAT", - "PARAM_TYPE_STRING" - ], - "x-order": 3 - }, - "bool": { - "description": "BoolParamDefinition represents boolean parameter's default value.", - "type": "object", - "properties": { - "default": { - "type": "boolean", - "x-nullable": true, - "x-order": 0 - } - }, - "x-order": 4 - }, - "float": { - "description": "FloatParamDefinition represents float parameter's default value and valid range.", - "type": "object", - "properties": { - "default": { - "description": "Default value.", - "type": "number", - "format": "double", - "x-nullable": true, - "x-order": 0 - }, - "min": { - "description": "Minimum valid value (inclusive).", - "type": "number", - "format": "double", - "x-nullable": true, - "x-order": 1 - }, - "max": { - "description": "Maximum valid value (inclusive).", - "type": "number", - "format": "double", - "x-nullable": true, - "x-order": 2 - } - }, - "x-order": 5 - }, - "string": { - "description": "StringParamDefinition represents string parameter's default value.", - "type": "object", - "properties": { - "default": { - "description": "Default value.", - "type": "string", - "x-nullable": true, - "x-order": 0 - } - }, - "x-order": 6 - } - } - }, - "x-order": 3 - }, - "for": { - "description": "Default duration value.", - "type": "string", - "x-order": 4 - }, - "severity": { - "description": "Severity represents severity level of the check result or alert.", - "type": "string", - "default": "SEVERITY_UNSPECIFIED", - "enum": [ - "SEVERITY_UNSPECIFIED", - "SEVERITY_EMERGENCY", - "SEVERITY_ALERT", - "SEVERITY_CRITICAL", - "SEVERITY_ERROR", - "SEVERITY_WARNING", - "SEVERITY_NOTICE", - "SEVERITY_INFO", - "SEVERITY_DEBUG" - ], - "x-order": 5 - }, - "labels": { - "description": "Labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "annotations": { - "description": "Annotations.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "source": { - "description": "TemplateSource defines template source.\n\n - TEMPLATE_SOURCE_BUILT_IN: Template that is shipped with PMM Server releases.\n - TEMPLATE_SOURCE_SAAS: Template that is downloaded from check.percona.com.\n - TEMPLATE_SOURCE_USER_FILE: Templated loaded from user-suplied file.\n - TEMPLATE_SOURCE_USER_API: Templated created via API.", - "type": "string", - "default": "TEMPLATE_SOURCE_UNSPECIFIED", - "enum": [ - "TEMPLATE_SOURCE_UNSPECIFIED", - "TEMPLATE_SOURCE_BUILT_IN", - "TEMPLATE_SOURCE_SAAS", - "TEMPLATE_SOURCE_USER_FILE", - "TEMPLATE_SOURCE_USER_API" - ], - "x-order": 8 - }, - "created_at": { - "description": "Template creation time. Empty for built-in and SaaS templates.", - "type": "string", - "format": "date-time", - "x-order": 9 - }, - "yaml": { - "description": "YAML template file content. Empty for built-in and SaaS templates.", - "type": "string", - "x-order": 10 - } - } - }, - "x-order": 2 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "post": { - "tags": [ - "AlertingService" - ], - "summary": "CreateTemplate creates a new template.", - "operationId": "CreateTemplate", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "yaml": { - "description": "YAML template file content.", - "type": "string", - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/alerting/templates/{name}": { - "put": { - "tags": [ - "AlertingService" - ], - "summary": "UpdateTemplate updates existing template, previously created via API.", - "operationId": "UpdateTemplate", - "parameters": [ - { - "type": "string", - "description": "Machine-readable name (ID).", - "name": "name", - "in": "path", - "required": true - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "yaml": { - "description": "YAML template file content.", - "type": "string", - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "delete": { - "tags": [ - "AlertingService" - ], - "summary": "DeleteTemplate deletes existing, previously created via API.", - "operationId": "DeleteTemplate", - "parameters": [ - { - "type": "string", - "name": "name", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/artifacts": { - "get": { - "description": "Return a list of backup artifacts.", - "tags": [ - "BackupService" - ], - "summary": "List artifacts", - "operationId": "ListArtifacts", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "artifacts": { - "type": "array", - "items": { - "description": "Artifact represents single backup artifact.", - "type": "object", - "properties": { - "artifact_id": { - "description": "Machine-readable artifact ID.", - "type": "string", - "x-order": 0 - }, - "name": { - "type": "string", - "title": "Artifact name", - "x-order": 1 - }, - "vendor": { - "description": "Database vendor e.g. PostgreSQL, MongoDB, MySQL.", - "type": "string", - "x-order": 2 - }, - "location_id": { - "description": "Machine-readable location ID.", - "type": "string", - "x-order": 3 - }, - "location_name": { - "description": "Location name.", - "type": "string", - "x-order": 4 - }, - "service_id": { - "description": "Machine-readable service ID.", - "type": "string", - "x-order": 5 - }, - "service_name": { - "description": "Service name.", - "type": "string", - "x-order": 6 - }, - "data_model": { - "description": "DataModel is a model used for performing a backup.", - "type": "string", - "default": "DATA_MODEL_UNSPECIFIED", - "enum": [ - "DATA_MODEL_UNSPECIFIED", - "DATA_MODEL_PHYSICAL", - "DATA_MODEL_LOGICAL" - ], - "x-order": 7 - }, - "status": { - "description": "BackupStatus shows the current status of execution of backup.", - "type": "string", - "default": "BACKUP_STATUS_UNSPECIFIED", - "enum": [ - "BACKUP_STATUS_UNSPECIFIED", - "BACKUP_STATUS_PENDING", - "BACKUP_STATUS_IN_PROGRESS", - "BACKUP_STATUS_PAUSED", - "BACKUP_STATUS_SUCCESS", - "BACKUP_STATUS_ERROR", - "BACKUP_STATUS_DELETING", - "BACKUP_STATUS_FAILED_TO_DELETE", - "BACKUP_STATUS_CLEANUP_IN_PROGRESS" - ], - "x-order": 8 - }, - "created_at": { - "description": "Artifact creation time.", - "type": "string", - "format": "date-time", - "x-order": 9 - }, - "mode": { - "description": "BackupMode specifies backup mode.", - "type": "string", - "default": "BACKUP_MODE_UNSPECIFIED", - "enum": [ - "BACKUP_MODE_UNSPECIFIED", - "BACKUP_MODE_SNAPSHOT", - "BACKUP_MODE_INCREMENTAL", - "BACKUP_MODE_PITR" - ], - "x-order": 10 - }, - "is_sharded_cluster": { - "description": "Source database setup type.", - "type": "boolean", - "x-order": 11 - }, - "folder": { - "description": "Folder to store artifact on a storage.", - "type": "string", - "x-order": 12 - }, - "metadata_list": { - "description": "List of artifact metadata.", - "type": "array", - "items": { - "description": "Metadata contains extra artifact data like files it consists of, tool specific data, etc.", - "type": "object", - "properties": { - "file_list": { - "description": "List of files backup consists of.", - "type": "array", - "items": { - "description": "File represents file or folder on a storage.", - "type": "object", - "properties": { - "name": { - "type": "string", - "x-order": 0 - }, - "is_directory": { - "type": "boolean", - "x-order": 1 - } - } - }, - "x-order": 0 - }, - "restore_to": { - "description": "Exact time DB can be restored to.", - "type": "string", - "format": "date-time", - "x-order": 1 - }, - "pbm_metadata": { - "description": "PbmMetadata contains additional data for pbm cli tools.", - "type": "object", - "properties": { - "name": { - "description": "Name of backup in backup tool representation.", - "type": "string", - "x-order": 0 - } - }, - "x-order": 2 - } - } - }, - "x-order": 13 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/artifacts/{artifact_id}": { - "delete": { - "description": "Deletes an artifact.", - "tags": [ - "BackupService" - ], - "summary": "Delete Artifact", - "operationId": "DeleteArtifact", - "parameters": [ - { - "type": "string", - "description": "Machine-readable artifact ID.", - "name": "artifact_id", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Removes all the backup files associated with artifact if flag is set.", - "name": "remove_files", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/artifacts/{artifact_id}/pitr-timeranges": { - "get": { - "description": "Return a list of available MongoDB point-in-time-recovery timeranges.", - "tags": [ - "BackupService" - ], - "summary": "List PITR Timeranges", - "operationId": "ListPitrTimeranges", - "parameters": [ - { - "type": "string", - "description": "Artifact ID represents artifact whose location has PITR timeranges to be retrieved.", - "name": "artifact_id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "timeranges": { - "type": "array", - "items": { - "type": "object", - "properties": { - "start_timestamp": { - "description": "start_timestamp is the time of the first event in the PITR chunk.", - "type": "string", - "format": "date-time", - "x-order": 0 - }, - "end_timestamp": { - "description": "end_timestamp is the time of the last event in the PITR chunk.", - "type": "string", - "format": "date-time", - "x-order": 1 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/locations": { - "get": { - "description": "List backup locations.", - "tags": [ - "LocationsService" - ], - "summary": "List Backup Locations", - "operationId": "ListLocations", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "locations": { - "type": "array", - "items": { - "description": "Location represents single Backup Location.", - "type": "object", - "properties": { - "location_id": { - "description": "Machine-readable ID.", - "type": "string", - "x-order": 0 - }, - "name": { - "type": "string", - "title": "Location name", - "x-order": 1 - }, - "description": { - "type": "string", - "title": "Short description", - "x-order": 2 - }, - "filesystem_config": { - "description": "FilesystemLocationConfig represents file system location config.", - "type": "object", - "properties": { - "path": { - "type": "string", - "x-order": 0 - } - }, - "x-order": 3 - }, - "s3_config": { - "description": "S3LocationConfig represents S3 bucket configuration.", - "type": "object", - "properties": { - "endpoint": { - "type": "string", - "x-order": 0 - }, - "access_key": { - "type": "string", - "x-order": 1 - }, - "secret_key": { - "type": "string", - "x-order": 2 - }, - "bucket_name": { - "type": "string", - "x-order": 3 - } - }, - "x-order": 4 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "post": { - "description": "Add a backup location.", - "tags": [ - "LocationsService" - ], - "summary": "Add a Backup Location", - "operationId": "AddLocation", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "title": "Location name", - "x-order": 0 - }, - "description": { - "type": "string", - "x-order": 1 - }, - "filesystem_config": { - "description": "FilesystemLocationConfig represents file system location config.", - "type": "object", - "properties": { - "path": { - "type": "string", - "x-order": 0 - } - }, - "x-order": 2 - }, - "s3_config": { - "description": "S3LocationConfig represents S3 bucket configuration.", - "type": "object", - "properties": { - "endpoint": { - "type": "string", - "x-order": 0 - }, - "access_key": { - "type": "string", - "x-order": 1 - }, - "secret_key": { - "type": "string", - "x-order": 2 - }, - "bucket_name": { - "type": "string", - "x-order": 3 - } - }, - "x-order": 3 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "location_id": { - "description": "Machine-readable ID.", - "type": "string", - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/locations/{location_id}": { - "put": { - "description": "Change a backup location.", - "tags": [ - "LocationsService" - ], - "summary": "Change a Backup Location", - "operationId": "ChangeLocation", - "parameters": [ - { - "type": "string", - "description": "Machine-readable ID.", - "name": "location_id", - "in": "path", - "required": true - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "title": "Location name", - "x-order": 0 - }, - "description": { - "type": "string", - "x-order": 1 - }, - "filesystem_config": { - "description": "FilesystemLocationConfig represents file system location config.", - "type": "object", - "properties": { - "path": { - "type": "string", - "x-order": 0 - } - }, - "x-order": 2 - }, - "s3_config": { - "description": "S3LocationConfig represents S3 bucket configuration.", - "type": "object", - "properties": { - "endpoint": { - "type": "string", - "x-order": 0 - }, - "access_key": { - "type": "string", - "x-order": 1 - }, - "secret_key": { - "type": "string", - "x-order": 2 - }, - "bucket_name": { - "type": "string", - "x-order": 3 - } - }, - "x-order": 3 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "delete": { - "description": "Remove a backup location.", - "tags": [ - "LocationsService" - ], - "summary": "Remove a Scheduled Backup", - "operationId": "RemoveLocation", - "parameters": [ - { - "type": "string", - "description": "Machine-readable ID.", - "name": "location_id", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Force mode", - "name": "force", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/locations:testConfig": { - "post": { - "description": "Test a backup location and credentials.", - "tags": [ - "LocationsService" - ], - "summary": "Test a Backup Location and Credentials", - "operationId": "TestLocationConfig", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "filesystem_config": { - "description": "FilesystemLocationConfig represents file system location config.", - "type": "object", - "properties": { - "path": { - "type": "string", - "x-order": 0 - } - }, - "x-order": 0 - }, - "s3_config": { - "description": "S3LocationConfig represents S3 bucket configuration.", - "type": "object", - "properties": { - "endpoint": { - "type": "string", - "x-order": 0 - }, - "access_key": { - "type": "string", - "x-order": 1 - }, - "secret_key": { - "type": "string", - "x-order": 2 - }, - "bucket_name": { - "type": "string", - "x-order": 3 - } - }, - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/restores": { - "get": { - "description": "List all backup restore history items", - "tags": [ - "RestoreService" - ], - "summary": "List Restore History", - "operationId": "ListRestores", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "items": { - "type": "array", - "items": { - "description": "RestoreHistoryItem represents single backup restore item.", - "type": "object", - "properties": { - "restore_id": { - "description": "Machine-readable restore id.", - "type": "string", - "x-order": 0 - }, - "artifact_id": { - "description": "ID of the artifact used for restore.", - "type": "string", - "x-order": 1 - }, - "name": { - "description": "Artifact name used for restore.", - "type": "string", - "x-order": 2 - }, - "vendor": { - "description": "Database vendor e.g. PostgreSQL, MongoDB, MySQL.", - "type": "string", - "x-order": 3 - }, - "location_id": { - "description": "Machine-readable location ID.", - "type": "string", - "x-order": 4 - }, - "location_name": { - "description": "Location name.", - "type": "string", - "x-order": 5 - }, - "service_id": { - "description": "Machine-readable service ID.", - "type": "string", - "x-order": 6 - }, - "service_name": { - "description": "Service name.", - "type": "string", - "x-order": 7 - }, - "data_model": { - "description": "DataModel is a model used for performing a backup.", - "type": "string", - "default": "DATA_MODEL_UNSPECIFIED", - "enum": [ - "DATA_MODEL_UNSPECIFIED", - "DATA_MODEL_PHYSICAL", - "DATA_MODEL_LOGICAL" - ], - "x-order": 8 - }, - "status": { - "description": "RestoreStatus shows the current status of execution of restore.", - "type": "string", - "default": "RESTORE_STATUS_UNSPECIFIED", - "enum": [ - "RESTORE_STATUS_UNSPECIFIED", - "RESTORE_STATUS_IN_PROGRESS", - "RESTORE_STATUS_SUCCESS", - "RESTORE_STATUS_ERROR" - ], - "x-order": 9 - }, - "started_at": { - "description": "Restore start time.", - "type": "string", - "format": "date-time", - "x-order": 10 - }, - "finished_at": { - "description": "Restore finish time.", - "type": "string", - "format": "date-time", - "x-order": 11 - }, - "pitr_timestamp": { - "description": "PITR timestamp is filled for PITR restores, empty otherwise.", - "type": "string", - "format": "date-time", - "x-order": 12 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/restores/{restore_id}/logs": { - "get": { - "description": "Get logs from the underlying tools for a restore job", - "tags": [ - "RestoreService" - ], - "summary": "Get Logs", - "operationId": "GetLogsMixin5", - "parameters": [ - { - "type": "string", - "name": "restore_id", - "in": "path", - "required": true - }, - { - "type": "integer", - "format": "int64", - "name": "offset", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "name": "limit", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "logs": { - "type": "array", - "items": { - "description": "LogChunk represent one chunk of logs.", - "type": "object", - "properties": { - "chunk_id": { - "type": "integer", - "format": "int64", - "x-order": 0 - }, - "data": { - "type": "string", - "x-order": 1 - } - } - }, - "x-order": 0 - }, - "end": { - "type": "boolean", - "x-order": 1 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/restores:start": { - "post": { - "description": "Could return the Error message in the details containing specific ErrorCode indicating failure reason:\nERROR_CODE_XTRABACKUP_NOT_INSTALLED - xtrabackup is not installed on the service\nERROR_CODE_INVALID_XTRABACKUP - different versions of xtrabackup and xbcloud\nERROR_CODE_INCOMPATIBLE_XTRABACKUP - xtrabackup is not compatible with MySQL for taking a backup\nERROR_CODE_INCOMPATIBLE_TARGET_MYSQL - target MySQL version is not compatible with the artifact for performing a restore of the backup", - "tags": [ - "RestoreService" - ], - "summary": "Restore from a Backup", - "operationId": "RestoreBackup", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "service_id": { - "description": "Service identifier where backup should be restored.", - "type": "string", - "x-order": 0 - }, - "artifact_id": { - "description": "Artifact id to restore.", - "type": "string", - "x-order": 1 - }, - "pitr_timestamp": { - "type": "string", - "format": "date-time", - "title": "Timestamp of PITR to restore to", - "x-order": 2 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "restore_id": { - "description": "Unique restore identifier.", - "type": "string", - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/scheduled": { - "get": { - "description": "List all scheduled backups.", - "tags": [ - "BackupService" - ], - "summary": "List Scheduled Backups", - "operationId": "ListScheduledBackups", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "scheduled_backups": { - "type": "array", - "items": { - "description": "ScheduledBackup represents scheduled task for backup.", - "type": "object", - "properties": { - "scheduled_backup_id": { - "description": "Machine-readable ID.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Machine-readable service ID.", - "type": "string", - "x-order": 1 - }, - "service_name": { - "description": "Service name.", - "type": "string", - "x-order": 2 - }, - "location_id": { - "description": "Machine-readable location ID.", - "type": "string", - "x-order": 3 - }, - "location_name": { - "description": "Location name.", - "type": "string", - "x-order": 4 - }, - "folder": { - "description": "Folder on storage for artifact.", - "type": "string", - "x-order": 5 - }, - "cron_expression": { - "description": "How often backup will be run in cron format.", - "type": "string", - "x-order": 6 - }, - "start_time": { - "description": "First backup wouldn't happen before this time.", - "type": "string", - "format": "date-time", - "x-order": 7 - }, - "name": { - "description": "Artifact name.", - "type": "string", - "x-order": 8 - }, - "description": { - "description": "Description.", - "type": "string", - "x-order": 9 - }, - "enabled": { - "description": "If scheduling is enabled.", - "type": "boolean", - "x-order": 10 - }, - "retries": { - "description": "How many times to retry a failed backup before giving up.", - "type": "integer", - "format": "int64", - "x-order": 11 - }, - "retry_interval": { - "description": "Delay between each retry. Should have a suffix in JSON: 2s, 1m, 1h.", - "type": "string", - "x-order": 12 - }, - "data_model": { - "description": "DataModel is a model used for performing a backup.", - "type": "string", - "default": "DATA_MODEL_UNSPECIFIED", - "enum": [ - "DATA_MODEL_UNSPECIFIED", - "DATA_MODEL_PHYSICAL", - "DATA_MODEL_LOGICAL" - ], - "x-order": 13 - }, - "mode": { - "description": "BackupMode specifies backup mode.", - "type": "string", - "default": "BACKUP_MODE_UNSPECIFIED", - "enum": [ - "BACKUP_MODE_UNSPECIFIED", - "BACKUP_MODE_SNAPSHOT", - "BACKUP_MODE_INCREMENTAL", - "BACKUP_MODE_PITR" - ], - "x-order": 14 - }, - "vendor": { - "description": "Database vendor e.g. PostgreSQL, MongoDB, MySQL.", - "type": "string", - "x-order": 15 - }, - "last_run": { - "description": "Last run.", - "type": "string", - "format": "date-time", - "x-order": 16 - }, - "next_run": { - "description": "Next run.", - "type": "string", - "format": "date-time", - "x-order": 17 - }, - "retention": { - "description": "How many artifacts keep. 0 - unlimited.", - "type": "integer", - "format": "int64", - "x-order": 18 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/{artifact_id}/compatible-services": { - "get": { - "description": "List services that are compatible with the backup artifact.", - "tags": [ - "BackupService" - ], - "summary": "List Compatible Services", - "operationId": "ListArtifactCompatibleServices", - "parameters": [ - { - "type": "string", - "description": "Artifact id used to determine restore compatibility.", - "name": "artifact_id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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 - } - } - }, - "x-order": 0 - }, - "mongodb": { - "type": "array", - "items": { - "description": "MongoDBService represents a generic MongoDB 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": "MongoDB version.", - "type": "string", - "x-order": 10 - } - } - }, - "x-order": 1 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/{artifact_id}/logs": { - "get": { - "description": "Get logs from the underlying tools for a backup/restore job.", - "tags": [ - "BackupService" - ], - "summary": "Get Logs", - "operationId": "GetLogs", - "parameters": [ - { - "type": "string", - "name": "artifact_id", - "in": "path", - "required": true - }, - { - "type": "integer", - "format": "int64", - "name": "offset", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "name": "limit", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "logs": { - "type": "array", - "items": { - "description": "LogChunk represent one chunk of logs.", - "type": "object", - "properties": { - "chunk_id": { - "type": "integer", - "format": "int64", - "x-order": 0 - }, - "data": { - "type": "string", - "x-order": 1 - } - } - }, - "x-order": 0 - }, - "end": { - "type": "boolean", - "x-order": 1 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups/{scheduled_backup_id}": { - "delete": { - "description": "Remove a scheduled backup.", - "tags": [ - "BackupService" - ], - "summary": "Remove a Scheduled Backup", - "operationId": "RemoveScheduledBackup", - "parameters": [ - { - "type": "string", - "name": "scheduled_backup_id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups:changeScheduled": { - "put": { - "description": "Change a scheduled backup.", - "tags": [ - "BackupService" - ], - "summary": "Change a Scheduled Backup", - "operationId": "ChangeScheduledBackup", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "scheduled_backup_id": { - "type": "string", - "x-order": 0 - }, - "enabled": { - "type": "boolean", - "x-nullable": true, - "x-order": 1 - }, - "cron_expression": { - "description": "How often backup should be run in cron format.", - "type": "string", - "x-nullable": true, - "x-order": 2 - }, - "start_time": { - "description": "First backup wouldn't happen before this time.", - "type": "string", - "format": "date-time", - "x-order": 3 - }, - "name": { - "description": "Name of backup.", - "type": "string", - "x-nullable": true, - "x-order": 4 - }, - "description": { - "description": "Human-readable description.", - "type": "string", - "x-nullable": true, - "x-order": 5 - }, - "retries": { - "description": "How many times to retry a failed backup before giving up.", - "type": "integer", - "format": "int64", - "x-nullable": true, - "x-order": 6 - }, - "retry_interval": { - "description": "Delay between each retry. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 7 - }, - "retention": { - "description": "How many artifacts keep. 0 - unlimited.", - "type": "integer", - "format": "int64", - "x-nullable": true, - "x-order": 8 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups:schedule": { - "post": { - "description": "Schedule a backup to run at a specified time.", - "tags": [ - "BackupService" - ], - "summary": "Schedule a Backup", - "operationId": "ScheduleBackup", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "service_id": { - "description": "Service identifier where backup should be performed.", - "type": "string", - "x-order": 0 - }, - "location_id": { - "description": "Machine-readable location ID.", - "type": "string", - "x-order": 1 - }, - "folder": { - "description": "How often backup should be run in cron format.\nFolder on storage for artifact.", - "type": "string", - "x-order": 2 - }, - "cron_expression": { - "type": "string", - "x-order": 3 - }, - "start_time": { - "description": "First backup wouldn't happen before this time.", - "type": "string", - "format": "date-time", - "x-order": 4 - }, - "name": { - "description": "Name of backup.", - "type": "string", - "x-order": 5 - }, - "description": { - "description": "Human-readable description.", - "type": "string", - "x-order": 6 - }, - "enabled": { - "description": "If scheduling is enabled.", - "type": "boolean", - "x-order": 7 - }, - "retries": { - "description": "How many times to retry a failed backup before giving up.", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "retry_interval": { - "description": "Delay between each retry. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 9 - }, - "mode": { - "description": "BackupMode specifies backup mode.", - "type": "string", - "default": "BACKUP_MODE_UNSPECIFIED", - "enum": [ - "BACKUP_MODE_UNSPECIFIED", - "BACKUP_MODE_SNAPSHOT", - "BACKUP_MODE_INCREMENTAL", - "BACKUP_MODE_PITR" - ], - "x-order": 10 - }, - "data_model": { - "description": "DataModel is a model used for performing a backup.", - "type": "string", - "default": "DATA_MODEL_UNSPECIFIED", - "enum": [ - "DATA_MODEL_UNSPECIFIED", - "DATA_MODEL_PHYSICAL", - "DATA_MODEL_LOGICAL" - ], - "x-order": 11 - }, - "retention": { - "description": "How many artifacts keep. 0 - unlimited.", - "type": "integer", - "format": "int64", - "x-order": 12 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "scheduled_backup_id": { - "type": "string", - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/backups:start": { - "post": { - "description": "Could return the Error message in the details containing specific ErrorCode indicating failure reason:\nERROR_CODE_XTRABACKUP_NOT_INSTALLED - xtrabackup is not installed on the service\nERROR_CODE_INVALID_XTRABACKUP - different versions of xtrabackup and xbcloud\nERROR_CODE_INCOMPATIBLE_XTRABACKUP - xtrabackup is not compatible with MySQL for taking a backup", - "tags": [ - "BackupService" - ], - "summary": "Start a Backup", - "operationId": "StartBackup", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 0 - }, - "location_id": { - "description": "Machine-readable location ID.", - "type": "string", - "x-order": 1 - }, - "name": { - "description": "If empty then name is auto-generated.", - "type": "string", - "x-order": 2 - }, - "description": { - "description": "Human-readable description.", - "type": "string", - "x-order": 3 - }, - "retry_interval": { - "description": "Delay between each retry. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 4 - }, - "retries": { - "description": "How many times to retry a failed backup before giving up.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "data_model": { - "description": "DataModel is a model used for performing a backup.", - "type": "string", - "default": "DATA_MODEL_UNSPECIFIED", - "enum": [ - "DATA_MODEL_UNSPECIFIED", - "DATA_MODEL_PHYSICAL", - "DATA_MODEL_LOGICAL" - ], - "x-order": 6 - }, - "folder": { - "description": "Folder on storage for artifact.", - "type": "string", - "x-order": 7 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "artifact_id": { - "description": "Unique identifier.", - "type": "string", - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/inventory/agents": { - "get": { - "description": "Returns a list of all Agents.", - "tags": [ - "AgentsService" - ], - "summary": "List Agents", - "operationId": "ListAgents", - "parameters": [ - { - "type": "string", - "description": "Return only Agents started by this pmm-agent.\nExactly one of these parameters should be present: pmm_agent_id, node_id, service_id.", - "name": "pmm_agent_id", - "in": "query" - }, - { - "type": "string", - "description": "Return only Agents that provide insights for that Node.\nExactly one of these parameters should be present: pmm_agent_id, node_id, service_id.", - "name": "node_id", - "in": "query" - }, - { - "type": "string", - "description": "Return only Agents that provide insights for that Service.\nExactly one of these parameters should be present: pmm_agent_id, node_id, service_id.", - "name": "service_id", - "in": "query" - }, - { - "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_QAN_MYSQL_PERFSCHEMA_AGENT", - "AGENT_TYPE_QAN_MYSQL_SLOWLOG_AGENT", - "AGENT_TYPE_QAN_MONGODB_PROFILER_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" - ], - "type": "string", - "default": "AGENT_TYPE_UNSPECIFIED", - "description": "Return only agents of a particular type.", - "name": "agent_type", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "pmm_agent": { - "type": "array", - "items": { - "description": "PMMAgent runs on Generic or Container Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 2 - }, - "connected": { - "description": "True if Agent is running and connected to pmm-managed.", - "type": "boolean", - "x-order": 3 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 4 - } - } - }, - "x-order": 0 - }, - "vm_agent": { - "type": "array", - "items": { - "description": "VMAgent runs on Generic or Container Node alongside pmm-agent.\nIt scrapes other exporter Agents that are configured with push_metrics_enabled\nand uses Prometheus remote write protocol to push metrics to PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 1 - }, - "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 finished.\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": 2 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 3 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 4 - } - } - }, - "x-order": 1 - }, - "node_exporter": { - "type": "array", - "items": { - "description": "NodeExporter runs on Generic or Container Node and exposes its metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 3 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 4 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 5 - }, - "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 finished.\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": 6 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 8 - }, - "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": 9 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 10 - }, - "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": 11 - } - } - }, - "x-order": 2 - }, - "mysqld_exporter": { - "type": "array", - "items": { - "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 scraping metrics.", - "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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 10 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 11 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 12 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 13 - }, - "table_count": { - "description": "Actual table count at the moment of adding.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "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 finished.\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": 15 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 16 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 17 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 18 - }, - "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": 19 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 20 - }, - "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": 21 - } - } - }, - "x-order": 3 - }, - "mongodb_exporter": { - "type": "array", - "items": { - "description": "MongoDBExporter runs on Generic or Container Node and exposes MongoDB Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 scraping metrics.", - "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 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "stats_collections": { - "type": "array", - "title": "List of colletions to get stats from. Can use *", - "items": { - "type": "string" - }, - "x-order": 12 - }, - "collections_limit": { - "type": "integer", - "format": "int32", - "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", - "x-order": 13 - }, - "enable_all_collectors": { - "description": "Enable All collectors.", - "type": "boolean", - "x-order": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "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": 16 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 17 - }, - "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": 18 - } - } - }, - "x-order": 4 - }, - "postgres_exporter": { - "type": "array", - "items": { - "description": "PostgresExporter runs on Generic or Container Node and exposes PostgreSQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for scraping metrics.", - "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. Uses sslmode=required instead of verify-full.", - "type": "boolean", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "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": 13 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 15 - }, - "max_exporter_connections": { - "description": "Maximum number of connections that exporter can open to the database instance.", - "type": "integer", - "format": "int32", - "x-order": 16 - }, - "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": 17 - } - } - }, - "x-order": 5 - }, - "proxysql_exporter": { - "type": "array", - "items": { - "description": "ProxySQLExporter runs on Generic or Container Node and exposes ProxySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "ProxySQL username for scraping metrics.", - "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 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "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": 13 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 14 - }, - "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": 15 - } - } - }, - "x-order": 6 - }, - "qan_mysql_perfschema_agent": { - "type": "array", - "items": { - "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 performance 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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 11 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 12 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "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 finished.\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": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "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": 16 - } - } - }, - "x-order": 7 - }, - "qan_mysql_slowlog_agent": { - "type": "array", - "items": { - "description": "QANMySQLSlowlogAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 performance 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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "max_query_length": { - "type": "integer", - "format": "int32", - "title": "Limit query length in QAN (default: server-defined; -1: no limit)", - "x-order": 11 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 12 - }, - "max_slowlog_file_size": { - "description": "Slowlog file is rotated at this size if \u003e 0.", - "type": "string", - "format": "int64", - "x-order": 13 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 14 - }, - "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 finished.\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": 15 - }, - "process_exec_path": { - "type": "string", - "title": "mod tidy", - "x-order": 16 - }, - "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": 17 - } - } - }, - "x-order": 8 - }, - "qan_mongodb_profiler_agent": { - "type": "array", - "items": { - "description": "QANMongoDBProfilerAgent runs within pmm-agent and sends MongoDB Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "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 finished.\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 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - } - } - }, - "x-order": 9 - }, - "qan_postgresql_pgstatements_agent": { - "type": "array", - "items": { - "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for getting pg stat statements data.", - "type": "string", - "x-order": 4 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 5 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 6 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 7 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "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 finished.\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 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "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": 12 - } - } - }, - "x-order": 10 - }, - "qan_postgresql_pgstatmonitor_agent": { - "type": "array", - "items": { - "description": "QANPostgreSQLPgStatMonitorAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for getting pg stat monitor 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 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 7 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 8 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "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 finished.\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": 11 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "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": 13 - } - } - }, - "x-order": 11 - }, - "external_exporter": { - "type": "array", - "items": { - "description": "ExternalExporter runs on any Node type, including Remote Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - }, - "disabled": { - "description": "If disabled, metrics from this exporter will not be collected.", - "type": "boolean", - "x-order": 2 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 3 - }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 4 - }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 5 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", - "type": "string", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - } - } - }, - "x-order": 12 - }, - "rds_exporter": { - "type": "array", - "items": { - "description": "RDSExporter runs on Generic or Container Node and exposes RemoteRDS Node metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 3 - }, - "aws_access_key": { - "description": "AWS Access Key.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - }, - "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 finished.\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": 6 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "basic_metrics_disabled": { - "description": "Basic metrics are disabled.", - "type": "boolean", - "x-order": 8 - }, - "enhanced_metrics_disabled": { - "description": "Enhanced metrics are disabled.", - "type": "boolean", - "x-order": 9 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 10 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "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": 12 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "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": 13 - }, - "azure_database_exporter": { - "type": "array", - "items": { - "description": "AzureDatabaseExporter runs on Generic or Container Node and exposes RemoteAzure Node metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 3 - }, - "azure_database_subscription_id": { - "description": "Azure database subscription ID.", - "type": "string", - "x-order": 4 - }, - "azure_database_resource_type": { - "type": "string", - "title": "Azure database resource type (mysql, maria, postgres)", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "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 finished.\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": 7 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "push_metrics_enabled": { - "description": "True if the exporter operates in push metrics mode.", - "type": "boolean", - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - }, - "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": 12 - } - } - }, - "x-order": 14 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "post": { - "description": "Adds an Agent to Inventory. Only one agent at a time can be passed.", - "tags": [ - "AgentsService" - ], - "summary": "Add an Agent to Inventory", - "operationId": "AddAgent", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "pmm_agent": { - "type": "object", - "properties": { - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 0 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 1 - } - }, - "x-order": 0 - }, - "node_exporter": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 0 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 1 - }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", - "type": "boolean", - "x-order": 2 - }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 3 - }, - "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": 4 - }, - "expose_exporter": { - "type": "boolean", - "title": "Expose the node_exporter process on all public interfaces", - "x-order": 5 - } - }, - "x-order": 1 - }, - "mysqld_exporter": { - "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 scraping metrics.", - "type": "string", - "x-order": 2 - }, - "password": { - "description": "MySQL password for scraping metrics.", - "type": "string", - "x-order": 3 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 4 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 5 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 6 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 7 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 8 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors will be disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 11 - }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", - "type": "boolean", - "x-order": 12 - }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 13 - }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", - "type": "string", - "x-order": 14 - }, - "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": 15 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 16 - } - }, - "x-order": 2 - }, - "mongodb_exporter": { - "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": "MongoDB username for scraping metrics.", - "type": "string", - "x-order": 2 - }, - "password": { - "description": "MongoDB password for scraping metrics.", - "type": "string", - "x-order": 3 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 4 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 5 - }, - "tls_certificate_key": { - "description": "Client certificate and key.", - "type": "string", - "x-order": 6 - }, - "tls_certificate_key_file_password": { - "description": "Password for decrypting tls_certificate_key.", - "type": "string", - "x-order": 7 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 10 - }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", - "type": "boolean", - "x-order": 11 - }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 12 - }, - "authentication_mechanism": { - "description": "Authentication mechanism.\nSee https://docs.mongodb.com/manual/reference/connection-string/#mongodb-urioption-urioption.authMechanism\nfor details.", - "type": "string", - "x-order": 13 - }, - "authentication_database": { - "description": "Authentication database.", - "type": "string", - "x-order": 14 - }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", - "type": "string", - "x-order": 15 - }, - "stats_collections": { - "type": "array", - "title": "List of colletions to get stats from. Can use *", - "items": { - "type": "string" - }, - "x-order": 16 - }, - "collections_limit": { - "type": "integer", - "format": "int32", - "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", - "x-order": 17 - }, - "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": 18 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 19 - } - }, - "x-order": 3 - }, - "postgres_exporter": { - "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": "PostgreSQL username for scraping metrics.", - "type": "string", - "x-order": 2 - }, - "password": { - "description": "PostgreSQL password for scraping metrics.", - "type": "string", - "x-order": 3 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 4 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation. Uses sslmode=required instead of verify-full.", - "type": "boolean", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 7 - }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", - "type": "boolean", - "x-order": 8 - }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 - }, - "tls_ca": { - "description": "TLS CA certificate.", - "type": "string", - "x-order": 10 - }, - "tls_cert": { - "description": "TLS Certifcate.", - "type": "string", - "x-order": 11 - }, - "tls_key": { - "description": "TLS Certificate Key.", - "type": "string", - "x-order": 12 - }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", - "type": "string", - "x-order": 13 - }, - "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": 14 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 15 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 16 - }, - "max_exporter_connections": { - "description": "Maximum number of connections that exporter can open to the database instance.", - "type": "integer", - "format": "int32", - "x-order": 17 - } - }, - "x-order": 4 - }, - "proxysql_exporter": { - "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": "ProxySQL username for scraping metrics.", - "type": "string", - "x-order": 2 - }, - "password": { - "description": "ProxySQL password for scraping metrics.", - "type": "string", - "x-order": 3 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 4 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 7 - }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", - "type": "boolean", - "x-order": 8 - }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 - }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", - "type": "string", - "x-order": 10 - }, - "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": 11 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 12 - } - }, - "x-order": 5 - }, - "external_exporter": { - "type": "object", - "properties": { - "runs_on_node_id": { - "description": "The node identifier where this instance is run.", - "type": "string", - "x-order": 0 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 1 - }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 2 - }, - "password": { - "description": "HTTP basic auth password for collecting metrics.", - "type": "string", - "x-order": 3 - }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints(default: http).", - "type": "string", - "x-order": 4 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI(default: /metrics).", - "type": "string", - "x-order": 5 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", - "type": "boolean", - "x-order": 8 - } - }, - "x-order": 6 - }, - "rds_exporter": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 0 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 1 - }, - "aws_access_key": { - "description": "AWS Access Key.", - "type": "string", - "x-order": 2 - }, - "aws_secret_key": { - "description": "AWS Secret Key.", - "type": "string", - "x-order": 3 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 4 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 5 - }, - "disable_basic_metrics": { - "description": "Disable basic metrics.", - "type": "boolean", - "x-order": 6 - }, - "disable_enhanced_metrics": { - "description": "Disable enhanced metrics.", - "type": "boolean", - "x-order": 7 - }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", - "type": "boolean", - "x-order": 8 - }, - "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": 9 - } - }, - "x-order": 7 - }, - "azure_database_exporter": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 0 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 1 - }, - "azure_client_id": { - "type": "string", - "title": "Azure client ID", - "x-order": 2 - }, - "azure_client_secret": { - "type": "string", - "title": "Azure client secret", - "x-order": 3 - }, - "azure_tenant_id": { - "type": "string", - "title": "Azure tanant ID", - "x-order": 4 - }, - "azure_subscription_id": { - "type": "string", - "title": "Azure subscription ID", - "x-order": 5 - }, - "azure_resource_group": { - "description": "Azure resource group.", - "type": "string", - "x-order": 6 - }, - "azure_database_resource_type": { - "type": "string", - "title": "Azure resource type (mysql, maria, postgres)", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 9 - }, - "push_metrics": { - "description": "Enables push metrics mode for exporter.", - "type": "boolean", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 8 - }, - "qan_mysql_perfschema_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 performance data.", - "type": "string", - "x-order": 2 - }, - "password": { - "description": "MySQL password for getting performance data.", - "type": "string", - "x-order": 3 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 4 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 5 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 6 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 7 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 8 - }, - "max_query_length": { - "type": "integer", - "format": "int32", - "title": "Limit query length in QAN (default: server-defined; -1: no limit)", - "x-order": 9 - }, - "disable_query_examples": { - "description": "Disable query examples.", - "type": "boolean", - "x-order": 10 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 11 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 12 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 13 - }, - "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": 14 - } - }, - "x-order": 9 - }, - "qan_mysql_slowlog_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 slowlog data.", - "type": "string", - "x-order": 2 - }, - "password": { - "description": "MySQL password for getting slowlog data.", - "type": "string", - "x-order": 3 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 4 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 5 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 6 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 7 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 8 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 9 - }, - "disable_query_examples": { - "description": "Disable query examples.", - "type": "boolean", - "x-order": 10 - }, - "max_slowlog_file_size": { - "description": "Rotate slowlog file at this size if \u003e 0.\nUse zero or negative value to disable rotation.", - "type": "string", - "format": "int64", - "x-order": 11 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 12 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 13 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 14 - }, - "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": 15 - } - }, - "x-order": 10 - }, - "qan_mongodb_profiler_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": "MongoDB username for getting profile data.", - "type": "string", - "x-order": 2 - }, - "password": { - "description": "MongoDB password for getting profile data.", - "type": "string", - "x-order": 3 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 4 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 5 - }, - "tls_certificate_key": { - "description": "Client certificate and key.", - "type": "string", - "x-order": 6 - }, - "tls_certificate_key_file_password": { - "description": "Password for decrypting tls_certificate_key.", - "type": "string", - "x-order": 7 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 8 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 11 - }, - "authentication_mechanism": { - "description": "Authentication mechanism.\nSee https://docs.mongodb.com/manual/reference/connection-string/#mongodb-urioption-urioption.authMechanism\nfor details.", - "type": "string", - "x-order": 12 - }, - "authentication_database": { - "description": "Authentication database.", - "type": "string", - "x-order": 13 - }, - "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": 14 - } - }, - "x-order": 11 - }, - "qan_postgresql_pgstatements_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": "PostgreSQL username for getting pg stat statements data.", - "type": "string", - "x-order": 2 - }, - "password": { - "description": "PostgreSQL password for getting pg stat statements data.", - "type": "string", - "x-order": 3 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 4 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 7 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 8 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 9 - }, - "tls_ca": { - "description": "TLS CA certificate.", - "type": "string", - "x-order": 10 - }, - "tls_cert": { - "description": "TLS Certifcate.", - "type": "string", - "x-order": 11 - }, - "tls_key": { - "description": "TLS Certificate Key.", - "type": "string", - "x-order": 12 - }, - "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": 13 - } - }, - "x-order": 12 - }, - "qan_postgresql_pgstatmonitor_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": "PostgreSQL username for getting pg stat monitor data.", - "type": "string", - "x-order": 2 - }, - "password": { - "description": "PostgreSQL password for getting pg stat monitor data.", - "type": "string", - "x-order": 3 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 4 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 5 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 6 - }, - "disable_query_examples": { - "description": "Disable query examples.", - "type": "boolean", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "tls_ca": { - "description": "TLS CA certificate.", - "type": "string", - "x-order": 11 - }, - "tls_cert": { - "description": "TLS Certifcate.", - "type": "string", - "x-order": 12 - }, - "tls_key": { - "description": "TLS Certificate Key.", - "type": "string", - "x-order": 13 - }, - "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": 14 - } - }, - "x-order": 13 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "pmm_agent": { - "description": "PMMAgent runs on Generic or Container Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 2 - }, - "connected": { - "description": "True if Agent is running and connected to pmm-managed.", - "type": "boolean", - "x-order": 3 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 0 - }, - "node_exporter": { - "description": "NodeExporter runs on Generic or Container Node and exposes its metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 3 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 4 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 5 - }, - "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 finished.\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": 6 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 8 - }, - "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": 9 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 1 - }, - "mysqld_exporter": { - "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 scraping metrics.", - "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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 10 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 11 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 12 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 13 - }, - "table_count": { - "description": "Actual table count at the moment of adding.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "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 finished.\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": 15 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 16 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 17 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 18 - }, - "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": 19 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 20 - }, - "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": 21 - } - }, - "x-order": 2 - }, - "mongodb_exporter": { - "description": "MongoDBExporter runs on Generic or Container Node and exposes MongoDB Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 scraping metrics.", - "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 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "stats_collections": { - "type": "array", - "title": "List of colletions to get stats from. Can use *", - "items": { - "type": "string" - }, - "x-order": 12 - }, - "collections_limit": { - "type": "integer", - "format": "int32", - "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", - "x-order": 13 - }, - "enable_all_collectors": { - "description": "Enable All collectors.", - "type": "boolean", - "x-order": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "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": 16 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 17 - }, - "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": 18 - } - }, - "x-order": 3 - }, - "postgres_exporter": { - "description": "PostgresExporter runs on Generic or Container Node and exposes PostgreSQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for scraping metrics.", - "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. Uses sslmode=required instead of verify-full.", - "type": "boolean", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "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": 13 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 15 - }, - "max_exporter_connections": { - "description": "Maximum number of connections that exporter can open to the database instance.", - "type": "integer", - "format": "int32", - "x-order": 16 - }, - "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": 17 - } - }, - "x-order": 4 - }, - "proxysql_exporter": { - "description": "ProxySQLExporter runs on Generic or Container Node and exposes ProxySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "ProxySQL username for scraping metrics.", - "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 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "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": 13 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 14 - }, - "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": 15 - } - }, - "x-order": 5 - }, - "external_exporter": { - "description": "ExternalExporter runs on any Node type, including Remote Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - }, - "disabled": { - "description": "If disabled, metrics from this exporter will not be collected.", - "type": "boolean", - "x-order": 2 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 3 - }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 4 - }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 5 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", - "type": "string", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 6 - }, - "rds_exporter": { - "description": "RDSExporter runs on Generic or Container Node and exposes RemoteRDS Node metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 3 - }, - "aws_access_key": { - "description": "AWS Access Key.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - }, - "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 finished.\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": 6 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "basic_metrics_disabled": { - "description": "Basic metrics are disabled.", - "type": "boolean", - "x-order": 8 - }, - "enhanced_metrics_disabled": { - "description": "Enhanced metrics are disabled.", - "type": "boolean", - "x-order": 9 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 10 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "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": 12 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "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": 7 - }, - "azure_database_exporter": { - "description": "AzureDatabaseExporter runs on Generic or Container Node and exposes RemoteAzure Node metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 3 - }, - "azure_database_subscription_id": { - "description": "Azure database subscription ID.", - "type": "string", - "x-order": 4 - }, - "azure_database_resource_type": { - "type": "string", - "title": "Azure database resource type (mysql, maria, postgres)", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "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 finished.\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": 7 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "push_metrics_enabled": { - "description": "True if the exporter operates in push metrics mode.", - "type": "boolean", - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - }, - "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": 12 - } - }, - "x-order": 8 - }, - "qan_mysql_perfschema_agent": { - "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 performance 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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 11 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 12 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "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 finished.\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": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "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": 16 - } - }, - "x-order": 9 - }, - "qan_mysql_slowlog_agent": { - "description": "QANMySQLSlowlogAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 performance 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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "max_query_length": { - "type": "integer", - "format": "int32", - "title": "Limit query length in QAN (default: server-defined; -1: no limit)", - "x-order": 11 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 12 - }, - "max_slowlog_file_size": { - "description": "Slowlog file is rotated at this size if \u003e 0.", - "type": "string", - "format": "int64", - "x-order": 13 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 14 - }, - "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 finished.\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": 15 - }, - "process_exec_path": { - "type": "string", - "title": "mod tidy", - "x-order": 16 - }, - "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": 17 - } - }, - "x-order": 10 - }, - "qan_mongodb_profiler_agent": { - "description": "QANMongoDBProfilerAgent runs within pmm-agent and sends MongoDB Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "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 finished.\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 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 11 - }, - "qan_postgresql_pgstatements_agent": { - "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for getting pg stat statements data.", - "type": "string", - "x-order": 4 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 5 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 6 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 7 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "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 finished.\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 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "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": 12 - } - }, - "x-order": 12 - }, - "qan_postgresql_pgstatmonitor_agent": { - "description": "QANPostgreSQLPgStatMonitorAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for getting pg stat monitor 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 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 7 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 8 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "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 finished.\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": 11 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "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": 13 - } - }, - "x-order": 13 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/inventory/agents/{agent_id}": { - "get": { - "description": "Returns a single Agent by ID.", - "tags": [ - "AgentsService" - ], - "summary": "Get Agent", - "operationId": "GetAgent", - "parameters": [ - { - "type": "string", - "description": "Unique randomly generated instance identifier.", - "name": "agent_id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "pmm_agent": { - "description": "PMMAgent runs on Generic or Container Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 2 - }, - "connected": { - "description": "True if Agent is running and connected to pmm-managed.", - "type": "boolean", - "x-order": 3 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 0 - }, - "vmagent": { - "description": "VMAgent runs on Generic or Container Node alongside pmm-agent.\nIt scrapes other exporter Agents that are configured with push_metrics_enabled\nand uses Prometheus remote write protocol to push metrics to PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "pmm_agent_id": { - "description": "The pmm-agent identifier which runs this instance.", - "type": "string", - "x-order": 1 - }, - "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 finished.\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": 2 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 3 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 4 - } - }, - "x-order": 1 - }, - "node_exporter": { - "description": "NodeExporter runs on Generic or Container Node and exposes its metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 3 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 4 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 5 - }, - "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 finished.\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": 6 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 8 - }, - "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": 9 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 2 - }, - "mysqld_exporter": { - "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 scraping metrics.", - "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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 10 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 11 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 12 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 13 - }, - "table_count": { - "description": "Actual table count at the moment of adding.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "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 finished.\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": 15 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 16 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 17 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 18 - }, - "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": 19 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 20 - }, - "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": 21 - } - }, - "x-order": 3 - }, - "mongodb_exporter": { - "description": "MongoDBExporter runs on Generic or Container Node and exposes MongoDB Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 scraping metrics.", - "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 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "stats_collections": { - "type": "array", - "title": "List of colletions to get stats from. Can use *", - "items": { - "type": "string" - }, - "x-order": 12 - }, - "collections_limit": { - "type": "integer", - "format": "int32", - "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", - "x-order": 13 - }, - "enable_all_collectors": { - "description": "Enable All collectors.", - "type": "boolean", - "x-order": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "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": 16 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 17 - }, - "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": 18 - } - }, - "x-order": 4 - }, - "postgres_exporter": { - "description": "PostgresExporter runs on Generic or Container Node and exposes PostgreSQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for scraping metrics.", - "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. Uses sslmode=required instead of verify-full.", - "type": "boolean", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "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": 13 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 15 - }, - "max_exporter_connections": { - "description": "Maximum number of connections that exporter can open to the database instance.", - "type": "integer", - "format": "int32", - "x-order": 16 - }, - "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": 17 - } - }, - "x-order": 5 - }, - "proxysql_exporter": { - "description": "ProxySQLExporter runs on Generic or Container Node and exposes ProxySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "ProxySQL username for scraping metrics.", - "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 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "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": 13 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 14 - }, - "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": 15 - } - }, - "x-order": 6 - }, - "qan_mysql_perfschema_agent": { - "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 performance 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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 11 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 12 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "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 finished.\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": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "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": 16 - } - }, - "x-order": 7 - }, - "qan_mysql_slowlog_agent": { - "description": "QANMySQLSlowlogAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 performance 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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "max_query_length": { - "type": "integer", - "format": "int32", - "title": "Limit query length in QAN (default: server-defined; -1: no limit)", - "x-order": 11 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 12 - }, - "max_slowlog_file_size": { - "description": "Slowlog file is rotated at this size if \u003e 0.", - "type": "string", - "format": "int64", - "x-order": 13 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 14 - }, - "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 finished.\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": 15 - }, - "process_exec_path": { - "type": "string", - "title": "mod tidy", - "x-order": 16 - }, - "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": 17 - } - }, - "x-order": 8 - }, - "qan_mongodb_profiler_agent": { - "description": "QANMongoDBProfilerAgent runs within pmm-agent and sends MongoDB Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "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 finished.\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 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 9 - }, - "qan_postgresql_pgstatements_agent": { - "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for getting pg stat statements data.", - "type": "string", - "x-order": 4 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 5 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 6 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 7 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "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 finished.\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 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "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": 12 - } - }, - "x-order": 10 - }, - "qan_postgresql_pgstatmonitor_agent": { - "description": "QANPostgreSQLPgStatMonitorAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for getting pg stat monitor 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 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 7 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 8 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "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 finished.\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": 11 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "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": 13 - } - }, - "x-order": 11 - }, - "external_exporter": { - "description": "ExternalExporter runs on any Node type, including Remote Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - }, - "disabled": { - "description": "If disabled, metrics from this exporter will not be collected.", - "type": "boolean", - "x-order": 2 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 3 - }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 4 - }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 5 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", - "type": "string", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 12 - }, - "rds_exporter": { - "description": "RDSExporter runs on Generic or Container Node and exposes RemoteRDS Node metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 3 - }, - "aws_access_key": { - "description": "AWS Access Key.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - }, - "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 finished.\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": 6 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "basic_metrics_disabled": { - "description": "Basic metrics are disabled.", - "type": "boolean", - "x-order": 8 - }, - "enhanced_metrics_disabled": { - "description": "Enhanced metrics are disabled.", - "type": "boolean", - "x-order": 9 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 10 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "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": 12 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "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": 13 - }, - "azure_database_exporter": { - "description": "AzureDatabaseExporter runs on Generic or Container Node and exposes RemoteAzure Node metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 3 - }, - "azure_database_subscription_id": { - "description": "Azure database subscription ID.", - "type": "string", - "x-order": 4 - }, - "azure_database_resource_type": { - "type": "string", - "title": "Azure database resource type (mysql, maria, postgres)", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "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 finished.\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": 7 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "push_metrics_enabled": { - "description": "True if the exporter operates in push metrics mode.", - "type": "boolean", - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - }, - "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": 12 - } - }, - "x-order": 14 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "put": { - "description": "Updates an Agent in Inventory. Only one agent at a time can be passed.", - "tags": [ - "AgentsService" - ], - "summary": "Update an Agent in Inventory", - "operationId": "ChangeAgent", - "parameters": [ - { - "type": "string", - "name": "agent_id", - "in": "path", - "required": true - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "node_exporter": { - "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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 0 - }, - "mysqld_exporter": { - "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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 1 - }, - "mongodb_exporter": { - "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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 2 - }, - "postgres_exporter": { - "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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 3 - }, - "proxysql_exporter": { - "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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 4 - }, - "external_exporter": { - "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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 5 - }, - "rds_exporter": { - "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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 6 - }, - "azure_database_exporter": { - "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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 7 - }, - "qan_mysql_perfschema_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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 8 - }, - "qan_mysql_slowlog_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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 9 - }, - "qan_mongodb_profiler_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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 10 - }, - "qan_postgresql_pgstatements_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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 11 - }, - "qan_postgresql_pgstatmonitor_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 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent.", - "type": "boolean", - "x-nullable": true, - "x-order": 2 - }, - "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": 3 - } - }, - "x-order": 12 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "node_exporter": { - "description": "NodeExporter runs on Generic or Container Node and exposes its metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 3 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 4 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 5 - }, - "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 finished.\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": 6 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 8 - }, - "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": 9 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 0 - }, - "mysqld_exporter": { - "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 scraping metrics.", - "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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 10 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 11 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 12 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 13 - }, - "table_count": { - "description": "Actual table count at the moment of adding.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "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 finished.\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": 15 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 16 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 17 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 18 - }, - "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": 19 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 20 - }, - "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": 21 - } - }, - "x-order": 1 - }, - "mongodb_exporter": { - "description": "MongoDBExporter runs on Generic or Container Node and exposes MongoDB Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 scraping metrics.", - "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 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "stats_collections": { - "type": "array", - "title": "List of colletions to get stats from. Can use *", - "items": { - "type": "string" - }, - "x-order": 12 - }, - "collections_limit": { - "type": "integer", - "format": "int32", - "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", - "x-order": 13 - }, - "enable_all_collectors": { - "description": "Enable All collectors.", - "type": "boolean", - "x-order": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "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": 16 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 17 - }, - "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": 18 - } - }, - "x-order": 2 - }, - "postgres_exporter": { - "description": "PostgresExporter runs on Generic or Container Node and exposes PostgreSQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for scraping metrics.", - "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. Uses sslmode=required instead of verify-full.", - "type": "boolean", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "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": 13 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 15 - }, - "max_exporter_connections": { - "description": "Maximum number of connections that exporter can open to the database instance.", - "type": "integer", - "format": "int32", - "x-order": 16 - }, - "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": 17 - } - }, - "x-order": 3 - }, - "proxysql_exporter": { - "description": "ProxySQLExporter runs on Generic or Container Node and exposes ProxySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "ProxySQL username for scraping metrics.", - "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 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "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": 13 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 14 - }, - "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": 15 - } - }, - "x-order": 4 - }, - "external_exporter": { - "description": "ExternalExporter runs on any Node type, including Remote Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - }, - "disabled": { - "description": "If disabled, metrics from this exporter will not be collected.", - "type": "boolean", - "x-order": 2 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 3 - }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 4 - }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 5 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", - "type": "string", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 5 - }, - "rds_exporter": { - "description": "RDSExporter runs on Generic or Container Node and exposes RemoteRDS Node metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 3 - }, - "aws_access_key": { - "description": "AWS Access Key.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - }, - "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 finished.\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": 6 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "basic_metrics_disabled": { - "description": "Basic metrics are disabled.", - "type": "boolean", - "x-order": 8 - }, - "enhanced_metrics_disabled": { - "description": "Enhanced metrics are disabled.", - "type": "boolean", - "x-order": 9 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 10 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "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": 12 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "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": 6 - }, - "azure_database_exporter": { - "description": "AzureDatabaseExporter runs on Generic or Container Node and exposes RemoteAzure Node metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 3 - }, - "azure_database_subscription_id": { - "description": "Azure database subscription ID.", - "type": "string", - "x-order": 4 - }, - "azure_database_resource_type": { - "type": "string", - "title": "Azure database resource type (mysql, maria, postgres)", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "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 finished.\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": 7 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "push_metrics_enabled": { - "description": "True if the exporter operates in push metrics mode.", - "type": "boolean", - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - }, - "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": 12 - } - }, - "x-order": 7 - }, - "qan_mysql_perfschema_agent": { - "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 performance 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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 11 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 12 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "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 finished.\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": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "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": 16 - } - }, - "x-order": 8 - }, - "qan_mysql_slowlog_agent": { - "description": "QANMySQLSlowlogAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 performance 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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "max_query_length": { - "type": "integer", - "format": "int32", - "title": "Limit query length in QAN (default: server-defined; -1: no limit)", - "x-order": 11 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 12 - }, - "max_slowlog_file_size": { - "description": "Slowlog file is rotated at this size if \u003e 0.", - "type": "string", - "format": "int64", - "x-order": 13 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 14 - }, - "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 finished.\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": 15 - }, - "process_exec_path": { - "type": "string", - "title": "mod tidy", - "x-order": 16 - }, - "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": 17 - } - }, - "x-order": 9 - }, - "qan_mongodb_profiler_agent": { - "description": "QANMongoDBProfilerAgent runs within pmm-agent and sends MongoDB Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "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 finished.\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 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 10 - }, - "qan_postgresql_pgstatements_agent": { - "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for getting pg stat statements data.", - "type": "string", - "x-order": 4 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 5 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 6 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 7 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "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 finished.\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 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "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": 12 - } - }, - "x-order": 11 - }, - "qan_postgresql_pgstatmonitor_agent": { - "description": "QANPostgreSQLPgStatMonitorAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for getting pg stat monitor 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 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 7 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 8 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "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 finished.\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": 11 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "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": 13 - } - }, - "x-order": 12 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "delete": { - "description": "Removes an Agent from Inventory.", - "tags": [ - "AgentsService" - ], - "summary": "Remove an Agent from Inventory", - "operationId": "RemoveAgent", - "parameters": [ - { - "type": "string", - "name": "agent_id", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Remove agent with all dependencies.", - "name": "force", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/inventory/agents/{agent_id}/logs": { - "get": { - "description": "Returns Agent logs by ID.", - "tags": [ - "AgentsService" - ], - "summary": "Get Agent logs", - "operationId": "GetAgentLogs", - "parameters": [ - { - "type": "string", - "description": "Unique randomly generated instance identifier.", - "name": "agent_id", - "in": "path", - "required": true - }, - { - "type": "integer", - "format": "int64", - "description": "Limit the number of log lines to this value. Pass 0 for no limit.", - "name": "limit", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "logs": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 0 - }, - "agent_config_log_lines_count": { - "type": "integer", - "format": "int64", - "x-order": 1 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/inventory/nodes": { - "get": { - "description": "Returns a list of all Nodes.", - "tags": [ - "NodesService" - ], - "summary": "List Nodes", - "operationId": "ListNodes", - "parameters": [ - { - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "description": "Return only Nodes with matching Node type.", - "name": "node_type", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "generic": { - "type": "array", - "items": { - "description": "GenericNode represents a bare metal server or virtual machine.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 3 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 4 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 5 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 6 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - } - } - }, - "x-order": 0 - }, - "container": { - "type": "array", - "items": { - "description": "ContainerNode represents a Docker container.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "machine_id": { - "description": "Linux machine-id of the Generic Node where this Container Node runs.", - "type": "string", - "x-order": 3 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 4 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 5 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 6 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 7 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - } - } - }, - "x-order": 1 - }, - "remote": { - "type": "array", - "items": { - "description": "RemoteNode represents generic remote Node. It's a node where we don't run pmm-agents. Only external exporters can run on Remote Nodes.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - } - }, - "x-order": 2 - }, - "remote_rds": { - "type": "array", - "items": { - "description": "RemoteRDSNode represents remote RDS Node. Agents can't run on Remote RDS Nodes.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "DB instance identifier.", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - } - }, - "x-order": 3 - }, - "remote_azure_database": { - "type": "array", - "items": { - "description": "RemoteAzureDatabaseNode represents remote AzureDatabase Node. Agents can't run on Remote AzureDatabase Nodes.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "DB instance identifier.", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - } - }, - "x-order": 4 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "post": { - "description": "Adds a Node.", - "tags": [ - "NodesService" - ], - "summary": "Add a Node", - "operationId": "AddNode", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "generic": { - "type": "object", - "properties": { - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 0 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 1 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 2 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 3 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 4 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 5 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - } - }, - "x-order": 0 - }, - "container": { - "type": "object", - "properties": { - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 0 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 1 - }, - "machine_id": { - "description": "Linux machine-id of the Generic Node where this Container Node runs.", - "type": "string", - "x-order": 2 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 3 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 4 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 5 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 6 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - } - }, - "x-order": 1 - }, - "remote": { - "type": "object", - "properties": { - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 0 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 1 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 2 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 3 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - } - }, - "x-order": 2 - }, - "remote_rds": { - "type": "object", - "properties": { - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 0 - }, - "address": { - "description": "DB instance identifier.", - "type": "string", - "x-order": 1 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 2 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 3 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - } - }, - "x-order": 3 - }, - "remote_azure": { - "type": "object", - "properties": { - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 0 - }, - "address": { - "description": "DB instance identifier.", - "type": "string", - "x-order": 1 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 2 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 3 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - } - }, - "x-order": 4 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "generic": { - "description": "GenericNode represents a bare metal server or virtual machine.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 3 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 4 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 5 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 6 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - } - }, - "x-order": 0 - }, - "container": { - "description": "ContainerNode represents a Docker container.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "machine_id": { - "description": "Linux machine-id of the Generic Node where this Container Node runs.", - "type": "string", - "x-order": 3 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 4 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 5 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 6 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 7 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - } - }, - "x-order": 1 - }, - "remote": { - "description": "RemoteNode represents generic remote Node. It's a node where we don't run pmm-agents. Only external exporters can run on Remote Nodes.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - }, - "x-order": 2 - }, - "remote_rds": { - "description": "RemoteRDSNode represents remote RDS Node. Agents can't run on Remote RDS Nodes.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "DB instance identifier.", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - }, - "x-order": 3 - }, - "remote_azure_database": { - "description": "RemoteAzureDatabaseNode represents remote AzureDatabase Node. Agents can't run on Remote AzureDatabase Nodes.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "DB instance identifier.", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - }, - "x-order": 4 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/inventory/nodes/{node_id}": { - "get": { - "description": "Returns a single Node by ID.", - "tags": [ - "NodesService" - ], - "summary": "Get a Node", - "operationId": "GetNode", - "parameters": [ - { - "type": "string", - "description": "Unique randomly generated instance identifier.", - "name": "node_id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "generic": { - "description": "GenericNode represents a bare metal server or virtual machine.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 3 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 4 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 5 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 6 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - } - }, - "x-order": 0 - }, - "container": { - "description": "ContainerNode represents a Docker container.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "machine_id": { - "description": "Linux machine-id of the Generic Node where this Container Node runs.", - "type": "string", - "x-order": 3 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 4 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 5 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 6 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 7 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - } - }, - "x-order": 1 - }, - "remote": { - "description": "RemoteNode represents generic remote Node. It's a node where we don't run pmm-agents. Only external exporters can run on Remote Nodes.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - }, - "x-order": 2 - }, - "remote_rds": { - "description": "RemoteRDSNode represents remote RDS Node. Agents can't run on Remote RDS Nodes.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "DB instance identifier.", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - }, - "x-order": 3 - }, - "remote_azure_database": { - "description": "RemoteAzureDatabaseNode represents remote AzureDatabase Node. Agents can't run on Remote AzureDatabase Nodes.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "DB instance identifier.", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - }, - "x-order": 4 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "delete": { - "description": "Removes a Node.", - "tags": [ - "NodesService" - ], - "summary": "Remove a Node", - "operationId": "RemoveNode", - "parameters": [ - { - "type": "string", - "description": "Unique randomly generated instance identifier.", - "name": "node_id", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Remove node with all dependencies.", - "name": "force", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/inventory/services": { - "get": { - "description": "Returns a list of Services filtered by type.", - "tags": [ - "ServicesService" - ], - "summary": "List Services", - "operationId": "ListServices", - "parameters": [ - { - "type": "string", - "description": "Return only Services running on that Node.", - "name": "node_id", - "in": "query" - }, - { - "enum": [ - "SERVICE_TYPE_UNSPECIFIED", - "SERVICE_TYPE_MYSQL_SERVICE", - "SERVICE_TYPE_MONGODB_SERVICE", - "SERVICE_TYPE_POSTGRESQL_SERVICE", - "SERVICE_TYPE_PROXYSQL_SERVICE", - "SERVICE_TYPE_HAPROXY_SERVICE", - "SERVICE_TYPE_EXTERNAL_SERVICE" - ], - "type": "string", - "default": "SERVICE_TYPE_UNSPECIFIED", - "description": "Return only services filtered by service type.", - "name": "service_type", - "in": "query" - }, - { - "type": "string", - "description": "Return only services in this external group.", - "name": "external_group", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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 - } - } - }, - "x-order": 0 - }, - "mongodb": { - "type": "array", - "items": { - "description": "MongoDBService represents a generic MongoDB 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": "MongoDB version.", - "type": "string", - "x-order": 10 - } - } - }, - "x-order": 1 - }, - "postgresql": { - "type": "array", - "items": { - "description": "PostgreSQLService represents a generic PostgreSQL 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 - }, - "database_name": { - "description": "Database name.", - "type": "string", - "x-order": 2 - }, - "node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 6 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 7 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 8 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "version": { - "description": "PostgreSQL version.", - "type": "string", - "x-order": 11 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 12 - } - } - }, - "x-order": 2 - }, - "proxysql": { - "type": "array", - "items": { - "description": "ProxySQLService represents a generic ProxySQL 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": "ProxySQL version.", - "type": "string", - "x-order": 10 - } - } - }, - "x-order": 3 - }, - "haproxy": { - "type": "array", - "items": { - "description": "HAProxyService represents a generic HAProxy service 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 service instance runs.", - "type": "string", - "x-order": 2 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - } - }, - "x-order": 4 - }, - "external": { - "type": "array", - "items": { - "description": "ExternalService represents a generic External service 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 service instance runs.", - "type": "string", - "x-order": 2 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "group": { - "description": "Group name of external service.", - "type": "string", - "x-order": 7 - } - } - }, - "x-order": 5 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "post": { - "description": "Adds a Service.", - "tags": [ - "ServicesService" - ], - "summary": "Add a Service", - "operationId": "AddService", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "mysql": { - "type": "object", - "properties": { - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 0 - }, - "node_id": { - "description": "Node identifier where this instance runs. Required.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 2 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 3 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 5 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 6 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - } - }, - "x-order": 0 - }, - "mongodb": { - "type": "object", - "properties": { - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 0 - }, - "node_id": { - "description": "Node identifier where this instance runs. Required.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 2 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 3 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 5 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 6 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - } - }, - "x-order": 1 - }, - "postgresql": { - "type": "object", - "properties": { - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 0 - }, - "node_id": { - "description": "Node identifier where this instance runs. Required.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 2 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 3 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 5 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 6 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 9 - } - }, - "x-order": 2 - }, - "proxysql": { - "type": "object", - "properties": { - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 0 - }, - "node_id": { - "description": "Node identifier where this instance runs. Required.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 2 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 3 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 5 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 6 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - } - }, - "x-order": 3 - }, - "haproxy": { - "type": "object", - "properties": { - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 0 - }, - "node_id": { - "description": "Node identifier where this instance runs. Required.", - "type": "string", - "x-order": 1 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 2 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 3 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - } - }, - "x-order": 4 - }, - "external": { - "type": "object", - "properties": { - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 0 - }, - "node_id": { - "description": "Node identifier where this instance runs. Required.", - "type": "string", - "x-order": 1 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 2 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 3 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - }, - "group": { - "description": "Group name of external service.", - "type": "string", - "x-order": 6 - } - }, - "x-order": 5 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "mysql": { - "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 - } - }, - "x-order": 0 - }, - "mongodb": { - "description": "MongoDBService represents a generic MongoDB 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": "MongoDB version.", - "type": "string", - "x-order": 10 - } - }, - "x-order": 1 - }, - "postgresql": { - "description": "PostgreSQLService represents a generic PostgreSQL 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 - }, - "database_name": { - "description": "Database name.", - "type": "string", - "x-order": 2 - }, - "node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 6 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 7 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 8 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "version": { - "description": "PostgreSQL version.", - "type": "string", - "x-order": 11 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 12 - } - }, - "x-order": 2 - }, - "proxysql": { - "description": "ProxySQLService represents a generic ProxySQL 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": "ProxySQL version.", - "type": "string", - "x-order": 10 - } - }, - "x-order": 3 - }, - "haproxy": { - "description": "HAProxyService represents a generic HAProxy service 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 service instance runs.", - "type": "string", - "x-order": 2 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - }, - "x-order": 4 - }, - "external": { - "description": "ExternalService represents a generic External service 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 service instance runs.", - "type": "string", - "x-order": 2 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "group": { - "description": "Group name of external service.", - "type": "string", - "x-order": 7 - } - }, - "x-order": 5 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/inventory/services/{service_id}": { - "get": { - "description": "Returns a single Service by ID.", - "tags": [ - "ServicesService" - ], - "summary": "Get a Service", - "operationId": "GetService", - "parameters": [ - { - "type": "string", - "description": "Unique randomly generated instance identifier.", - "name": "service_id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "mysql": { - "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 - } - }, - "x-order": 0 - }, - "mongodb": { - "description": "MongoDBService represents a generic MongoDB 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": "MongoDB version.", - "type": "string", - "x-order": 10 - } - }, - "x-order": 1 - }, - "postgresql": { - "description": "PostgreSQLService represents a generic PostgreSQL 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 - }, - "database_name": { - "description": "Database name.", - "type": "string", - "x-order": 2 - }, - "node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 6 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 7 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 8 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "version": { - "description": "PostgreSQL version.", - "type": "string", - "x-order": 11 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 12 - } - }, - "x-order": 2 - }, - "proxysql": { - "description": "ProxySQLService represents a generic ProxySQL 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": "ProxySQL version.", - "type": "string", - "x-order": 10 - } - }, - "x-order": 3 - }, - "haproxy": { - "description": "HAProxyService represents a generic HAProxy service 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 service instance runs.", - "type": "string", - "x-order": 2 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - }, - "x-order": 4 - }, - "external": { - "description": "ExternalService represents a generic External service 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 service instance runs.", - "type": "string", - "x-order": 2 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "group": { - "description": "Group name of external service.", - "type": "string", - "x-order": 7 - } - }, - "x-order": 5 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "put": { - "description": "Changes service configuration. If a new cluster label is specified, it removes all backup/restore tasks scheduled for the related services. Fails if there are running backup/restore tasks.", - "tags": [ - "ServicesService" - ], - "summary": "Change service", - "operationId": "ChangeService", - "parameters": [ - { - "type": "string", - "name": "service_id", - "in": "path", - "required": true - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "environment": { - "type": "string", - "x-nullable": true, - "x-order": 0 - }, - "cluster": { - "type": "string", - "x-nullable": true, - "x-order": 1 - }, - "replication_set": { - "type": "string", - "x-nullable": true, - "x-order": 2 - }, - "external_group": { - "type": "string", - "x-nullable": true, - "x-order": 3 - }, - "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": 4 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "mysql": { - "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 - } - }, - "x-order": 0 - }, - "mongodb": { - "description": "MongoDBService represents a generic MongoDB 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": "MongoDB version.", - "type": "string", - "x-order": 10 - } - }, - "x-order": 1 - }, - "postgresql": { - "description": "PostgreSQLService represents a generic PostgreSQL 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 - }, - "database_name": { - "description": "Database name.", - "type": "string", - "x-order": 2 - }, - "node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 6 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 7 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 8 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "version": { - "description": "PostgreSQL version.", - "type": "string", - "x-order": 11 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 12 - } - }, - "x-order": 2 - }, - "proxysql": { - "description": "ProxySQLService represents a generic ProxySQL 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": "ProxySQL version.", - "type": "string", - "x-order": 10 - } - }, - "x-order": 3 - }, - "haproxy": { - "description": "HAProxyService represents a generic HAProxy service 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 service instance runs.", - "type": "string", - "x-order": 2 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - }, - "x-order": 4 - }, - "external": { - "description": "ExternalService represents a generic External service 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 service instance runs.", - "type": "string", - "x-order": 2 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "group": { - "description": "Group name of external service.", - "type": "string", - "x-order": 7 - } - }, - "x-order": 5 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "delete": { - "description": "Removes Service.", - "tags": [ - "ServicesService" - ], - "summary": "Remove Service", - "operationId": "RemoveService", - "parameters": [ - { - "type": "string", - "description": "Unique randomly generated instance identifier. Required.", - "name": "service_id", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Remove service with all dependencies.", - "name": "force", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/inventory/services:getTypes": { - "post": { - "description": "Returns a list of active Service types.", - "tags": [ - "ServicesService" - ], - "summary": "List Active Service Types", - "operationId": "ListActiveServiceTypes", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "service_types": { - "type": "array", - "items": { - "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_PROXYSQL_SERVICE", - "SERVICE_TYPE_HAPROXY_SERVICE", - "SERVICE_TYPE_EXTERNAL_SERVICE" - ] - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/management/agents": { - "get": { - "description": "Lists Agents with filter.", - "tags": [ - "ManagementService" - ], - "summary": "List Agents", - "operationId": "ListAgentsMixin3", - "parameters": [ - { - "type": "string", - "description": "Return only Agents that relate to a specific ServiceID.", - "name": "service_id", - "in": "query" - }, - { - "type": "string", - "description": "Return only Agents that relate to a specific NodeID.", - "name": "node_id", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "agents": { - "description": "List of Agents.", - "type": "array", - "items": { - "type": "object", - "properties": { - "agent_id": { - "description": "Unique agent identifier.", - "type": "string", - "x-order": 0 - }, - "is_agent_password_set": { - "description": "True if the agent password is set.", - "type": "boolean", - "x-order": 1 - }, - "agent_type": { - "description": "Agent type.", - "type": "string", - "x-order": 2 - }, - "aws_access_key": { - "description": "AWS Access Key.", - "type": "string", - "x-order": 3 - }, - "is_aws_secret_key_set": { - "description": "True if AWS Secret Key is set.", - "type": "boolean", - "x-order": 4 - }, - "azure_options": { - "type": "object", - "properties": { - "client_id": { - "description": "Azure client ID.", - "type": "string", - "x-order": 0 - }, - "is_client_secret_set": { - "description": "True if Azure client secret is set.", - "type": "boolean", - "x-order": 1 - }, - "resource_group": { - "description": "Azure resource group.", - "type": "string", - "x-order": 2 - }, - "subscription_id": { - "description": "Azure subscription ID.", - "type": "string", - "x-order": 3 - }, - "tenant_id": { - "description": "Azure tenant ID.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 5 - }, - "created_at": { - "description": "Creation timestamp.", - "type": "string", - "format": "date-time", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 10 - }, - "log_level": { - "description": "Log level for exporter.", - "type": "string", - "x-order": 11 - }, - "max_query_length": { - "description": "Limit query length in QAN.", - "type": "integer", - "format": "int32", - "x-order": 12 - }, - "max_query_log_size": { - "description": "Limit query log size in QAN.", - "type": "string", - "format": "int64", - "x-order": 13 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", - "type": "string", - "x-order": 14 - }, - "metrics_scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 15 - }, - "mongo_db_options": { - "type": "object", - "properties": { - "is_tls_certificate_key_set": { - "description": "True if TLS certificate is set.", - "type": "boolean", - "x-order": 0 - }, - "is_tls_certificate_key_file_password_set": { - "description": "True if TLS certificate file password is set.", - "type": "boolean", - "x-order": 1 - }, - "authentication_mechanism": { - "description": "MongoDB auth mechanism.", - "type": "string", - "x-order": 2 - }, - "authentication_database": { - "description": "MongoDB auth database.", - "type": "string", - "x-order": 3 - }, - "stats_collections": { - "description": "MongoDB stats collections.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 4 - }, - "collections_limit": { - "description": "MongoDB collections limit.", - "type": "integer", - "format": "int32", - "x-order": 5 - }, - "enable_all_collectors": { - "description": "True if all collectors are enabled.", - "type": "boolean", - "x-order": 6 - } - }, - "x-order": 16 - }, - "mysql_options": { - "type": "object", - "properties": { - "is_tls_key_set": { - "description": "True if TLS key is set.", - "type": "boolean", - "x-order": 0 - } - }, - "x-order": 17 - }, - "node_id": { - "description": "A unique node identifier.", - "type": "string", - "x-order": 18 - }, - "is_password_set": { - "description": "True if password for connecting the agent to the database is set.", - "type": "boolean", - "x-order": 19 - }, - "pmm_agent_id": { - "description": "The pmm-agent identifier.", - "type": "string", - "x-order": 20 - }, - "postgresql_options": { - "type": "object", - "properties": { - "is_ssl_key_set": { - "description": "True if TLS key is set.", - "type": "boolean", - "x-order": 0 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 1 - }, - "max_exporter_connections": { - "description": "Maximum number of connections from exporter to PostgreSQL instance.", - "type": "integer", - "format": "int32", - "x-order": 2 - } - }, - "x-order": 21 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 22 - }, - "push_metrics": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 23 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 24 - }, - "comments_parsing_disabled": { - "description": "True if query comments parsing is disabled.", - "type": "boolean", - "x-order": 25 - }, - "rds_basic_metrics_disabled": { - "description": "True if RDS basic metrics are disdabled.", - "type": "boolean", - "x-order": 26 - }, - "rds_enhanced_metrics_disabled": { - "description": "True if RDS enhanced metrics are disdabled.", - "type": "boolean", - "x-order": 27 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 28 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 29 - }, - "status": { - "description": "Actual Agent status.", - "type": "string", - "x-order": 30 - }, - "table_count": { - "description": "Last known table count.", - "type": "integer", - "format": "int32", - "x-order": 31 - }, - "table_count_tablestats_group_limit": { - "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 32 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 33 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 34 - }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 35 - }, - "updated_at": { - "description": "Last update timestamp.", - "type": "string", - "format": "date-time", - "x-order": 36 - }, - "version": { - "description": "Agent version.", - "type": "string", - "x-order": 37 - }, - "is_connected": { - "description": "True if Agent is running and connected to pmm-managed.", - "type": "boolean", - "x-order": 38 - }, - "expose_exporter": { - "description": "True if an exporter agent is exposed on all host addresses.", - "type": "boolean", - "x-order": 39 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/management/agents/versions": { - "get": { - "description": "Lists Agent versions and their update severity.", - "tags": [ - "ManagementService" - ], - "summary": "List Agent Versions", - "operationId": "ListAgentVersions", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "agent_versions": { - "description": "List of Agent versions.", - "type": "array", - "items": { - "type": "object", - "properties": { - "agent_id": { - "description": "Agent ID.", - "type": "string", - "x-order": 0 - }, - "version": { - "description": "Agent version.", - "type": "string", - "x-order": 1 - }, - "node_name": { - "description": "Node name where the agent runs.", - "type": "string", - "x-order": 2 - }, - "severity": { - "description": " - UPDATE_SEVERITY_UNSUPPORTED: The client version is newer than the server version.\n - UPDATE_SEVERITY_UP_TO_DATE: The client version matches the server version.\n - UPDATE_SEVERITY_REQUIRED: The client's minor or patch version is older.\n - UPDATE_SEVERITY_CRITICAL: The client's major version is older.", - "type": "string", - "default": "UPDATE_SEVERITY_UNSPECIFIED", - "enum": [ - "UPDATE_SEVERITY_UNSPECIFIED", - "UPDATE_SEVERITY_UNSUPPORTED", - "UPDATE_SEVERITY_UP_TO_DATE", - "UPDATE_SEVERITY_REQUIRED", - "UPDATE_SEVERITY_CRITICAL" - ], - "x-order": 3 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/management/annotations": { - "post": { - "description": "Adds an annotation.", - "tags": [ - "ManagementService" - ], - "summary": "Add an Annotation", - "operationId": "AddAnnotation", - "parameters": [ - { - "description": "AddAnnotationRequest is a params to add new annotation.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "AddAnnotationRequest is a params to add new annotation.", - "type": "object", - "properties": { - "text": { - "description": "An annotation description. Required.", - "type": "string", - "x-order": 0 - }, - "tags": { - "description": "Tags are used to filter annotations.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 1 - }, - "node_name": { - "description": "Used for annotating a node.", - "type": "string", - "x-order": 2 - }, - "service_names": { - "description": "Used for annotating services.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 3 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/management/nodes": { - "get": { - "description": "Lists Nodes with filter.", - "tags": [ - "ManagementService" - ], - "summary": "List Nodes", - "operationId": "ListNodesMixin3", - "parameters": [ - { - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "description": "Node type to be filtered out.", - "name": "node_type", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "nodes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "node_id": { - "description": "Unique Node identifier.", - "type": "string", - "x-order": 0 - }, - "node_type": { - "description": "Node type.", - "type": "string", - "x-order": 1 - }, - "node_name": { - "description": "User-defined node name.", - "type": "string", - "x-order": 2 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 3 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 4 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 5 - }, - "container_id": { - "description": "A node's unique docker container identifier.", - "type": "string", - "x-order": 6 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 7 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 8 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 9 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 10 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 11 - }, - "created_at": { - "description": "Creation timestamp.", - "type": "string", - "format": "date-time", - "x-order": 12 - }, - "updated_at": { - "description": "Last update timestamp.", - "type": "string", - "format": "date-time", - "x-order": 13 - }, - "status": { - "description": "Node status.\n\n - STATUS_UNSPECIFIED: Invalid status.\n - STATUS_UP: The node is up.\n - STATUS_DOWN: The node is down.\n - STATUS_UNKNOWN: The node's status cannot be known (e.g. there are no metrics yet).", - "type": "string", - "default": "STATUS_UNSPECIFIED", - "enum": [ - "STATUS_UNSPECIFIED", - "STATUS_UP", - "STATUS_DOWN", - "STATUS_UNKNOWN" - ], - "x-order": 14 - }, - "agents": { - "description": "List of agents related to this node.", - "type": "array", - "items": { - "type": "object", - "properties": { - "agent_id": { - "description": "Unique Agent identifier.", - "type": "string", - "x-order": 0 - }, - "agent_type": { - "description": "Agent type.", - "type": "string", - "x-order": 1 - }, - "status": { - "description": "Actual Agent status.", - "type": "string", - "x-order": 2 - }, - "is_connected": { - "description": "True if Agent is running and connected to pmm-managed.", - "type": "boolean", - "x-order": 3 - } - } - }, - "x-order": 15 - }, - "services": { - "description": "List of services running on this node.", - "type": "array", - "items": { - "description": "Service represents a service running on a node.", - "type": "object", - "properties": { - "service_id": { - "description": "Unique Service identifier.", - "type": "string", - "x-order": 0 - }, - "service_type": { - "description": "Service type.", - "type": "string", - "x-order": 1 - }, - "service_name": { - "description": "Service name.", - "type": "string", - "x-order": 2 - } - } - }, - "x-order": 16 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "post": { - "description": "Registers a new Node and a pmm-agent.", - "tags": [ - "ManagementService" - ], - "summary": "Register a Node", - "operationId": "RegisterNode", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "node_type": { - "description": "NodeType describes supported Node types.", - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "x-order": 0 - }, - "node_name": { - "description": "A user-defined name unique across all Nodes.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 3 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 4 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 5 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 6 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 7 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 8 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "reregister": { - "description": "If true, and Node with that name already exist, it will be removed with all dependent Services and Agents.", - "type": "boolean", - "x-order": 11 - }, - "metrics_mode": { - "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", - "type": "string", - "default": "METRICS_MODE_UNSPECIFIED", - "enum": [ - "METRICS_MODE_UNSPECIFIED", - "METRICS_MODE_PULL", - "METRICS_MODE_PUSH" - ], - "x-order": 12 - }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 13 - }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", - "type": "string", - "x-order": 14 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 15 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "generic_node": { - "description": "GenericNode represents a bare metal server or virtual machine.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 3 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 4 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 5 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 6 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - } - }, - "x-order": 0 - }, - "container_node": { - "description": "ContainerNode represents a Docker container.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 2 - }, - "machine_id": { - "description": "Linux machine-id of the Generic Node where this Container Node runs.", - "type": "string", - "x-order": 3 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 4 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 5 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 6 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 7 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - } - }, - "x-order": 1 - }, - "pmm_agent": { - "description": "PMMAgent runs on Generic or Container Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 2 - }, - "connected": { - "description": "True if Agent is running and connected to pmm-managed.", - "type": "boolean", - "x-order": 3 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 2 - }, - "token": { - "description": "Token represents token for vmagent auth config.", - "type": "string", - "x-order": 3 - }, - "warning": { - "description": "Warning message.", - "type": "string", - "x-order": 4 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/management/nodes/{node_id}": { - "get": { - "description": "Gets a single Node by ID.", - "tags": [ - "ManagementService" - ], - "summary": "Get Node", - "operationId": "GetNodeMixin3", - "parameters": [ - { - "type": "string", - "description": "Unique Node identifier.", - "name": "node_id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "node": { - "type": "object", - "properties": { - "node_id": { - "description": "Unique Node identifier.", - "type": "string", - "x-order": 0 - }, - "node_type": { - "description": "Node type.", - "type": "string", - "x-order": 1 - }, - "node_name": { - "description": "User-defined node name.", - "type": "string", - "x-order": 2 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 3 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 4 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 5 - }, - "container_id": { - "description": "A node's unique docker container identifier.", - "type": "string", - "x-order": 6 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 7 - }, - "address": { - "description": "Node address (DNS name or IP).", - "type": "string", - "x-order": 8 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 9 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 10 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 11 - }, - "created_at": { - "description": "Creation timestamp.", - "type": "string", - "format": "date-time", - "x-order": 12 - }, - "updated_at": { - "description": "Last update timestamp.", - "type": "string", - "format": "date-time", - "x-order": 13 - }, - "status": { - "description": "Node status.\n\n - STATUS_UNSPECIFIED: Invalid status.\n - STATUS_UP: The node is up.\n - STATUS_DOWN: The node is down.\n - STATUS_UNKNOWN: The node's status cannot be known (e.g. there are no metrics yet).", - "type": "string", - "default": "STATUS_UNSPECIFIED", - "enum": [ - "STATUS_UNSPECIFIED", - "STATUS_UP", - "STATUS_DOWN", - "STATUS_UNKNOWN" - ], - "x-order": 14 - }, - "agents": { - "description": "List of agents related to this node.", - "type": "array", - "items": { - "type": "object", - "properties": { - "agent_id": { - "description": "Unique Agent identifier.", - "type": "string", - "x-order": 0 - }, - "agent_type": { - "description": "Agent type.", - "type": "string", - "x-order": 1 - }, - "status": { - "description": "Actual Agent status.", - "type": "string", - "x-order": 2 - }, - "is_connected": { - "description": "True if Agent is running and connected to pmm-managed.", - "type": "boolean", - "x-order": 3 - } - } - }, - "x-order": 15 - }, - "services": { - "description": "List of services running on this node.", - "type": "array", - "items": { - "description": "Service represents a service running on a node.", - "type": "object", - "properties": { - "service_id": { - "description": "Unique Service identifier.", - "type": "string", - "x-order": 0 - }, - "service_type": { - "description": "Service type.", - "type": "string", - "x-order": 1 - }, - "service_name": { - "description": "Service name.", - "type": "string", - "x-order": 2 - } - } - }, - "x-order": 16 - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "delete": { - "description": "Unregisters a Node and pmm-agent", - "tags": [ - "ManagementService" - ], - "summary": "Unregister a Node", - "operationId": "UnregisterNode", - "parameters": [ - { - "type": "string", - "description": "Node_id to be unregistered.", - "name": "node_id", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Force delete node, related service account, even if it has more service tokens attached.", - "name": "force", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "warning": { - "description": "Warning message if there are more service tokens attached to service account.", - "type": "string", - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/management/services": { - "get": { - "description": "Returns a filtered list of Services.", - "tags": [ - "ManagementService" - ], - "summary": "List Services", - "operationId": "ListServicesMixin3", - "parameters": [ - { - "type": "string", - "description": "Return only Services running on that Node.", - "name": "node_id", - "in": "query" - }, - { - "enum": [ - "SERVICE_TYPE_UNSPECIFIED", - "SERVICE_TYPE_MYSQL_SERVICE", - "SERVICE_TYPE_MONGODB_SERVICE", - "SERVICE_TYPE_POSTGRESQL_SERVICE", - "SERVICE_TYPE_PROXYSQL_SERVICE", - "SERVICE_TYPE_HAPROXY_SERVICE", - "SERVICE_TYPE_EXTERNAL_SERVICE" - ], - "type": "string", - "default": "SERVICE_TYPE_UNSPECIFIED", - "description": "Return only services filtered by service type.", - "name": "service_type", - "in": "query" - }, - { - "type": "string", - "description": "Return only services in this external group.", - "name": "external_group", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "services": { - "description": "List of Services.", - "type": "array", - "items": { - "type": "object", - "properties": { - "service_id": { - "description": "Unique service identifier.", - "type": "string", - "x-order": 0 - }, - "service_type": { - "description": "Service type.", - "type": "string", - "x-order": 1 - }, - "service_name": { - "description": "User-defined name unique across all Services.", - "type": "string", - "x-order": 2 - }, - "database_name": { - "description": "Database name.", - "type": "string", - "x-order": 3 - }, - "node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 4 - }, - "node_name": { - "description": "Node name where this instance runs.", - "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 for Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - }, - "external_group": { - "description": "External group name.", - "type": "string", - "x-order": 10 - }, - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 11 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 12 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 13 - }, - "created_at": { - "description": "Creation timestamp.", - "type": "string", - "format": "date-time", - "x-order": 14 - }, - "updated_at": { - "description": "Last update timestamp.", - "type": "string", - "format": "date-time", - "x-order": 15 - }, - "agents": { - "description": "List of agents related to this service.", - "type": "array", - "items": { - "type": "object", - "properties": { - "agent_id": { - "description": "Unique agent identifier.", - "type": "string", - "x-order": 0 - }, - "is_agent_password_set": { - "description": "True if the agent password is set.", - "type": "boolean", - "x-order": 1 - }, - "agent_type": { - "description": "Agent type.", - "type": "string", - "x-order": 2 - }, - "aws_access_key": { - "description": "AWS Access Key.", - "type": "string", - "x-order": 3 - }, - "is_aws_secret_key_set": { - "description": "True if AWS Secret Key is set.", - "type": "boolean", - "x-order": 4 - }, - "azure_options": { - "type": "object", - "properties": { - "client_id": { - "description": "Azure client ID.", - "type": "string", - "x-order": 0 - }, - "is_client_secret_set": { - "description": "True if Azure client secret is set.", - "type": "boolean", - "x-order": 1 - }, - "resource_group": { - "description": "Azure resource group.", - "type": "string", - "x-order": 2 - }, - "subscription_id": { - "description": "Azure subscription ID.", - "type": "string", - "x-order": 3 - }, - "tenant_id": { - "description": "Azure tenant ID.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 5 - }, - "created_at": { - "description": "Creation timestamp.", - "type": "string", - "format": "date-time", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "disabled": { - "description": "Desired Agent status: enabled (false) or disabled (true).", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 10 - }, - "log_level": { - "description": "Log level for exporter.", - "type": "string", - "x-order": 11 - }, - "max_query_length": { - "description": "Limit query length in QAN.", - "type": "integer", - "format": "int32", - "x-order": 12 - }, - "max_query_log_size": { - "description": "Limit query log size in QAN.", - "type": "string", - "format": "int64", - "x-order": 13 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", - "type": "string", - "x-order": 14 - }, - "metrics_scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 15 - }, - "mongo_db_options": { - "type": "object", - "properties": { - "is_tls_certificate_key_set": { - "description": "True if TLS certificate is set.", - "type": "boolean", - "x-order": 0 - }, - "is_tls_certificate_key_file_password_set": { - "description": "True if TLS certificate file password is set.", - "type": "boolean", - "x-order": 1 - }, - "authentication_mechanism": { - "description": "MongoDB auth mechanism.", - "type": "string", - "x-order": 2 - }, - "authentication_database": { - "description": "MongoDB auth database.", - "type": "string", - "x-order": 3 - }, - "stats_collections": { - "description": "MongoDB stats collections.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 4 - }, - "collections_limit": { - "description": "MongoDB collections limit.", - "type": "integer", - "format": "int32", - "x-order": 5 - }, - "enable_all_collectors": { - "description": "True if all collectors are enabled.", - "type": "boolean", - "x-order": 6 - } - }, - "x-order": 16 - }, - "mysql_options": { - "type": "object", - "properties": { - "is_tls_key_set": { - "description": "True if TLS key is set.", - "type": "boolean", - "x-order": 0 - } - }, - "x-order": 17 - }, - "node_id": { - "description": "A unique node identifier.", - "type": "string", - "x-order": 18 - }, - "is_password_set": { - "description": "True if password for connecting the agent to the database is set.", - "type": "boolean", - "x-order": 19 - }, - "pmm_agent_id": { - "description": "The pmm-agent identifier.", - "type": "string", - "x-order": 20 - }, - "postgresql_options": { - "type": "object", - "properties": { - "is_ssl_key_set": { - "description": "True if TLS key is set.", - "type": "boolean", - "x-order": 0 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 1 - }, - "max_exporter_connections": { - "description": "Maximum number of connections from exporter to PostgreSQL instance.", - "type": "integer", - "format": "int32", - "x-order": 2 - } - }, - "x-order": 21 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 22 - }, - "push_metrics": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 23 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 24 - }, - "comments_parsing_disabled": { - "description": "True if query comments parsing is disabled.", - "type": "boolean", - "x-order": 25 - }, - "rds_basic_metrics_disabled": { - "description": "True if RDS basic metrics are disdabled.", - "type": "boolean", - "x-order": 26 - }, - "rds_enhanced_metrics_disabled": { - "description": "True if RDS enhanced metrics are disdabled.", - "type": "boolean", - "x-order": 27 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 28 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 29 - }, - "status": { - "description": "Actual Agent status.", - "type": "string", - "x-order": 30 - }, - "table_count": { - "description": "Last known table count.", - "type": "integer", - "format": "int32", - "x-order": 31 - }, - "table_count_tablestats_group_limit": { - "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 32 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 33 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 34 - }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 35 - }, - "updated_at": { - "description": "Last update timestamp.", - "type": "string", - "format": "date-time", - "x-order": 36 - }, - "version": { - "description": "Agent version.", - "type": "string", - "x-order": 37 - }, - "is_connected": { - "description": "True if Agent is running and connected to pmm-managed.", - "type": "boolean", - "x-order": 38 - }, - "expose_exporter": { - "description": "True if an exporter agent is exposed on all host addresses.", - "type": "boolean", - "x-order": 39 - } - } - }, - "x-order": 16 - }, - "status": { - "description": "Service status.\n\n - STATUS_UNSPECIFIED: In case we don't support the db vendor yet.\n - STATUS_UP: The service is up.\n - STATUS_DOWN: The service is down.\n - STATUS_UNKNOWN: The service's status cannot be known (e.g. there are no metrics yet).", - "type": "string", - "default": "STATUS_UNSPECIFIED", - "enum": [ - "STATUS_UNSPECIFIED", - "STATUS_UP", - "STATUS_DOWN", - "STATUS_UNKNOWN" - ], - "x-order": 17 - }, - "version": { - "description": "The service/database version.", - "type": "string", - "x-order": 18 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "post": { - "description": "Adds a service and starts several agents.", - "tags": [ - "ManagementService" - ], - "summary": "Add a Service", - "operationId": "AddServiceMixin3", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "mysql": { - "type": "object", - "properties": { - "node_id": { - "description": "Node identifier on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Node name on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 1 - }, - "add_node": { - "description": "AddNodeParams holds node params and is used to add new node to inventory while adding new service.", - "type": "object", - "properties": { - "node_type": { - "description": "NodeType describes supported Node types.", - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 2 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 3 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 4 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 5 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 6 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 7 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - } - }, - "x-order": 2 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Node and Service access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Service Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "socket": { - "description": "Service Access socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 6 - }, - "pmm_agent_id": { - "description": "The \"pmm-agent\" identifier which should run agents. Required.", - "type": "string", - "x-order": 7 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 8 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 9 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 10 - }, - "username": { - "description": "MySQL username for scraping metrics.", - "type": "string", - "x-order": 11 - }, - "password": { - "description": "MySQL password for scraping metrics.", - "type": "string", - "x-order": 12 - }, - "qan_mysql_perfschema": { - "description": "If true, adds qan-mysql-perfschema-agent for provided service.", - "type": "boolean", - "x-order": 13 - }, - "qan_mysql_slowlog": { - "description": "If true, adds qan-mysql-slowlog-agent for provided service.", - "type": "boolean", - "x-order": 14 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 15 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 16 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 17 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 18 - }, - "disable_query_examples": { - "description": "Disable query examples.", - "type": "boolean", - "x-order": 19 - }, - "max_slowlog_file_size": { - "description": "If qan-mysql-slowlog-agent is added, slowlog file is rotated at this size if \u003e 0.\nIf zero, server's default value is used.\nUse negative value to disable rotation.", - "type": "string", - "format": "int64", - "x-order": 20 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 21 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 22 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 23 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 24 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 25 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors will be disabled if there are more than that number of tables.\nIf zero, server's default value is used.\nUse negative value to disable them.", - "type": "integer", - "format": "int32", - "x-order": 26 - }, - "metrics_mode": { - "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", - "type": "string", - "default": "METRICS_MODE_UNSPECIFIED", - "enum": [ - "METRICS_MODE_UNSPECIFIED", - "METRICS_MODE_PULL", - "METRICS_MODE_PUSH" - ], - "x-order": 27 - }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 28 - }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", - "type": "string", - "x-order": 29 - }, - "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": 30 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 31 - } - }, - "x-order": 0 - }, - "mongodb": { - "type": "object", - "properties": { - "node_id": { - "description": "Node identifier on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Node name on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 1 - }, - "add_node": { - "description": "AddNodeParams holds node params and is used to add new node to inventory while adding new service.", - "type": "object", - "properties": { - "node_type": { - "description": "NodeType describes supported Node types.", - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 2 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 3 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 4 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 5 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 6 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 7 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - } - }, - "x-order": 2 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Node and Service access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Service Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "socket": { - "description": "Service Access socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 6 - }, - "pmm_agent_id": { - "description": "The \"pmm-agent\" identifier which should run agents. Required.", - "type": "string", - "x-order": 7 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 8 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 9 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 10 - }, - "username": { - "description": "MongoDB username for exporter and QAN agent access.", - "type": "string", - "x-order": 11 - }, - "password": { - "description": "MongoDB password for exporter and QAN agent access.", - "type": "string", - "x-order": 12 - }, - "qan_mongodb_profiler": { - "description": "If true, adds qan-mongodb-profiler-agent for provided service.", - "type": "boolean", - "x-order": 13 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 14 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 15 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 16 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 17 - }, - "tls_certificate_key": { - "description": "Client certificate and key.", - "type": "string", - "x-order": 18 - }, - "tls_certificate_key_file_password": { - "description": "Password for decrypting tls_certificate_key.", - "type": "string", - "x-order": 19 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 20 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 21 - }, - "metrics_mode": { - "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", - "type": "string", - "default": "METRICS_MODE_UNSPECIFIED", - "enum": [ - "METRICS_MODE_UNSPECIFIED", - "METRICS_MODE_PULL", - "METRICS_MODE_PUSH" - ], - "x-order": 22 - }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 23 - }, - "authentication_mechanism": { - "description": "Authentication mechanism.\nSee https://docs.mongodb.com/manual/reference/connection-string/#mongodb-urioption-urioption.authMechanism\nfor details.", - "type": "string", - "x-order": 24 - }, - "authentication_database": { - "description": "Authentication database.", - "type": "string", - "x-order": 25 - }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", - "type": "string", - "x-order": 26 - }, - "stats_collections": { - "description": "List of collections to get stats from. Can use * .", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 27 - }, - "collections_limit": { - "type": "integer", - "format": "int32", - "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", - "x-order": 28 - }, - "enable_all_collectors": { - "type": "boolean", - "title": "Enable all collectors", - "x-order": 29 - }, - "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": 30 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 31 - } - }, - "x-order": 1 - }, - "postgresql": { - "type": "object", - "properties": { - "node_id": { - "description": "Node identifier on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Node name on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 1 - }, - "add_node": { - "description": "AddNodeParams holds node params and is used to add new node to inventory while adding new service.", - "type": "object", - "properties": { - "node_type": { - "description": "NodeType describes supported Node types.", - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 2 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 3 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 4 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 5 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 6 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 7 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - } - }, - "x-order": 2 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Node and Service access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Service Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "database": { - "description": "Database name.", - "type": "string", - "x-order": 6 - }, - "socket": { - "description": "Service Access socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 7 - }, - "pmm_agent_id": { - "description": "The \"pmm-agent\" identifier which should run agents. Required.", - "type": "string", - "x-order": 8 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 9 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 10 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 11 - }, - "username": { - "description": "PostgreSQL username for scraping metrics.", - "type": "string", - "x-order": 12 - }, - "password": { - "description": "PostgreSQL password for scraping metrics.", - "type": "string", - "x-order": 13 - }, - "qan_postgresql_pgstatements_agent": { - "description": "If true, adds qan-postgresql-pgstatements-agent for provided service.", - "type": "boolean", - "x-order": 14 - }, - "qan_postgresql_pgstatmonitor_agent": { - "description": "If true, adds qan-postgresql-pgstatmonitor-agent for provided service.", - "type": "boolean", - "x-order": 15 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 16 - }, - "disable_query_examples": { - "description": "Disable query examples.", - "type": "boolean", - "x-order": 17 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 18 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 19 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 20 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 21 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation. Uses sslmode=required instead of verify-full.", - "type": "boolean", - "x-order": 22 - }, - "metrics_mode": { - "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", - "type": "string", - "default": "METRICS_MODE_UNSPECIFIED", - "enum": [ - "METRICS_MODE_UNSPECIFIED", - "METRICS_MODE_PULL", - "METRICS_MODE_PUSH" - ], - "x-order": 23 - }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 24 - }, - "tls_ca": { - "description": "TLS CA certificate.", - "type": "string", - "x-order": 25 - }, - "tls_cert": { - "description": "TLS Certifcate.", - "type": "string", - "x-order": 26 - }, - "tls_key": { - "description": "TLS Certificate Key.", - "type": "string", - "x-order": 27 - }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", - "type": "string", - "x-order": 28 - }, - "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": 29 - }, - "auto_discovery_limit": { - "description": "Limit for auto discovery.", - "type": "integer", - "format": "int32", - "x-order": 30 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 31 - }, - "max_exporter_connections": { - "description": "Maximum number of connections that exporter can open to the database instance.", - "type": "integer", - "format": "int32", - "x-order": 32 - } - }, - "x-order": 2 - }, - "proxysql": { - "type": "object", - "properties": { - "node_id": { - "description": "Node identifier on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Node name on which a service is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 1 - }, - "add_node": { - "description": "AddNodeParams holds node params and is used to add new node to inventory while adding new service.", - "type": "object", - "properties": { - "node_type": { - "description": "NodeType describes supported Node types.", - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 2 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 3 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 4 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 5 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 6 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 7 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - } - }, - "x-order": 2 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Node and Service access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Service Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "socket": { - "description": "Service Access socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 6 - }, - "pmm_agent_id": { - "description": "The \"pmm-agent\" identifier which should run agents. Required.", - "type": "string", - "x-order": 7 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 8 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 9 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 10 - }, - "username": { - "description": "ProxySQL username for scraping metrics.", - "type": "string", - "x-order": 11 - }, - "password": { - "description": "ProxySQL password for scraping metrics.", - "type": "string", - "x-order": 12 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 14 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 15 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 16 - }, - "metrics_mode": { - "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", - "type": "string", - "default": "METRICS_MODE_UNSPECIFIED", - "enum": [ - "METRICS_MODE_UNSPECIFIED", - "METRICS_MODE_PULL", - "METRICS_MODE_PUSH" - ], - "x-order": 17 - }, - "disable_collectors": { - "description": "List of collector names to disable in this exporter.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 18 - }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", - "type": "string", - "x-order": 19 - }, - "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": 20 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 21 - } - }, - "x-order": 3 - }, - "haproxy": { - "type": "object", - "properties": { - "node_id": { - "description": "Node identifier on which an external exporter is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Node name on which a service and node is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 1 - }, - "add_node": { - "description": "AddNodeParams holds node params and is used to add new node to inventory while adding new service.", - "type": "object", - "properties": { - "node_type": { - "description": "NodeType describes supported Node types.", - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 2 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 3 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 4 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 5 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 6 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 7 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - } - }, - "x-order": 2 - }, - "address": { - "description": "Node and Exporter access address (DNS name or IP).\naddress always should be passed with add_node.", - "type": "string", - "x-order": 3 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 4 - }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 5 - }, - "password": { - "description": "HTTP basic auth password for collecting metrics.", - "type": "string", - "x-order": 6 - }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 7 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", - "type": "string", - "x-order": 8 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 9 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 10 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 11 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 12 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "metrics_mode": { - "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", - "type": "string", - "default": "METRICS_MODE_UNSPECIFIED", - "enum": [ - "METRICS_MODE_UNSPECIFIED", - "METRICS_MODE_PULL", - "METRICS_MODE_PUSH" - ], - "x-order": 14 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 15 - } - }, - "x-order": 4 - }, - "external": { - "type": "object", - "properties": { - "runs_on_node_id": { - "description": "Node identifier on which an external exporter is been running.\nruns_on_node_id should always be passed with node_id.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Node name on which a service and node is been running.\nExactly one of these parameters should be present: node_id, node_name, add_node.", - "type": "string", - "x-order": 1 - }, - "add_node": { - "description": "AddNodeParams holds node params and is used to add new node to inventory while adding new service.", - "type": "object", - "properties": { - "node_type": { - "description": "NodeType describes supported Node types.", - "type": "string", - "default": "NODE_TYPE_UNSPECIFIED", - "enum": [ - "NODE_TYPE_UNSPECIFIED", - "NODE_TYPE_GENERIC_NODE", - "NODE_TYPE_CONTAINER_NODE", - "NODE_TYPE_REMOTE_NODE", - "NODE_TYPE_REMOTE_RDS_NODE", - "NODE_TYPE_REMOTE_AZURE_DATABASE_NODE" - ], - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "machine_id": { - "description": "Linux machine-id.", - "type": "string", - "x-order": 2 - }, - "distro": { - "description": "Linux distribution name and version.", - "type": "string", - "x-order": 3 - }, - "container_id": { - "description": "Container identifier. If specified, must be a unique Docker container identifier.", - "type": "string", - "x-order": 4 - }, - "container_name": { - "description": "Container name.", - "type": "string", - "x-order": 5 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 6 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 7 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - } - }, - "x-order": 2 - }, - "address": { - "description": "Node and Exporter access address (DNS name or IP).\naddress should always be passed with add_node.", - "type": "string", - "x-order": 3 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Required.", - "type": "string", - "x-order": 4 - }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 5 - }, - "password": { - "description": "HTTP basic auth password for collecting metrics.", - "type": "string", - "x-order": 6 - }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 7 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", - "type": "string", - "x-order": 8 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 9 - }, - "node_id": { - "description": "Node identifier on which an external service is been running.\nnode_id should always be passed with runs_on_node_id.", - "type": "string", - "x-order": 10 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 11 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 12 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 13 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 14 - }, - "group": { - "description": "Group name of external service.", - "type": "string", - "x-order": 15 - }, - "metrics_mode": { - "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", - "type": "string", - "default": "METRICS_MODE_UNSPECIFIED", - "enum": [ - "METRICS_MODE_UNSPECIFIED", - "METRICS_MODE_PULL", - "METRICS_MODE_PUSH" - ], - "x-order": 16 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 17 - } - }, - "x-order": 5 - }, - "rds": { - "type": "object", - "properties": { - "region": { - "description": "AWS region.", - "type": "string", - "x-order": 0 - }, - "az": { - "description": "AWS availability zone.", - "type": "string", - "x-order": 1 - }, - "instance_id": { - "description": "AWS instance ID.", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "AWS instance class.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Address used to connect to it.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Access port.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "engine": { - "description": "DiscoverRDSEngine describes supported RDS instance engines.", - "type": "string", - "default": "DISCOVER_RDS_ENGINE_UNSPECIFIED", - "enum": [ - "DISCOVER_RDS_ENGINE_UNSPECIFIED", - "DISCOVER_RDS_ENGINE_MYSQL", - "DISCOVER_RDS_ENGINE_POSTGRESQL" - ], - "x-order": 6 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name. Defaults to AWS instance ID.", - "type": "string", - "x-order": 7 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Defaults to AWS instance ID.", - "type": "string", - "x-order": 8 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 9 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 10 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 11 - }, - "username": { - "description": "Username for scraping metrics.", - "type": "string", - "x-order": 12 - }, - "password": { - "description": "Password for scraping metrics.", - "type": "string", - "x-order": 13 - }, - "aws_access_key": { - "description": "AWS Access key.", - "type": "string", - "x-order": 14 - }, - "aws_secret_key": { - "description": "AWS Secret key.", - "type": "string", - "x-order": 15 - }, - "rds_exporter": { - "description": "If true, adds rds_exporter.", - "type": "boolean", - "x-order": 16 - }, - "qan_mysql_perfschema": { - "description": "If true, adds qan-mysql-perfschema-agent.", - "type": "boolean", - "x-order": 17 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node and Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 18 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 19 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 20 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 21 - }, - "disable_query_examples": { - "description": "Disable query examples.", - "type": "boolean", - "x-order": 22 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors will be disabled if there are more than that number of tables.\nIf zero, server's default value is used.\nUse negative value to disable them.", - "type": "integer", - "format": "int32", - "x-order": 23 - }, - "disable_basic_metrics": { - "description": "Disable basic metrics.", - "type": "boolean", - "x-order": 24 - }, - "disable_enhanced_metrics": { - "description": "Disable enhanced metrics.", - "type": "boolean", - "x-order": 25 - }, - "metrics_mode": { - "description": "MetricsMode defines desired metrics mode for agent,\nit can be pull, push or auto mode chosen by server.\n\n - METRICS_MODE_UNSPECIFIED: Auto", - "type": "string", - "default": "METRICS_MODE_UNSPECIFIED", - "enum": [ - "METRICS_MODE_UNSPECIFIED", - "METRICS_MODE_PULL", - "METRICS_MODE_PUSH" - ], - "x-order": 26 - }, - "qan_postgresql_pgstatements": { - "type": "boolean", - "title": "If true, add qan-pgstatements", - "x-order": 27 - }, - "agent_password": { - "description": "Custom password for exporter endpoint /metrics.", - "type": "string", - "x-order": 28 - }, - "database": { - "description": "Database name.", - "type": "string", - "x-order": 29 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 30 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 31 - }, - "max_postgresql_exporter_connections": { - "description": "Maximum number of exporter connections to PostgreSQL instance.", - "type": "integer", - "format": "int32", - "x-order": 32 - } - }, - "x-order": 6 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "mysql": { - "type": "object", - "properties": { - "service": { - "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 - } - }, - "x-order": 0 - }, - "mysqld_exporter": { - "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 scraping metrics.", - "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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 10 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 11 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 12 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 13 - }, - "table_count": { - "description": "Actual table count at the moment of adding.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "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 finished.\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": 15 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 16 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 17 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 18 - }, - "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": 19 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 20 - }, - "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": 21 - } - }, - "x-order": 1 - }, - "qan_mysql_perfschema": { - "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 performance 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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 11 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 12 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "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 finished.\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": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "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": 16 - } - }, - "x-order": 2 - }, - "qan_mysql_slowlog": { - "description": "QANMySQLSlowlogAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 performance 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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "max_query_length": { - "type": "integer", - "format": "int32", - "title": "Limit query length in QAN (default: server-defined; -1: no limit)", - "x-order": 11 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 12 - }, - "max_slowlog_file_size": { - "description": "Slowlog file is rotated at this size if \u003e 0.", - "type": "string", - "format": "int64", - "x-order": 13 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 14 - }, - "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 finished.\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": 15 - }, - "process_exec_path": { - "type": "string", - "title": "mod tidy", - "x-order": 16 - }, - "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": 17 - } - }, - "x-order": 3 - }, - "table_count": { - "description": "Actual table count at the moment of adding.", - "type": "integer", - "format": "int32", - "x-order": 4 - } - }, - "x-order": 0 - }, - "mongodb": { - "type": "object", - "properties": { - "service": { - "description": "MongoDBService represents a generic MongoDB 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": "MongoDB version.", - "type": "string", - "x-order": 10 - } - }, - "x-order": 0 - }, - "mongodb_exporter": { - "description": "MongoDBExporter runs on Generic or Container Node and exposes MongoDB Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 scraping metrics.", - "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 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "stats_collections": { - "type": "array", - "title": "List of colletions to get stats from. Can use *", - "items": { - "type": "string" - }, - "x-order": 12 - }, - "collections_limit": { - "type": "integer", - "format": "int32", - "title": "Collections limit. Only get Databases and collection stats if the total number of collections in the server\nis less than this value. 0: no limit", - "x-order": 13 - }, - "enable_all_collectors": { - "description": "Enable All collectors.", - "type": "boolean", - "x-order": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "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": 16 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 17 - }, - "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": 18 - } - }, - "x-order": 1 - }, - "qan_mongodb_profiler": { - "description": "QANMongoDBProfilerAgent runs within pmm-agent and sends MongoDB Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "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 finished.\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 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 2 - } - }, - "x-order": 1 - }, - "postgresql": { - "type": "object", - "properties": { - "service": { - "description": "PostgreSQLService represents a generic PostgreSQL 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 - }, - "database_name": { - "description": "Database name.", - "type": "string", - "x-order": 2 - }, - "node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 6 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 7 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 8 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "version": { - "description": "PostgreSQL version.", - "type": "string", - "x-order": 11 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 12 - } - }, - "x-order": 0 - }, - "postgres_exporter": { - "description": "PostgresExporter runs on Generic or Container Node and exposes PostgreSQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for scraping metrics.", - "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. Uses sslmode=required instead of verify-full.", - "type": "boolean", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "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": 13 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 15 - }, - "max_exporter_connections": { - "description": "Maximum number of connections that exporter can open to the database instance.", - "type": "integer", - "format": "int32", - "x-order": 16 - }, - "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": 17 - } - }, - "x-order": 1 - }, - "qan_postgresql_pgstatements_agent": { - "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for getting pg stat statements data.", - "type": "string", - "x-order": 4 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 5 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 6 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 7 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "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 finished.\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 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "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": 12 - } - }, - "x-order": 2 - }, - "qan_postgresql_pgstatmonitor_agent": { - "description": "QANPostgreSQLPgStatMonitorAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for getting pg stat monitor 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 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 7 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 8 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "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 finished.\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": 11 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "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": 13 - } - }, - "x-order": 3 - }, - "warning": { - "description": "Warning message.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 2 - }, - "proxysql": { - "type": "object", - "properties": { - "service": { - "description": "ProxySQLService represents a generic ProxySQL 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": "ProxySQL version.", - "type": "string", - "x-order": 10 - } - }, - "x-order": 0 - }, - "proxysql_exporter": { - "description": "ProxySQLExporter runs on Generic or Container Node and exposes ProxySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "ProxySQL username for scraping metrics.", - "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 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "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": 13 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 14 - }, - "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": 15 - } - }, - "x-order": 1 - } - }, - "x-order": 3 - }, - "haproxy": { - "type": "object", - "properties": { - "service": { - "description": "HAProxyService represents a generic HAProxy service 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 service instance runs.", - "type": "string", - "x-order": 2 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - }, - "x-order": 0 - }, - "external_exporter": { - "description": "ExternalExporter runs on any Node type, including Remote Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - }, - "disabled": { - "description": "If disabled, metrics from this exporter will not be collected.", - "type": "boolean", - "x-order": 2 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 3 - }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 4 - }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 5 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", - "type": "string", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 1 - } - }, - "x-order": 4 - }, - "external": { - "type": "object", - "properties": { - "service": { - "description": "ExternalService represents a generic External service 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 service instance runs.", - "type": "string", - "x-order": 2 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 3 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 4 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "group": { - "description": "Group name of external service.", - "type": "string", - "x-order": 7 - } - }, - "x-order": 0 - }, - "external_exporter": { - "description": "ExternalExporter runs on any Node type, including Remote Node.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "runs_on_node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 1 - }, - "disabled": { - "description": "If disabled, metrics from this exporter will not be collected.", - "type": "boolean", - "x-order": 2 - }, - "service_id": { - "description": "Service identifier.", - "type": "string", - "x-order": 3 - }, - "username": { - "description": "HTTP basic auth username for collecting metrics.", - "type": "string", - "x-order": 4 - }, - "scheme": { - "description": "Scheme to generate URI to exporter metrics endpoints.", - "type": "string", - "x-order": 5 - }, - "metrics_path": { - "description": "Path under which metrics are exposed, used to generate URI.", - "type": "string", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 8 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "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": 11 - } - }, - "x-order": 1 - } - }, - "x-order": 5 - }, - "rds": { - "type": "object", - "properties": { - "node": { - "description": "RemoteRDSNode represents remote RDS Node. Agents can't run on Remote RDS Nodes.", - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name.", - "type": "string", - "x-order": 1 - }, - "address": { - "description": "DB instance identifier.", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Node model.", - "type": "string", - "x-order": 3 - }, - "region": { - "description": "Node region.", - "type": "string", - "x-order": 4 - }, - "az": { - "description": "Node availability zone.", - "type": "string", - "x-order": 5 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - } - }, - "x-order": 0 - }, - "rds_exporter": { - "description": "RDSExporter runs on Generic or Container Node and exposes RemoteRDS Node metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 - }, - "node_id": { - "description": "Node identifier.", - "type": "string", - "x-order": 3 - }, - "aws_access_key": { - "description": "AWS Access Key.", - "type": "string", - "x-order": 4 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - }, - "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 finished.\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": 6 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).", - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "basic_metrics_disabled": { - "description": "Basic metrics are disabled.", - "type": "boolean", - "x-order": 8 - }, - "enhanced_metrics_disabled": { - "description": "Enhanced metrics are disabled.", - "type": "boolean", - "x-order": 9 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 10 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "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": 12 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "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": 1 - }, - "mysql": { - "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 - } - }, - "x-order": 2 - }, - "mysqld_exporter": { - "description": "MySQLdExporter runs on Generic or Container Node and exposes MySQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 scraping metrics.", - "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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors are disabled if there are more than that number of tables.\n0 means tablestats group collectors are always enabled (no limit).\nNegative value means tablestats group collectors are always disabled.", - "type": "integer", - "format": "int32", - "x-order": 10 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 11 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 12 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 13 - }, - "table_count": { - "description": "Actual table count at the moment of adding.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "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 finished.\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": 15 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 16 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 17 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 18 - }, - "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": 19 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 20 - }, - "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": 21 - } - }, - "x-order": 3 - }, - "qan_mysql_perfschema": { - "description": "QANMySQLPerfSchemaAgent runs within pmm-agent and sends MySQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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 performance 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 - }, - "tls_ca": { - "description": "Certificate Authority certificate chain.", - "type": "string", - "x-order": 7 - }, - "tls_cert": { - "description": "Client certificate.", - "type": "string", - "x-order": 8 - }, - "tls_key": { - "description": "Password for decrypting tls_cert.", - "type": "string", - "x-order": 9 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 10 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 11 - }, - "query_examples_disabled": { - "description": "True if query examples are disabled.", - "type": "boolean", - "x-order": 12 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "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 finished.\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": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "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": 16 - } - }, - "x-order": 4 - }, - "postgresql": { - "description": "PostgreSQLService represents a generic PostgreSQL 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 - }, - "database_name": { - "description": "Database name.", - "type": "string", - "x-order": 2 - }, - "node_id": { - "description": "Node identifier where this instance runs.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Access address (DNS name or IP).\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Access port.\nPort is required when the address present.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "socket": { - "description": "Access unix socket.\nAddress (and port) or socket is required.", - "type": "string", - "x-order": 6 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 7 - }, - "cluster": { - "description": "Cluster name.", - "type": "string", - "x-order": 8 - }, - "replication_set": { - "description": "Replication set name.", - "type": "string", - "x-order": 9 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "version": { - "description": "PostgreSQL version.", - "type": "string", - "x-order": 11 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 12 - } - }, - "x-order": 5 - }, - "postgresql_exporter": { - "description": "PostgresExporter runs on Generic or Container Node and exposes PostgreSQL Service metrics.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for scraping metrics.", - "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. Uses sslmode=required instead of verify-full.", - "type": "boolean", - "x-order": 6 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 7 - }, - "push_metrics_enabled": { - "description": "True if exporter uses push metrics mode.", - "type": "boolean", - "x-order": 8 - }, - "disabled_collectors": { - "description": "List of disabled collector names.", - "type": "array", - "items": { - "type": "string" - }, - "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 finished.\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 - }, - "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": 13 - }, - "auto_discovery_limit": { - "description": "Limit of databases for auto-discovery.", - "type": "integer", - "format": "int32", - "x-order": 14 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 15 - }, - "max_exporter_connections": { - "description": "Maximum number of connections that exporter can open to the database instance.", - "type": "integer", - "format": "int32", - "x-order": 16 - }, - "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": 17 - } - }, - "x-order": 6 - }, - "qan_postgresql_pgstatements": { - "description": "QANPostgreSQLPgStatementsAgent runs within pmm-agent and sends PostgreSQL Query Analytics data to the PMM Server.", - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance 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": "PostgreSQL username for getting pg stat statements data.", - "type": "string", - "x-order": 4 - }, - "disable_comments_parsing": { - "description": "Disable parsing comments from queries and showing them in QAN.", - "type": "boolean", - "x-order": 5 - }, - "max_query_length": { - "description": "Limit query length in QAN (default: server-defined; -1: no limit).", - "type": "integer", - "format": "int32", - "x-order": 6 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 7 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 8 - }, - "custom_labels": { - "description": "Custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "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 finished.\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 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "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": 12 - } - }, - "x-order": 7 - } - }, - "x-order": 6 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/management/services/azure": { - "post": { - "description": "Adds an Azure Database instance.", - "tags": [ - "ManagementService" - ], - "summary": "Add Azure Database", - "operationId": "AddAzureDatabase", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "region": { - "description": "Azure database location.", - "type": "string", - "x-order": 0 - }, - "az": { - "description": "Azure database availability zone.", - "type": "string", - "x-order": 1 - }, - "instance_id": { - "description": "Azure database instance ID.", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "Represents a purchasable Stock Keeping Unit (SKU) under a product.\nhttps://docs.microsoft.com/en-us/partner-center/develop/product-resources#sku.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Address used to connect to it.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Access port.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "node_name": { - "description": "Unique across all Nodes user-defined name. Defaults to Azure Database instance ID.", - "type": "string", - "x-order": 6 - }, - "service_name": { - "description": "Unique across all Services user-defined name. Defaults to Azure Database instance ID.", - "type": "string", - "x-order": 7 - }, - "environment": { - "description": "Environment name.", - "type": "string", - "x-order": 8 - }, - "username": { - "description": "Username for scraping metrics.", - "type": "string", - "x-order": 9 - }, - "password": { - "description": "Password for scraping metrics.", - "type": "string", - "x-order": 10 - }, - "azure_client_id": { - "description": "Azure client ID.", - "type": "string", - "x-order": 11 - }, - "azure_client_secret": { - "description": "Azure client secret.", - "type": "string", - "x-order": 12 - }, - "azure_tenant_id": { - "description": "Azure tanant ID.", - "type": "string", - "x-order": 13 - }, - "azure_subscription_id": { - "description": "Azure subscription ID.", - "type": "string", - "x-order": 14 - }, - "azure_resource_group": { - "description": "Azure resource group.", - "type": "string", - "x-order": 15 - }, - "azure_database_exporter": { - "description": "If true, adds azure_database_exporter.", - "type": "boolean", - "x-order": 16 - }, - "qan": { - "description": "If true, adds qan-mysql-perfschema-agent or qan-postgresql-pgstatements-agent.", - "type": "boolean", - "x-order": 17 - }, - "custom_labels": { - "description": "Custom user-assigned labels for Node and Service.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 18 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 19 - }, - "tls": { - "description": "Use TLS for database connections.", - "type": "boolean", - "x-order": 20 - }, - "tls_skip_verify": { - "description": "Skip TLS certificate and hostname validation.", - "type": "boolean", - "x-order": 21 - }, - "disable_query_examples": { - "description": "Disable query examples.", - "type": "boolean", - "x-order": 22 - }, - "tablestats_group_table_limit": { - "description": "Tablestats group collectors will be disabled if there are more than that number of tables.\nIf zero, server's default value is used.\nUse negative value to disable them.", - "type": "integer", - "format": "int32", - "x-order": 23 - }, - "type": { - "description": "DiscoverAzureDatabaseType describes supported Azure Database instance engines.\n\n - DISCOVER_AZURE_DATABASE_TYPE_MYSQL: MySQL type: microsoft.dbformysql or MariaDB type: microsoft.dbformariadb\n - DISCOVER_AZURE_DATABASE_TYPE_POSTGRESQL: PostgreSQL type: microsoft.dbformysql", - "type": "string", - "default": "DISCOVER_AZURE_DATABASE_TYPE_UNSPECIFIED", - "enum": [ - "DISCOVER_AZURE_DATABASE_TYPE_UNSPECIFIED", - "DISCOVER_AZURE_DATABASE_TYPE_MYSQL", - "DISCOVER_AZURE_DATABASE_TYPE_POSTGRESQL" - ], - "x-order": 24 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/management/services/{service_id}": { - "delete": { - "description": "Removes a Service along with its Agents.", - "tags": [ - "ManagementService" - ], - "summary": "Remove a Service", - "operationId": "RemoveServiceMixin3", - "parameters": [ - { - "type": "string", - "description": "Either a Service ID or a Service Name.", - "name": "service_id", - "in": "path", - "required": true - }, - { - "enum": [ - "SERVICE_TYPE_UNSPECIFIED", - "SERVICE_TYPE_MYSQL_SERVICE", - "SERVICE_TYPE_MONGODB_SERVICE", - "SERVICE_TYPE_POSTGRESQL_SERVICE", - "SERVICE_TYPE_PROXYSQL_SERVICE", - "SERVICE_TYPE_HAPROXY_SERVICE", - "SERVICE_TYPE_EXTERNAL_SERVICE" - ], - "type": "string", - "default": "SERVICE_TYPE_UNSPECIFIED", - "description": "Service type.", - "name": "service_type", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/management/services:discoverAzure": { - "post": { - "description": "Discovers Azure Database for MySQL, MariaDB and PostgreSQL Server instances.", - "tags": [ - "ManagementService" - ], - "summary": "Discover Azure Database", - "operationId": "DiscoverAzureDatabase", - "parameters": [ - { - "description": "DiscoverAzureDatabaseRequest discover azure databases request.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "DiscoverAzureDatabaseRequest discover azure databases request.", - "type": "object", - "properties": { - "azure_client_id": { - "description": "Azure client ID.", - "type": "string", - "x-order": 0 - }, - "azure_client_secret": { - "description": "Azure client secret.", - "type": "string", - "x-order": 1 - }, - "azure_tenant_id": { - "description": "Azure tanant ID.", - "type": "string", - "x-order": 2 - }, - "azure_subscription_id": { - "description": "Azure subscription ID.", - "type": "string", - "x-order": 3 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "DiscoverAzureDatabaseResponse discover azure databases response.", - "type": "object", - "properties": { - "azure_database_instance": { - "type": "array", - "items": { - "description": "DiscoverAzureDatabaseInstance models an unique Azure Database instance for the list of instances returned by Discovery.", - "type": "object", - "properties": { - "instance_id": { - "description": "Azure database instance ID.", - "type": "string", - "x-order": 0 - }, - "region": { - "description": "Azure database location.", - "type": "string", - "x-order": 1 - }, - "service_name": { - "description": "Azure database server name.", - "type": "string", - "x-order": 2 - }, - "username": { - "description": "Database username.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Address used to connect to it.", - "type": "string", - "x-order": 4 - }, - "azure_resource_group": { - "description": "Azure Resource group.", - "type": "string", - "x-order": 5 - }, - "environment": { - "description": "Environment tag.", - "type": "string", - "x-order": 6 - }, - "type": { - "description": "DiscoverAzureDatabaseType describes supported Azure Database instance engines.\n\n - DISCOVER_AZURE_DATABASE_TYPE_MYSQL: MySQL type: microsoft.dbformysql or MariaDB type: microsoft.dbformariadb\n - DISCOVER_AZURE_DATABASE_TYPE_POSTGRESQL: PostgreSQL type: microsoft.dbformysql", - "type": "string", - "default": "DISCOVER_AZURE_DATABASE_TYPE_UNSPECIFIED", - "enum": [ - "DISCOVER_AZURE_DATABASE_TYPE_UNSPECIFIED", - "DISCOVER_AZURE_DATABASE_TYPE_MYSQL", - "DISCOVER_AZURE_DATABASE_TYPE_POSTGRESQL" - ], - "x-order": 7 - }, - "az": { - "description": "Azure database availability zone.", - "type": "string", - "x-order": 8 - }, - "node_model": { - "description": "Represents a purchasable Stock Keeping Unit (SKU) under a product.\nhttps://docs.microsoft.com/en-us/partner-center/develop/product-resources#sku.", - "type": "string", - "x-order": 9 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/management/services:discoverRDS": { - "post": { - "description": "Discovers RDS instances.", - "tags": [ - "ManagementService" - ], - "summary": "Discover RDS", - "operationId": "DiscoverRDS", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "aws_access_key": { - "description": "AWS Access key. Optional.", - "type": "string", - "x-order": 0 - }, - "aws_secret_key": { - "description": "AWS Secret key. Optional.", - "type": "string", - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "rds_instances": { - "type": "array", - "items": { - "description": "DiscoverRDSInstance models an unique RDS instance for the list of instances returned by Discovery.", - "type": "object", - "properties": { - "region": { - "description": "AWS region.", - "type": "string", - "x-order": 0 - }, - "az": { - "description": "AWS availability zone.", - "type": "string", - "x-order": 1 - }, - "instance_id": { - "description": "AWS instance ID.", - "type": "string", - "x-order": 2 - }, - "node_model": { - "description": "AWS instance class.", - "type": "string", - "x-order": 3 - }, - "address": { - "description": "Address used to connect to it.", - "type": "string", - "x-order": 4 - }, - "port": { - "description": "Access port.", - "type": "integer", - "format": "int64", - "x-order": 5 - }, - "engine": { - "description": "DiscoverRDSEngine describes supported RDS instance engines.", - "type": "string", - "default": "DISCOVER_RDS_ENGINE_UNSPECIFIED", - "enum": [ - "DISCOVER_RDS_ENGINE_UNSPECIFIED", - "DISCOVER_RDS_ENGINE_MYSQL", - "DISCOVER_RDS_ENGINE_POSTGRESQL" - ], - "x-order": 6 - }, - "engine_version": { - "description": "Engine version.", - "type": "string", - "x-order": 7 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/platform/contact": { - "get": { - "description": "Fetch the contact details of the customer success employee handling the Percona customer account.", - "tags": [ - "PlatformService" - ], - "summary": "Get Contact Information", - "operationId": "GetContactInformation", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "customer_success": { - "description": "CustomerSuccess contains the contanct details of the customer success employee assigned to a customer's account.", - "type": "object", - "properties": { - "name": { - "type": "string", - "x-order": 0 - }, - "email": { - "type": "string", - "x-order": 1 - } - }, - "x-order": 0 - }, - "new_ticket_url": { - "description": "URL to open a new support ticket.", - "type": "string", - "x-order": 1 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/platform/organization/entitlements": { - "get": { - "description": "Fetch entitlements available to the Portal organization that the PMM server is connected to.", - "tags": [ - "PlatformService" - ], - "summary": "Search Organization Entitlements", - "operationId": "SearchOrganizationEntitlements", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "entitlements": { - "type": "array", - "items": { - "description": "OrganizationEntitlement contains information about Organization entitlement.", - "type": "object", - "properties": { - "number": { - "description": "Entitlement number.", - "type": "string", - "x-order": 0 - }, - "name": { - "description": "Entitlement name.", - "type": "string", - "x-order": 1 - }, - "summary": { - "description": "Entitlement short summary.", - "type": "string", - "x-order": 2 - }, - "tier": { - "description": "Entitlement tier.", - "type": "string", - "x-nullable": true, - "x-order": 3 - }, - "total_units": { - "description": "Total units covered by this entitlement.", - "type": "string", - "x-nullable": true, - "x-order": 4 - }, - "unlimited_units": { - "description": "Flag indicates that unlimited units are covered.", - "type": "boolean", - "x-nullable": true, - "x-order": 5 - }, - "support_level": { - "description": "Support level covered by this entitlement.", - "type": "string", - "x-nullable": true, - "x-order": 6 - }, - "software_families": { - "description": "Percona product families covered by this entitlement.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 7 - }, - "start_date": { - "description": "Entitlement start data.\nNote: only date is used here but not time.", - "type": "string", - "format": "date-time", - "x-order": 8 - }, - "end_date": { - "description": "Entitlement end date.\nNote: only date is used here but not time.", - "type": "string", - "format": "date-time", - "x-order": 9 - }, - "platform": { - "description": "Platform indicates platform specific entitlements.", - "type": "object", - "properties": { - "security_advisor": { - "description": "Flag indicates that security advisors are covered by this entitlement.", - "type": "string", - "x-nullable": true, - "x-order": 0 - }, - "config_advisor": { - "description": "Flag indicates that config advisors are covered by this entitlement.", - "type": "string", - "x-nullable": true, - "x-order": 1 - } - }, - "x-order": 10 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/platform/organization/tickets": { - "get": { - "description": "Fetch support tickets belonging to the Percona Portal Organization that the PMM server is connected to.", - "tags": [ - "PlatformService" - ], - "summary": "Search Organization Tickets", - "operationId": "SearchOrganizationTickets", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "tickets": { - "description": "Support tickets belonging to the Percona Portal Organization.", - "type": "array", - "items": { - "description": "OrganizationTicket contains information about the support ticket.", - "type": "object", - "properties": { - "number": { - "description": "Ticket number.", - "type": "string", - "x-order": 0 - }, - "short_description": { - "description": "Ticket short description.", - "type": "string", - "x-order": 1 - }, - "priority": { - "description": "Ticket priority.", - "type": "string", - "x-order": 2 - }, - "state": { - "description": "Ticket state.", - "type": "string", - "x-order": 3 - }, - "create_time": { - "description": "Ticket creation time.", - "type": "string", - "format": "date-time", - "x-order": 4 - }, - "department": { - "description": "Department.", - "type": "string", - "x-order": 5 - }, - "requester": { - "description": "Ticket requester.", - "type": "string", - "x-order": 6 - }, - "task_type": { - "description": "Task type.", - "type": "string", - "x-order": 7 - }, - "url": { - "description": "Ticket url.", - "type": "string", - "x-order": 8 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/platform/server": { - "get": { - "description": "Return PMM server ID and name.", - "tags": [ - "PlatformService" - ], - "summary": "Get Server Info", - "operationId": "ServerInfo", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "pmm_server_name": { - "type": "string", - "x-order": 0 - }, - "pmm_server_id": { - "type": "string", - "x-order": 1 - }, - "pmm_server_telemetry_id": { - "type": "string", - "x-order": 2 - }, - "connected_to_portal": { - "type": "boolean", - "x-order": 3 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/platform/user": { - "get": { - "description": "Check if the current user is logged in with their Percona Account.", - "tags": [ - "PlatformService" - ], - "summary": "Get User Status", - "operationId": "UserStatus", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "is_platform_user": { - "type": "boolean", - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/platform:connect": { - "post": { - "description": "Connect a PMM server to the organization created on Percona Portal. That allows the user to sign in to the PMM server with their Percona Account.", - "tags": [ - "PlatformService" - ], - "summary": "Connect PMM Server", - "operationId": "Connect", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "server_name": { - "description": "User defined human readable PMM Server Name.", - "type": "string", - "x-order": 0 - }, - "personal_access_token": { - "description": "Personal Access Token that the user obtains from Percona Portal.", - "type": "string", - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/platform:disconnect": { - "post": { - "description": "Disconnect a PMM server from the organization created on Percona Portal.", - "tags": [ - "PlatformService" - ], - "summary": "Disconnect PMM Server", - "operationId": "Disconnect", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "force": { - "type": "boolean", - "title": "Forces the cleanup process for connected PMM instances regardless of the Portal API response", - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/qan/metrics:getFilters": { - "post": { - "description": "Provides a filtered map of metrics names.", - "tags": [ - "QANService" - ], - "summary": "Get Filters", - "operationId": "GetFilteredMetricsNames", - "parameters": [ - { - "description": "GetFilteredMetricsNamesRequest contains period for which we need filters.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "GetFilteredMetricsNamesRequest contains period for which we need filters.", - "type": "object", - "properties": { - "period_start_from": { - "type": "string", - "format": "date-time", - "x-order": 0 - }, - "period_start_to": { - "type": "string", - "format": "date-time", - "x-order": 1 - }, - "main_metric_name": { - "type": "string", - "x-order": 2 - }, - "labels": { - "type": "array", - "items": { - "description": "MapFieldEntry allows to pass labels/dimensions in form like {\"server\": [\"db1\", \"db2\"...]}.", - "type": "object", - "properties": { - "key": { - "type": "string", - "x-order": 0 - }, - "value": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 1 - } - } - }, - "x-order": 3 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "GetFilteredMetricsNamesResponse is map of labels for given period by key.\nKey is label's name and value is label's value and how many times it occur.", - "type": "object", - "properties": { - "labels": { - "type": "object", - "additionalProperties": { - "description": "ListLabels is list of label's values: duplicates are impossible.", - "type": "object", - "properties": { - "name": { - "type": "array", - "items": { - "description": "Values is label values and main metric percent and per second.", - "type": "object", - "properties": { - "value": { - "type": "string", - "x-order": 0 - }, - "main_metric_percent": { - "type": "number", - "format": "float", - "x-order": 1 - }, - "main_metric_per_sec": { - "type": "number", - "format": "float", - "x-order": 2 - } - } - }, - "x-order": 0 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/qan/metrics:getNames": { - "post": { - "description": "Provides a map of all metrics names.", - "tags": [ - "QANService" - ], - "summary": "Get Metrics Names", - "operationId": "GetMetricsNames", - "parameters": [ - { - "description": "MetricsNamesRequest is empty.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "MetricsNamesRequest is empty.", - "type": "object" - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "MetricsNamesReply is map of stored metrics:\nkey is root of metric name in db (Ex:. [m_]query_time[_sum]);\nvalue - Human readable name of metrics.", - "type": "object", - "properties": { - "data": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/qan/metrics:getReport": { - "post": { - "description": "Returns a list of metrics grouped by queryid or other dimensions.", - "tags": [ - "QANService" - ], - "summary": "Get Report", - "operationId": "GetReport", - "parameters": [ - { - "description": "ReportRequest defines filtering of metrics report for db server or other dimentions.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "ReportRequest defines filtering of metrics report for db server or other dimentions.", - "type": "object", - "properties": { - "period_start_from": { - "type": "string", - "format": "date-time", - "x-order": 0 - }, - "period_start_to": { - "type": "string", - "format": "date-time", - "x-order": 1 - }, - "group_by": { - "type": "string", - "x-order": 2 - }, - "labels": { - "type": "array", - "items": { - "description": "ReportMapFieldEntry allows to pass labels/dimentions in form like {\"server\": [\"db1\", \"db2\"...]}.", - "type": "object", - "properties": { - "key": { - "type": "string", - "x-order": 0 - }, - "value": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 1 - } - } - }, - "x-order": 3 - }, - "columns": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 4 - }, - "order_by": { - "type": "string", - "x-order": 5 - }, - "offset": { - "type": "integer", - "format": "int64", - "x-order": 6 - }, - "limit": { - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "main_metric": { - "type": "string", - "x-order": 8 - }, - "search": { - "type": "string", - "x-order": 9 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "ReportReply is list of reports per quieryids, hosts etc.", - "type": "object", - "properties": { - "total_rows": { - "type": "integer", - "format": "int64", - "x-order": 0 - }, - "offset": { - "type": "integer", - "format": "int64", - "x-order": 1 - }, - "limit": { - "type": "integer", - "format": "int64", - "x-order": 2 - }, - "rows": { - "type": "array", - "items": { - "description": "Row define metrics for selected dimention.", - "type": "object", - "properties": { - "rank": { - "type": "integer", - "format": "int64", - "x-order": 0 - }, - "dimension": { - "type": "string", - "x-order": 1 - }, - "database": { - "type": "string", - "x-order": 2 - }, - "metrics": { - "type": "object", - "additionalProperties": { - "description": "Metric cell.", - "type": "object", - "properties": { - "stats": { - "description": "Stat is statistics of specific metric.", - "type": "object", - "properties": { - "rate": { - "type": "number", - "format": "float", - "x-order": 0 - }, - "cnt": { - "type": "number", - "format": "float", - "x-order": 1 - }, - "sum": { - "type": "number", - "format": "float", - "x-order": 2 - }, - "min": { - "type": "number", - "format": "float", - "x-order": 3 - }, - "max": { - "type": "number", - "format": "float", - "x-order": 4 - }, - "p99": { - "type": "number", - "format": "float", - "x-order": 5 - }, - "avg": { - "type": "number", - "format": "float", - "x-order": 6 - }, - "sum_per_sec": { - "type": "number", - "format": "float", - "x-order": 7 - } - }, - "x-order": 0 - } - } - }, - "x-order": 3 - }, - "sparkline": { - "type": "array", - "items": { - "description": "Point contains values that represents abscissa (time) and ordinate (volume etc.)\nof every point in a coordinate system of Sparklines.", - "type": "object", - "properties": { - "point": { - "description": "The serial number of the chart point from the largest time in the time interval to the lowest time in the time range.", - "type": "integer", - "format": "int64", - "x-order": 0 - }, - "time_frame": { - "description": "Duration beetween two points.", - "type": "integer", - "format": "int64", - "x-order": 1 - }, - "timestamp": { - "description": "Time of point in format RFC3339.", - "type": "string", - "x-order": 2 - }, - "load": { - "description": "load is query_time / time_range.", - "type": "number", - "format": "float", - "x-order": 3 - }, - "num_queries_per_sec": { - "description": "number of queries in bucket.", - "type": "number", - "format": "float", - "x-order": 4 - }, - "num_queries_with_errors_per_sec": { - "description": "number of queries with errors.", - "type": "number", - "format": "float", - "x-order": 5 - }, - "num_queries_with_warnings_per_sec": { - "description": "number of queries with warnings.", - "type": "number", - "format": "float", - "x-order": 6 - }, - "m_query_time_sum_per_sec": { - "description": "The statement execution time in seconds.", - "type": "number", - "format": "float", - "x-order": 7 - }, - "m_lock_time_sum_per_sec": { - "description": "The time to acquire locks in seconds.", - "type": "number", - "format": "float", - "x-order": 8 - }, - "m_rows_sent_sum_per_sec": { - "description": "The number of rows sent to the client.", - "type": "number", - "format": "float", - "x-order": 9 - }, - "m_rows_examined_sum_per_sec": { - "description": "Number of rows scanned - SELECT.", - "type": "number", - "format": "float", - "x-order": 10 - }, - "m_rows_affected_sum_per_sec": { - "description": "Number of rows changed - UPDATE, DELETE, INSERT.", - "type": "number", - "format": "float", - "x-order": 11 - }, - "m_rows_read_sum_per_sec": { - "description": "The number of rows read from tables.", - "type": "number", - "format": "float", - "x-order": 12 - }, - "m_merge_passes_sum_per_sec": { - "description": "The number of merge passes that the sort algorithm has had to do.", - "type": "number", - "format": "float", - "x-order": 13 - }, - "m_innodb_io_r_ops_sum_per_sec": { - "description": "Counts the number of page read operations scheduled.", - "type": "number", - "format": "float", - "x-order": 14 - }, - "m_innodb_io_r_bytes_sum_per_sec": { - "description": "Similar to innodb_IO_r_ops, but the unit is bytes.", - "type": "number", - "format": "float", - "x-order": 15 - }, - "m_innodb_io_r_wait_sum_per_sec": { - "description": "Shows how long (in seconds) it took InnoDB to actually read the data from storage.", - "type": "number", - "format": "float", - "x-order": 16 - }, - "m_innodb_rec_lock_wait_sum_per_sec": { - "description": "Shows how long (in seconds) the query waited for row locks.", - "type": "number", - "format": "float", - "x-order": 17 - }, - "m_innodb_queue_wait_sum_per_sec": { - "description": "Shows how long (in seconds) the query spent either waiting to enter the InnoDB queue or inside that queue waiting for execution.", - "type": "number", - "format": "float", - "x-order": 18 - }, - "m_innodb_pages_distinct_sum_per_sec": { - "description": "Counts approximately the number of unique pages the query accessed.", - "type": "number", - "format": "float", - "x-order": 19 - }, - "m_query_length_sum_per_sec": { - "description": "Shows how long the query is.", - "type": "number", - "format": "float", - "x-order": 20 - }, - "m_bytes_sent_sum_per_sec": { - "description": "The number of bytes sent to all clients.", - "type": "number", - "format": "float", - "x-order": 21 - }, - "m_tmp_tables_sum_per_sec": { - "description": "Number of temporary tables created on memory for the query.", - "type": "number", - "format": "float", - "x-order": 22 - }, - "m_tmp_disk_tables_sum_per_sec": { - "description": "Number of temporary tables created on disk for the query.", - "type": "number", - "format": "float", - "x-order": 23 - }, - "m_tmp_table_sizes_sum_per_sec": { - "description": "Total Size in bytes for all temporary tables used in the query.", - "type": "number", - "format": "float", - "x-order": 24 - }, - "m_qc_hit_sum_per_sec": { - "description": "Query Cache hits.", - "type": "number", - "format": "float", - "x-order": 25 - }, - "m_full_scan_sum_per_sec": { - "description": "The query performed a full table scan.", - "type": "number", - "format": "float", - "x-order": 26 - }, - "m_full_join_sum_per_sec": { - "description": "The query performed a full join (a join without indexes).", - "type": "number", - "format": "float", - "x-order": 27 - }, - "m_tmp_table_sum_per_sec": { - "description": "The query created an implicit internal temporary table.", - "type": "number", - "format": "float", - "x-order": 28 - }, - "m_tmp_table_on_disk_sum_per_sec": { - "description": "The querys temporary table was stored on disk.", - "type": "number", - "format": "float", - "x-order": 29 - }, - "m_filesort_sum_per_sec": { - "description": "The query used a filesort.", - "type": "number", - "format": "float", - "x-order": 30 - }, - "m_filesort_on_disk_sum_per_sec": { - "description": "The filesort was performed on disk.", - "type": "number", - "format": "float", - "x-order": 31 - }, - "m_select_full_range_join_sum_per_sec": { - "description": "The number of joins that used a range search on a reference table.", - "type": "number", - "format": "float", - "x-order": 32 - }, - "m_select_range_sum_per_sec": { - "description": "The number of joins that used ranges on the first table.", - "type": "number", - "format": "float", - "x-order": 33 - }, - "m_select_range_check_sum_per_sec": { - "description": "The number of joins without keys that check for key usage after each row.", - "type": "number", - "format": "float", - "x-order": 34 - }, - "m_sort_range_sum_per_sec": { - "description": "The number of sorts that were done using ranges.", - "type": "number", - "format": "float", - "x-order": 35 - }, - "m_sort_rows_sum_per_sec": { - "description": "The number of sorted rows.", - "type": "number", - "format": "float", - "x-order": 36 - }, - "m_sort_scan_sum_per_sec": { - "description": "The number of sorts that were done by scanning the table.", - "type": "number", - "format": "float", - "x-order": 37 - }, - "m_no_index_used_sum_per_sec": { - "description": "The number of queries without index.", - "type": "number", - "format": "float", - "x-order": 38 - }, - "m_no_good_index_used_sum_per_sec": { - "description": "The number of queries without good index.", - "type": "number", - "format": "float", - "x-order": 39 - }, - "m_docs_returned_sum_per_sec": { - "description": "The number of returned documents.", - "type": "number", - "format": "float", - "x-order": 40 - }, - "m_response_length_sum_per_sec": { - "description": "The response length of the query result in bytes.", - "type": "number", - "format": "float", - "x-order": 41 - }, - "m_docs_scanned_sum_per_sec": { - "description": "The number of scanned documents.", - "type": "number", - "format": "float", - "x-order": 42 - }, - "m_shared_blks_hit_sum_per_sec": { - "description": "Total number of shared block cache hits by the statement.", - "type": "number", - "format": "float", - "x-order": 43 - }, - "m_shared_blks_read_sum_per_sec": { - "description": "Total number of shared blocks read by the statement.", - "type": "number", - "format": "float", - "x-order": 44 - }, - "m_shared_blks_dirtied_sum_per_sec": { - "description": "Total number of shared blocks dirtied by the statement.", - "type": "number", - "format": "float", - "x-order": 45 - }, - "m_shared_blks_written_sum_per_sec": { - "description": "Total number of shared blocks written by the statement.", - "type": "number", - "format": "float", - "x-order": 46 - }, - "m_local_blks_hit_sum_per_sec": { - "description": "Total number of local block cache hits by the statement.", - "type": "number", - "format": "float", - "x-order": 47 - }, - "m_local_blks_read_sum_per_sec": { - "description": "Total number of local blocks read by the statement.", - "type": "number", - "format": "float", - "x-order": 48 - }, - "m_local_blks_dirtied_sum_per_sec": { - "description": "Total number of local blocks dirtied by the statement.", - "type": "number", - "format": "float", - "x-order": 49 - }, - "m_local_blks_written_sum_per_sec": { - "description": "Total number of local blocks written by the statement.", - "type": "number", - "format": "float", - "x-order": 50 - }, - "m_temp_blks_read_sum_per_sec": { - "description": "Total number of temp blocks read by the statement.", - "type": "number", - "format": "float", - "x-order": 51 - }, - "m_temp_blks_written_sum_per_sec": { - "description": "Total number of temp blocks written by the statement.", - "type": "number", - "format": "float", - "x-order": 52 - }, - "m_blk_read_time_sum_per_sec": { - "description": "Total time the statement spent reading blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", - "type": "number", - "format": "float", - "x-order": 53 - }, - "m_blk_write_time_sum_per_sec": { - "description": "Total time the statement spent writing blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", - "type": "number", - "format": "float", - "x-order": 54 - }, - "m_cpu_user_time_sum_per_sec": { - "description": "Total time user spent in query.", - "type": "number", - "format": "float", - "x-order": 55 - }, - "m_cpu_sys_time_sum_per_sec": { - "description": "Total time system spent in query.", - "type": "number", - "format": "float", - "x-order": 56 - }, - "m_plans_calls_sum_per_sec": { - "description": "Total number of planned calls.", - "type": "number", - "format": "float", - "x-order": 57 - }, - "m_wal_records_sum_per_sec": { - "description": "Total number of WAL (Write-ahead logging) records.", - "type": "number", - "format": "float", - "x-order": 58 - }, - "m_wal_fpi_sum_per_sec": { - "description": "Total number of FPI (full page images) in WAL (Write-ahead logging) records.", - "type": "number", - "format": "float", - "x-order": 59 - }, - "m_wal_bytes_sum_per_sec": { - "description": "Total bytes of WAL (Write-ahead logging) records.", - "type": "number", - "format": "float", - "x-order": 60 - }, - "m_plan_time_sum_per_sec": { - "description": "Plan time in per seconds.", - "type": "number", - "format": "float", - "x-order": 61 - } - } - }, - "x-order": 4 - }, - "fingerprint": { - "type": "string", - "x-order": 5 - }, - "num_queries": { - "type": "integer", - "format": "int64", - "x-order": 6 - }, - "qps": { - "type": "number", - "format": "float", - "x-order": 7 - }, - "load": { - "type": "number", - "format": "float", - "x-order": 8 - } - } - }, - "x-order": 3 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/qan/query/{queryid}/plan": { - "get": { - "description": "Provides a query plan and plan id for specific filtering.", - "tags": [ - "QANService" - ], - "summary": "Get Query Plan", - "operationId": "GetQueryPlan", - "parameters": [ - { - "type": "string", - "name": "queryid", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "GetQueryPlanResponse contains planid and query_plan.", - "type": "object", - "properties": { - "planid": { - "type": "string", - "x-order": 0 - }, - "query_plan": { - "type": "string", - "x-order": 1 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/qan/query:exists": { - "post": { - "description": "Checks if query exists in clickhouse.", - "tags": [ - "QANService" - ], - "summary": "Check Query Existence", - "operationId": "QueryExists", - "parameters": [ - { - "description": "QueryExistsRequest check if provided query exists or not.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "QueryExistsRequest check if provided query exists or not.", - "type": "object", - "properties": { - "serviceid": { - "type": "string", - "x-order": 0 - }, - "query": { - "type": "string", - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "QueryExistsResponse returns true if query exists.", - "type": "object", - "properties": { - "exists": { - "type": "boolean", - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/qan/query:getExample": { - "post": { - "description": "Provides a list of query examples.", - "tags": [ - "QANService" - ], - "summary": "Get Query Example", - "operationId": "GetQueryExample", - "parameters": [ - { - "description": "GetQueryExampleRequest defines filtering of query examples for specific value of\ndimension (ex.: host=hostname1 or queryid=1D410B4BE5060972.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "GetQueryExampleRequest defines filtering of query examples for specific value of\ndimension (ex.: host=hostname1 or queryid=1D410B4BE5060972.", - "type": "object", - "properties": { - "period_start_from": { - "type": "string", - "format": "date-time", - "x-order": 0 - }, - "period_start_to": { - "type": "string", - "format": "date-time", - "x-order": 1 - }, - "filter_by": { - "description": "dimension value: ex: queryid - 1D410B4BE5060972.", - "type": "string", - "x-order": 2 - }, - "group_by": { - "description": "one of dimension: queryid | host ...", - "type": "string", - "x-order": 3 - }, - "labels": { - "type": "array", - "items": { - "description": "MapFieldEntry allows to pass labels/dimensions in form like {\"server\": [\"db1\", \"db2\"...]}.", - "type": "object", - "properties": { - "key": { - "type": "string", - "x-order": 0 - }, - "value": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 1 - } - } - }, - "x-order": 4 - }, - "limit": { - "type": "integer", - "format": "int64", - "x-order": 5 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "GetQueryExampleResponse list of query examples.", - "type": "object", - "properties": { - "query_examples": { - "type": "array", - "items": { - "description": "QueryExample shows query examples and their metrics.", - "type": "object", - "properties": { - "example": { - "type": "string", - "x-order": 0 - }, - "example_type": { - "description": "ExampleType is a type of query example selected for this query class in given period of time.", - "type": "string", - "default": "EXAMPLE_TYPE_UNSPECIFIED", - "enum": [ - "EXAMPLE_TYPE_UNSPECIFIED", - "EXAMPLE_TYPE_RANDOM", - "EXAMPLE_TYPE_SLOWEST", - "EXAMPLE_TYPE_FASTEST", - "EXAMPLE_TYPE_WITH_ERROR" - ], - "x-order": 1 - }, - "is_truncated": { - "type": "integer", - "format": "int64", - "x-order": 2 - }, - "placeholders_count": { - "type": "integer", - "format": "int64", - "x-order": 3 - }, - "explain_fingerprint": { - "type": "string", - "x-order": 4 - }, - "query_id": { - "type": "string", - "x-order": 5 - }, - "example_metrics": { - "type": "string", - "x-order": 6 - }, - "service_id": { - "type": "string", - "x-order": 7 - }, - "service_type": { - "type": "string", - "x-order": 8 - }, - "schema": { - "type": "string", - "x-order": 9 - }, - "tables": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 10 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/qan/query:getSchema": { - "post": { - "description": "Provides the schema for a given queryID and serviceID.", - "tags": [ - "QANService" - ], - "summary": "Get Schema", - "operationId": "SchemaByQueryID", - "parameters": [ - { - "description": "SchemaByQueryIDRequest returns schema for given query ID and service ID.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "SchemaByQueryIDRequest returns schema for given query ID and service ID.", - "type": "object", - "properties": { - "service_id": { - "type": "string", - "x-order": 0 - }, - "query_id": { - "type": "string", - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "SchemaByQueryIDResponse is schema for given query ID and service ID.", - "type": "object", - "properties": { - "schema": { - "type": "string", - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/qan:explainFingerprint": { - "post": { - "description": "Provides an explain fingerprint for given query ID.", - "tags": [ - "QANService" - ], - "summary": "Get Explain Fingerprint", - "operationId": "ExplainFingerprintByQueryID", - "parameters": [ - { - "description": "ExplainFingerprintByQueryIDRequest get explain fingerprint for given query ID.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "ExplainFingerprintByQueryIDRequest get explain fingerprint for given query ID.", - "type": "object", - "properties": { - "serviceid": { - "type": "string", - "x-order": 0 - }, - "query_id": { - "type": "string", - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "ExplainFingerprintByQueryIDResponse is explain fingerprint and placeholders count for given query ID.", - "type": "object", - "properties": { - "explain_fingerprint": { - "type": "string", - "x-order": 0 - }, - "placeholders_count": { - "type": "integer", - "format": "int64", - "x-order": 1 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/qan:getHistogram": { - "post": { - "description": "Provides histogram items for specific filtering.", - "tags": [ - "QANService" - ], - "summary": "Get Histogram", - "operationId": "GetHistogram", - "parameters": [ - { - "description": "GetHistogramRequest defines filtering by time range, labels and queryid.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "GetHistogramRequest defines filtering by time range, labels and queryid.", - "type": "object", - "properties": { - "period_start_from": { - "type": "string", - "format": "date-time", - "x-order": 0 - }, - "period_start_to": { - "type": "string", - "format": "date-time", - "x-order": 1 - }, - "labels": { - "type": "array", - "items": { - "description": "MapFieldEntry allows to pass labels/dimensions in form like {\"server\": [\"db1\", \"db2\"...]}.", - "type": "object", - "properties": { - "key": { - "type": "string", - "x-order": 0 - }, - "value": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 1 - } - } - }, - "x-order": 2 - }, - "queryid": { - "type": "string", - "x-order": 3 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "GetHistogramResponse is histogram items as a list.", - "type": "object", - "properties": { - "histogram_items": { - "type": "array", - "items": { - "description": "HistogramItem represents one item in histogram.", - "type": "object", - "properties": { - "range": { - "type": "string", - "x-order": 0 - }, - "frequency": { - "type": "integer", - "format": "int64", - "x-order": 1 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/qan:getLabels": { - "post": { - "description": "Provides a list of labels for object details.", - "tags": [ - "QANService" - ], - "summary": "Get Labels", - "operationId": "GetLabels", - "parameters": [ - { - "description": "GetLabelsRequest defines filtering of object detail's labels for specific value of\ndimension (ex.: host=hostname1 or queryid=1D410B4BE5060972.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "GetLabelsRequest defines filtering of object detail's labels for specific value of\ndimension (ex.: host=hostname1 or queryid=1D410B4BE5060972.", - "type": "object", - "properties": { - "period_start_from": { - "type": "string", - "format": "date-time", - "x-order": 0 - }, - "period_start_to": { - "type": "string", - "format": "date-time", - "x-order": 1 - }, - "filter_by": { - "description": "dimension value: ex: queryid - 1D410B4BE5060972.", - "type": "string", - "x-order": 2 - }, - "group_by": { - "description": "one of dimension: queryid | host ...", - "type": "string", - "x-order": 3 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "GetLabelsResponse is a map of labels names as keys and labels values as a list.", - "type": "object", - "properties": { - "labels": { - "type": "object", - "additionalProperties": { - "description": "ListLabelValues is list of label's values.", - "type": "object", - "properties": { - "values": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 0 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/qan:getMetrics": { - "post": { - "description": "Provides a map of metrics for specific filtering.", - "tags": [ - "QANService" - ], - "summary": "Get Metrics", - "operationId": "GetMetrics", - "parameters": [ - { - "description": "GetMetricsRequest defines filtering of metrics for specific value of dimension (ex.: host=hostname1 or queryid=1D410B4BE5060972.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "GetMetricsRequest defines filtering of metrics for specific value of dimension (ex.: host=hostname1 or queryid=1D410B4BE5060972.", - "type": "object", - "properties": { - "period_start_from": { - "type": "string", - "format": "date-time", - "x-order": 0 - }, - "period_start_to": { - "type": "string", - "format": "date-time", - "x-order": 1 - }, - "filter_by": { - "description": "dimension value: ex: queryid - 1D410B4BE5060972.", - "type": "string", - "x-order": 2 - }, - "group_by": { - "description": "one of dimension: queryid | host ...", - "type": "string", - "x-order": 3 - }, - "labels": { - "type": "array", - "items": { - "description": "MapFieldEntry allows to pass labels/dimensions in form like {\"server\": [\"db1\", \"db2\"...]}.", - "type": "object", - "properties": { - "key": { - "type": "string", - "x-order": 0 - }, - "value": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 1 - } - } - }, - "x-order": 4 - }, - "include_only_fields": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 5 - }, - "totals": { - "type": "boolean", - "title": "retrieve only values for totals, excluding N/A values", - "x-order": 6 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "GetMetricsResponse defines metrics for specific value of dimension (ex.: host=hostname1 or queryid=1D410B4BE5060972.", - "type": "object", - "properties": { - "metrics": { - "type": "object", - "additionalProperties": { - "description": "MetricValues is statistics of specific metric.", - "type": "object", - "properties": { - "rate": { - "type": "number", - "format": "float", - "x-order": 0 - }, - "cnt": { - "type": "number", - "format": "float", - "x-order": 1 - }, - "sum": { - "type": "number", - "format": "float", - "x-order": 2 - }, - "min": { - "type": "number", - "format": "float", - "x-order": 3 - }, - "max": { - "type": "number", - "format": "float", - "x-order": 4 - }, - "avg": { - "type": "number", - "format": "float", - "x-order": 5 - }, - "p99": { - "type": "number", - "format": "float", - "x-order": 6 - }, - "percent_of_total": { - "type": "number", - "format": "float", - "x-order": 7 - } - } - }, - "x-order": 0 - }, - "text_metrics": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 1 - }, - "sparkline": { - "type": "array", - "items": { - "description": "Point contains values that represents abscissa (time) and ordinate (volume etc.)\nof every point in a coordinate system of Sparklines.", - "type": "object", - "properties": { - "point": { - "description": "The serial number of the chart point from the largest time in the time interval to the lowest time in the time range.", - "type": "integer", - "format": "int64", - "x-order": 0 - }, - "time_frame": { - "description": "Duration beetween two points.", - "type": "integer", - "format": "int64", - "x-order": 1 - }, - "timestamp": { - "description": "Time of point in format RFC3339.", - "type": "string", - "x-order": 2 - }, - "load": { - "description": "load is query_time / time_range.", - "type": "number", - "format": "float", - "x-order": 3 - }, - "num_queries_per_sec": { - "description": "number of queries in bucket.", - "type": "number", - "format": "float", - "x-order": 4 - }, - "num_queries_with_errors_per_sec": { - "description": "number of queries with errors.", - "type": "number", - "format": "float", - "x-order": 5 - }, - "num_queries_with_warnings_per_sec": { - "description": "number of queries with warnings.", - "type": "number", - "format": "float", - "x-order": 6 - }, - "m_query_time_sum_per_sec": { - "description": "The statement execution time in seconds.", - "type": "number", - "format": "float", - "x-order": 7 - }, - "m_lock_time_sum_per_sec": { - "description": "The time to acquire locks in seconds.", - "type": "number", - "format": "float", - "x-order": 8 - }, - "m_rows_sent_sum_per_sec": { - "description": "The number of rows sent to the client.", - "type": "number", - "format": "float", - "x-order": 9 - }, - "m_rows_examined_sum_per_sec": { - "description": "Number of rows scanned - SELECT.", - "type": "number", - "format": "float", - "x-order": 10 - }, - "m_rows_affected_sum_per_sec": { - "description": "Number of rows changed - UPDATE, DELETE, INSERT.", - "type": "number", - "format": "float", - "x-order": 11 - }, - "m_rows_read_sum_per_sec": { - "description": "The number of rows read from tables.", - "type": "number", - "format": "float", - "x-order": 12 - }, - "m_merge_passes_sum_per_sec": { - "description": "The number of merge passes that the sort algorithm has had to do.", - "type": "number", - "format": "float", - "x-order": 13 - }, - "m_innodb_io_r_ops_sum_per_sec": { - "description": "Counts the number of page read operations scheduled.", - "type": "number", - "format": "float", - "x-order": 14 - }, - "m_innodb_io_r_bytes_sum_per_sec": { - "description": "Similar to innodb_IO_r_ops, but the unit is bytes.", - "type": "number", - "format": "float", - "x-order": 15 - }, - "m_innodb_io_r_wait_sum_per_sec": { - "description": "Shows how long (in seconds) it took InnoDB to actually read the data from storage.", - "type": "number", - "format": "float", - "x-order": 16 - }, - "m_innodb_rec_lock_wait_sum_per_sec": { - "description": "Shows how long (in seconds) the query waited for row locks.", - "type": "number", - "format": "float", - "x-order": 17 - }, - "m_innodb_queue_wait_sum_per_sec": { - "description": "Shows how long (in seconds) the query spent either waiting to enter the InnoDB queue or inside that queue waiting for execution.", - "type": "number", - "format": "float", - "x-order": 18 - }, - "m_innodb_pages_distinct_sum_per_sec": { - "description": "Counts approximately the number of unique pages the query accessed.", - "type": "number", - "format": "float", - "x-order": 19 - }, - "m_query_length_sum_per_sec": { - "description": "Shows how long the query is.", - "type": "number", - "format": "float", - "x-order": 20 - }, - "m_bytes_sent_sum_per_sec": { - "description": "The number of bytes sent to all clients.", - "type": "number", - "format": "float", - "x-order": 21 - }, - "m_tmp_tables_sum_per_sec": { - "description": "Number of temporary tables created on memory for the query.", - "type": "number", - "format": "float", - "x-order": 22 - }, - "m_tmp_disk_tables_sum_per_sec": { - "description": "Number of temporary tables created on disk for the query.", - "type": "number", - "format": "float", - "x-order": 23 - }, - "m_tmp_table_sizes_sum_per_sec": { - "description": "Total Size in bytes for all temporary tables used in the query.", - "type": "number", - "format": "float", - "x-order": 24 - }, - "m_qc_hit_sum_per_sec": { - "description": "Query Cache hits.", - "type": "number", - "format": "float", - "x-order": 25 - }, - "m_full_scan_sum_per_sec": { - "description": "The query performed a full table scan.", - "type": "number", - "format": "float", - "x-order": 26 - }, - "m_full_join_sum_per_sec": { - "description": "The query performed a full join (a join without indexes).", - "type": "number", - "format": "float", - "x-order": 27 - }, - "m_tmp_table_sum_per_sec": { - "description": "The query created an implicit internal temporary table.", - "type": "number", - "format": "float", - "x-order": 28 - }, - "m_tmp_table_on_disk_sum_per_sec": { - "description": "The querys temporary table was stored on disk.", - "type": "number", - "format": "float", - "x-order": 29 - }, - "m_filesort_sum_per_sec": { - "description": "The query used a filesort.", - "type": "number", - "format": "float", - "x-order": 30 - }, - "m_filesort_on_disk_sum_per_sec": { - "description": "The filesort was performed on disk.", - "type": "number", - "format": "float", - "x-order": 31 - }, - "m_select_full_range_join_sum_per_sec": { - "description": "The number of joins that used a range search on a reference table.", - "type": "number", - "format": "float", - "x-order": 32 - }, - "m_select_range_sum_per_sec": { - "description": "The number of joins that used ranges on the first table.", - "type": "number", - "format": "float", - "x-order": 33 - }, - "m_select_range_check_sum_per_sec": { - "description": "The number of joins without keys that check for key usage after each row.", - "type": "number", - "format": "float", - "x-order": 34 - }, - "m_sort_range_sum_per_sec": { - "description": "The number of sorts that were done using ranges.", - "type": "number", - "format": "float", - "x-order": 35 - }, - "m_sort_rows_sum_per_sec": { - "description": "The number of sorted rows.", - "type": "number", - "format": "float", - "x-order": 36 - }, - "m_sort_scan_sum_per_sec": { - "description": "The number of sorts that were done by scanning the table.", - "type": "number", - "format": "float", - "x-order": 37 - }, - "m_no_index_used_sum_per_sec": { - "description": "The number of queries without index.", - "type": "number", - "format": "float", - "x-order": 38 - }, - "m_no_good_index_used_sum_per_sec": { - "description": "The number of queries without good index.", - "type": "number", - "format": "float", - "x-order": 39 - }, - "m_docs_returned_sum_per_sec": { - "description": "The number of returned documents.", - "type": "number", - "format": "float", - "x-order": 40 - }, - "m_response_length_sum_per_sec": { - "description": "The response length of the query result in bytes.", - "type": "number", - "format": "float", - "x-order": 41 - }, - "m_docs_scanned_sum_per_sec": { - "description": "The number of scanned documents.", - "type": "number", - "format": "float", - "x-order": 42 - }, - "m_shared_blks_hit_sum_per_sec": { - "description": "Total number of shared block cache hits by the statement.", - "type": "number", - "format": "float", - "x-order": 43 - }, - "m_shared_blks_read_sum_per_sec": { - "description": "Total number of shared blocks read by the statement.", - "type": "number", - "format": "float", - "x-order": 44 - }, - "m_shared_blks_dirtied_sum_per_sec": { - "description": "Total number of shared blocks dirtied by the statement.", - "type": "number", - "format": "float", - "x-order": 45 - }, - "m_shared_blks_written_sum_per_sec": { - "description": "Total number of shared blocks written by the statement.", - "type": "number", - "format": "float", - "x-order": 46 - }, - "m_local_blks_hit_sum_per_sec": { - "description": "Total number of local block cache hits by the statement.", - "type": "number", - "format": "float", - "x-order": 47 - }, - "m_local_blks_read_sum_per_sec": { - "description": "Total number of local blocks read by the statement.", - "type": "number", - "format": "float", - "x-order": 48 - }, - "m_local_blks_dirtied_sum_per_sec": { - "description": "Total number of local blocks dirtied by the statement.", - "type": "number", - "format": "float", - "x-order": 49 - }, - "m_local_blks_written_sum_per_sec": { - "description": "Total number of local blocks written by the statement.", - "type": "number", - "format": "float", - "x-order": 50 - }, - "m_temp_blks_read_sum_per_sec": { - "description": "Total number of temp blocks read by the statement.", - "type": "number", - "format": "float", - "x-order": 51 - }, - "m_temp_blks_written_sum_per_sec": { - "description": "Total number of temp blocks written by the statement.", - "type": "number", - "format": "float", - "x-order": 52 - }, - "m_blk_read_time_sum_per_sec": { - "description": "Total time the statement spent reading blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", - "type": "number", - "format": "float", - "x-order": 53 - }, - "m_blk_write_time_sum_per_sec": { - "description": "Total time the statement spent writing blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", - "type": "number", - "format": "float", - "x-order": 54 - }, - "m_cpu_user_time_sum_per_sec": { - "description": "Total time user spent in query.", - "type": "number", - "format": "float", - "x-order": 55 - }, - "m_cpu_sys_time_sum_per_sec": { - "description": "Total time system spent in query.", - "type": "number", - "format": "float", - "x-order": 56 - }, - "m_plans_calls_sum_per_sec": { - "description": "Total number of planned calls.", - "type": "number", - "format": "float", - "x-order": 57 - }, - "m_wal_records_sum_per_sec": { - "description": "Total number of WAL (Write-ahead logging) records.", - "type": "number", - "format": "float", - "x-order": 58 - }, - "m_wal_fpi_sum_per_sec": { - "description": "Total number of FPI (full page images) in WAL (Write-ahead logging) records.", - "type": "number", - "format": "float", - "x-order": 59 - }, - "m_wal_bytes_sum_per_sec": { - "description": "Total bytes of WAL (Write-ahead logging) records.", - "type": "number", - "format": "float", - "x-order": 60 - }, - "m_plan_time_sum_per_sec": { - "description": "Plan time in per seconds.", - "type": "number", - "format": "float", - "x-order": 61 - } - } - }, - "x-order": 2 - }, - "totals": { - "type": "object", - "additionalProperties": { - "description": "MetricValues is statistics of specific metric.", - "type": "object", - "properties": { - "rate": { - "type": "number", - "format": "float", - "x-order": 0 - }, - "cnt": { - "type": "number", - "format": "float", - "x-order": 1 - }, - "sum": { - "type": "number", - "format": "float", - "x-order": 2 - }, - "min": { - "type": "number", - "format": "float", - "x-order": 3 - }, - "max": { - "type": "number", - "format": "float", - "x-order": 4 - }, - "avg": { - "type": "number", - "format": "float", - "x-order": 5 - }, - "p99": { - "type": "number", - "format": "float", - "x-order": 6 - }, - "percent_of_total": { - "type": "number", - "format": "float", - "x-order": 7 - } - } - }, - "x-order": 3 - }, - "fingerprint": { - "type": "string", - "x-order": 4 - }, - "metadata": { - "description": "GetSlecetedQueryMetadataResponse consists selected query metadata to show in details for given query ID.", - "type": "object", - "properties": { - "service_name": { - "type": "string", - "x-order": 0 - }, - "database": { - "type": "string", - "x-order": 1 - }, - "schema": { - "type": "string", - "x-order": 2 - }, - "username": { - "type": "string", - "x-order": 3 - }, - "replication_set": { - "type": "string", - "x-order": 4 - }, - "cluster": { - "type": "string", - "x-order": 5 - }, - "service_type": { - "type": "string", - "x-order": 6 - }, - "service_id": { - "type": "string", - "x-order": 7 - }, - "environment": { - "type": "string", - "x-order": 8 - }, - "node_id": { - "type": "string", - "x-order": 9 - }, - "node_name": { - "type": "string", - "x-order": 10 - }, - "node_type": { - "type": "string", - "x-order": 11 - } - }, - "x-order": 5 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/server/leaderHealthCheck": { - "get": { - "description": "Checks if the instance is the leader in a cluster. Returns an error if the instance isn't the leader.", - "tags": [ - "ServerService" - ], - "summary": "Check Leadership", - "operationId": "LeaderHealthCheck", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "This probe is available without authentication, so it should not contain any data.", - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "type": "object", - "properties": { - "@type": { - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.", - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/server/logs.zip": { - "get": { - "description": "Returns the PMM Server logs.", - "produces": [ - "application/zip" - ], - "tags": [ - "ServerService" - ], - "summary": "Logs", - "operationId": "Logs", - "parameters": [ - { - "type": "boolean", - "description": "Include performance profiling data,", - "name": "pprof", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "file" - } - }, - "default": { - "description": "An error response.", - "schema": { - "description": "ErrorResponse is a message returned on HTTP error.", - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32" - }, - "error": { - "type": "string" - }, - "message": { - "type": "string" - } - } - } - } - } - } - }, - "/v1/server/readyz": { - "get": { - "description": "Returns an error when Server components being restarted are not ready yet. Use this API for checking the health of Docker containers and for probing Kubernetes readiness.", - "tags": [ - "ServerService" - ], - "summary": "Check server readiness", - "operationId": "Readiness", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "This probe is available without authentication, so it should not contain any data.", - "type": "object" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "type": "object", - "properties": { - "@type": { - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.", - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/server/settings": { - "get": { - "description": "Returns current PMM Server settings.", - "tags": [ - "ServerService" - ], - "summary": "Get settings", - "operationId": "GetSettings", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "settings": { - "description": "Settings represents PMM Server settings.", - "type": "object", - "properties": { - "updates_enabled": { - "description": "True if updates are enabled.", - "type": "boolean", - "x-order": 0 - }, - "telemetry_enabled": { - "description": "True if telemetry is enabled.", - "type": "boolean", - "x-order": 1 - }, - "metrics_resolutions": { - "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", - "type": "object", - "properties": { - "hr": { - "description": "High resolution. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 0 - }, - "mr": { - "description": "Medium resolution. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 1 - }, - "lr": { - "description": "Low resolution. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 2 - }, - "data_retention": { - "type": "string", - "x-order": 3 - }, - "ssh_key": { - "type": "string", - "x-order": 4 - }, - "aws_partitions": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 5 - }, - "advisor_enabled": { - "description": "True if Advisor is enabled.", - "type": "boolean", - "x-order": 6 - }, - "platform_email": { - "description": "Percona Platform user's email, if this PMM instance is linked to the Platform.", - "type": "string", - "x-order": 7 - }, - "alerting_enabled": { - "description": "True if Alerting is enabled.", - "type": "boolean", - "x-order": 8 - }, - "pmm_public_address": { - "description": "PMM Server public address.", - "type": "string", - "x-order": 9 - }, - "advisor_run_intervals": { - "description": "AdvisorRunIntervals represents intervals between each run of Advisor checks.", - "type": "object", - "properties": { - "standard_interval": { - "description": "Standard check interval.", - "type": "string", - "x-order": 0 - }, - "rare_interval": { - "description": "Interval for rare check runs.", - "type": "string", - "x-order": 1 - }, - "frequent_interval": { - "description": "Interval for frequent check runs.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 10 - }, - "backup_management_enabled": { - "description": "True if Backup Management is enabled.", - "type": "boolean", - "x-order": 11 - }, - "azurediscover_enabled": { - "description": "True if Azure Discover is enabled.", - "type": "boolean", - "x-order": 12 - }, - "connected_to_platform": { - "type": "boolean", - "title": "True if the PMM instance is connected to Platform", - "x-order": 13 - }, - "telemetry_summaries": { - "type": "array", - "title": "Includes list of collected telemetry", - "items": { - "type": "string" - }, - "x-order": 14 - }, - "enable_access_control": { - "description": "True if Access Control is enabled.", - "type": "boolean", - "x-order": 15 - }, - "default_role_id": { - "description": "Default Access Control role ID for new users.", - "type": "integer", - "format": "int64", - "x-order": 16 - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "type": "object", - "properties": { - "@type": { - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.", - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "put": { - "description": "Changes PMM Server settings.", - "tags": [ - "ServerService" - ], - "summary": "Change settings", - "operationId": "ChangeSettings", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "enable_updates": { - "type": "boolean", - "x-nullable": true, - "x-order": 0 - }, - "enable_telemetry": { - "type": "boolean", - "x-nullable": true, - "x-order": 1 - }, - "metrics_resolutions": { - "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", - "type": "object", - "properties": { - "hr": { - "description": "High resolution. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 0 - }, - "mr": { - "description": "Medium resolution. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 1 - }, - "lr": { - "description": "Low resolution. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 2 - }, - "data_retention": { - "description": "A number of full days for Prometheus and QAN data retention. Should have a suffix in JSON: 2592000s, 43200m, 720h.", - "type": "string", - "x-order": 3 - }, - "ssh_key": { - "type": "string", - "x-nullable": true, - "x-order": 4 - }, - "aws_partitions": { - "description": "A wrapper for a string array. This type allows to distinguish between an empty array and a null value.", - "type": "object", - "properties": { - "values": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 0 - } - }, - "x-nullable": true, - "x-order": 5 - }, - "enable_advisor": { - "description": "Enable Advisor.", - "type": "boolean", - "x-nullable": true, - "x-order": 6 - }, - "enable_alerting": { - "description": "Enable Alerting.", - "type": "boolean", - "x-nullable": true, - "x-order": 7 - }, - "pmm_public_address": { - "description": "PMM Server public address.", - "type": "string", - "x-nullable": true, - "x-order": 8 - }, - "advisor_run_intervals": { - "description": "AdvisorRunIntervals represents intervals between each run of Advisor checks.", - "type": "object", - "properties": { - "standard_interval": { - "description": "Standard check interval.", - "type": "string", - "x-order": 0 - }, - "rare_interval": { - "description": "Interval for rare check runs.", - "type": "string", - "x-order": 1 - }, - "frequent_interval": { - "description": "Interval for frequent check runs.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 9 - }, - "enable_azurediscover": { - "description": "Enable Azure Discover.", - "type": "boolean", - "x-nullable": true, - "x-order": 10 - }, - "enable_backup_management": { - "description": "Enable Backup Management.", - "type": "boolean", - "x-nullable": true, - "x-order": 11 - }, - "enable_access_control": { - "type": "boolean", - "title": "Enable Access Control", - "x-nullable": true, - "x-order": 12 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "settings": { - "description": "Settings represents PMM Server settings.", - "type": "object", - "properties": { - "updates_enabled": { - "description": "True if updates are enabled.", - "type": "boolean", - "x-order": 0 - }, - "telemetry_enabled": { - "description": "True if telemetry is enabled.", - "type": "boolean", - "x-order": 1 - }, - "metrics_resolutions": { - "description": "MetricsResolutions represents Prometheus exporters metrics resolutions.", - "type": "object", - "properties": { - "hr": { - "description": "High resolution. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 0 - }, - "mr": { - "description": "Medium resolution. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 1 - }, - "lr": { - "description": "Low resolution. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 2 - }, - "data_retention": { - "type": "string", - "x-order": 3 - }, - "ssh_key": { - "type": "string", - "x-order": 4 - }, - "aws_partitions": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 5 - }, - "advisor_enabled": { - "description": "True if Advisor is enabled.", - "type": "boolean", - "x-order": 6 - }, - "platform_email": { - "description": "Percona Platform user's email, if this PMM instance is linked to the Platform.", - "type": "string", - "x-order": 7 - }, - "alerting_enabled": { - "description": "True if Alerting is enabled.", - "type": "boolean", - "x-order": 8 - }, - "pmm_public_address": { - "description": "PMM Server public address.", - "type": "string", - "x-order": 9 - }, - "advisor_run_intervals": { - "description": "AdvisorRunIntervals represents intervals between each run of Advisor checks.", - "type": "object", - "properties": { - "standard_interval": { - "description": "Standard check interval.", - "type": "string", - "x-order": 0 - }, - "rare_interval": { - "description": "Interval for rare check runs.", - "type": "string", - "x-order": 1 - }, - "frequent_interval": { - "description": "Interval for frequent check runs.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 10 - }, - "backup_management_enabled": { - "description": "True if Backup Management is enabled.", - "type": "boolean", - "x-order": 11 - }, - "azurediscover_enabled": { - "description": "True if Azure Discover is enabled.", - "type": "boolean", - "x-order": 12 - }, - "connected_to_platform": { - "type": "boolean", - "title": "True if the PMM instance is connected to Platform", - "x-order": 13 - }, - "telemetry_summaries": { - "type": "array", - "title": "Includes list of collected telemetry", - "items": { - "type": "string" - }, - "x-order": 14 - }, - "enable_access_control": { - "description": "True if Access Control is enabled.", - "type": "boolean", - "x-order": 15 - }, - "default_role_id": { - "description": "Default Access Control role ID for new users.", - "type": "integer", - "format": "int64", - "x-order": 16 - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "type": "object", - "properties": { - "@type": { - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.", - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/server/updates": { - "get": { - "description": "Checks for available PMM Server updates.", - "tags": [ - "ServerService" - ], - "summary": "Check updates", - "operationId": "CheckUpdates", - "parameters": [ - { - "type": "boolean", - "description": "If false, cached information may be returned.", - "name": "force", - "in": "query" - }, - { - "type": "boolean", - "description": "If true, only installed version will be in response.", - "name": "only_installed_version", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "installed": { - "description": "VersionInfo describes component version, or PMM Server as a whole.", - "type": "object", - "properties": { - "version": { - "description": "User-visible version.", - "type": "string", - "x-order": 0 - }, - "full_version": { - "description": "Full version for debugging.", - "type": "string", - "x-order": 1 - }, - "timestamp": { - "description": "Build or release date.", - "type": "string", - "format": "date-time", - "x-order": 2 - } - }, - "x-order": 0 - }, - "latest": { - "type": "object", - "properties": { - "version": { - "description": "PMM Version.", - "type": "string", - "x-order": 0 - }, - "tag": { - "description": "Docker image tag.", - "type": "string", - "x-order": 1 - }, - "timestamp": { - "description": "Release date.", - "type": "string", - "format": "date-time", - "x-order": 2 - }, - "release_notes_url": { - "description": "Release notes URL for the version (if available).", - "type": "string", - "x-order": 3 - }, - "release_notes_text": { - "description": "Release notes text for the version (if available).", - "type": "string", - "x-order": 4 - } - }, - "x-order": 1 - }, - "update_available": { - "description": "True if there is a PMM Server update available.", - "type": "boolean", - "x-order": 2 - }, - "latest_news_url": { - "description": "Latest available PMM Server release announcement URL.", - "type": "string", - "x-order": 3 - }, - "last_check": { - "description": "Last check time.", - "type": "string", - "format": "date-time", - "x-order": 4 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "type": "object", - "properties": { - "@type": { - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.", - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/server/updates/changelogs": { - "get": { - "description": "List all the changes between the installed version and the latest available version", - "tags": [ - "ServerService" - ], - "summary": "List all the changes between the installed version and the latest available version", - "operationId": "ListChangeLogs", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "updates": { - "description": "List of available updates.", - "type": "array", - "items": { - "type": "object", - "properties": { - "version": { - "description": "PMM Version.", - "type": "string", - "x-order": 0 - }, - "tag": { - "description": "Docker image tag.", - "type": "string", - "x-order": 1 - }, - "timestamp": { - "description": "Release date.", - "type": "string", - "format": "date-time", - "x-order": 2 - }, - "release_notes_url": { - "description": "Release notes URL for the version (if available).", - "type": "string", - "x-order": 3 - }, - "release_notes_text": { - "description": "Release notes text for the version (if available).", - "type": "string", - "x-order": 4 - } - } - }, - "x-order": 0 - }, - "last_check": { - "description": "Last check time.", - "type": "string", - "format": "date-time", - "x-order": 1 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "type": "object", - "properties": { - "@type": { - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.", - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/server/updates:getStatus": { - "post": { - "description": "Returns PMM Server update status.", - "tags": [ - "ServerService" - ], - "summary": "Update status", - "operationId": "UpdateStatus", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "auth_token": { - "description": "Authentication token.", - "type": "string", - "x-order": 0 - }, - "log_offset": { - "description": "Progress log offset.", - "type": "integer", - "format": "int64", - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "log_lines": { - "description": "Progress log lines.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 0 - }, - "log_offset": { - "description": "Progress log offset for the next request.", - "type": "integer", - "format": "int64", - "x-order": 1 - }, - "done": { - "description": "True when update is done.", - "type": "boolean", - "x-order": 2 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "type": "object", - "properties": { - "@type": { - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.", - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/server/updates:start": { - "post": { - "description": "Starts PMM Server update.", - "tags": [ - "ServerService" - ], - "summary": "Start update", - "operationId": "StartUpdate", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "new_image": { - "type": "string", - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "auth_token": { - "description": "Authentication token for getting update statuses.", - "type": "string", - "x-order": 0 - }, - "log_offset": { - "description": "Progress log offset.", - "type": "integer", - "format": "int64", - "x-order": 1 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "type": "object", - "properties": { - "@type": { - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.", - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/server/version": { - "get": { - "description": "Returns PMM Server versions.", - "tags": [ - "ServerService" - ], - "summary": "Version", - "operationId": "Version", - "parameters": [ - { - "type": "string", - "description": "Dummy parameter for internal testing. Do not use.", - "name": "dummy", - "in": "query" - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "version": { - "description": "PMM Server version.", - "type": "string", - "x-order": 0 - }, - "server": { - "description": "VersionInfo describes component version, or PMM Server as a whole.", - "type": "object", - "properties": { - "version": { - "description": "User-visible version.", - "type": "string", - "x-order": 0 - }, - "full_version": { - "description": "Full version for debugging.", - "type": "string", - "x-order": 1 - }, - "timestamp": { - "description": "Build or release date.", - "type": "string", - "format": "date-time", - "x-order": 2 - } - }, - "x-order": 1 - }, - "managed": { - "description": "VersionInfo describes component version, or PMM Server as a whole.", - "type": "object", - "properties": { - "version": { - "description": "User-visible version.", - "type": "string", - "x-order": 0 - }, - "full_version": { - "description": "Full version for debugging.", - "type": "string", - "x-order": 1 - }, - "timestamp": { - "description": "Build or release date.", - "type": "string", - "format": "date-time", - "x-order": 2 - } - }, - "x-order": 2 - }, - "distribution_method": { - "description": "DistributionMethod defines PMM Server distribution method: Docker image, OVF/OVA, or AMI.", - "type": "string", - "default": "DISTRIBUTION_METHOD_UNSPECIFIED", - "enum": [ - "DISTRIBUTION_METHOD_UNSPECIFIED", - "DISTRIBUTION_METHOD_DOCKER", - "DISTRIBUTION_METHOD_OVF", - "DISTRIBUTION_METHOD_AMI", - "DISTRIBUTION_METHOD_AZURE", - "DISTRIBUTION_METHOD_DO" - ], - "x-order": 3 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "type": "object", - "properties": { - "@type": { - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.", - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/users": { - "get": { - "description": "Retrieve user details for all users from PMM server", - "tags": [ - "UserService" - ], - "summary": "List all users", - "operationId": "ListUsers", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "users": { - "type": "array", - "items": { - "type": "object", - "properties": { - "user_id": { - "type": "integer", - "format": "int64", - "x-order": 0 - }, - "role_ids": { - "description": "List of role IDs assigned to the user.", - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "x-order": 1 - } - } - }, - "x-order": 0 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - }, - "/v1/users/me": { - "get": { - "description": "Retrieve user details from PMM server", - "tags": [ - "UserService" - ], - "summary": "Get user details", - "operationId": "GetUser", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "user_id": { - "type": "integer", - "format": "int64", - "title": "User ID", - "x-order": 0 - }, - "product_tour_completed": { - "type": "boolean", - "title": "Product Tour", - "x-order": 1 - }, - "alerting_tour_completed": { - "type": "boolean", - "title": "Alerting Tour", - "x-order": 2 - }, - "snoozed_pmm_version": { - "type": "string", - "title": "Snoozed PMM version update", - "x-order": 3 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - }, - "put": { - "description": "Update user details in PMM server", - "tags": [ - "UserService" - ], - "summary": "Update a user", - "operationId": "UpdateUser", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "product_tour_completed": { - "type": "boolean", - "title": "Product Tour", - "x-nullable": true, - "x-order": 0 - }, - "alerting_tour_completed": { - "type": "boolean", - "title": "Alerting Tour", - "x-nullable": true, - "x-order": 1 - }, - "snoozed_pmm_version": { - "type": "string", - "title": "Snooze update alert for a PMM version", - "x-nullable": true, - "x-order": 2 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "user_id": { - "type": "integer", - "format": "int64", - "title": "User ID", - "x-order": 0 - }, - "product_tour_completed": { - "type": "boolean", - "title": "Product Tour", - "x-order": 1 - }, - "alerting_tour_completed": { - "type": "boolean", - "title": "Alerting Tour", - "x-order": 2 - }, - "snoozed_pmm_version": { - "type": "string", - "title": "Snooze update alert for a PMM version", - "x-order": 3 - } - } - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "type": "string", - "x-order": 1 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@type": { - "type": "string", - "x-order": 0 - } - }, - "additionalProperties": false - }, - "x-order": 2 - } - } - } - } - } - } - } - }, - "securityDefinitions": { - "basicAuth": { - "type": "basic" - } - }, - "security": [ - { - "basicAuth": [] - } - ], - "tags": [ - { - "name": "ServerService" - }, - { - "name": "UserService" - }, - { - "name": "AgentsService" - }, - { - "name": "NodesService" - }, - { - "name": "ServicesService" - }, - { - "name": "ManagementService" - }, - { - "name": "ActionsService" - }, - { - "name": "AlertingService" - }, - { - "name": "AdvisorService" - }, - { - "name": "BackupService" - }, - { - "name": "LocationsService" - }, - { - "name": "RestoreService" - }, - { - "name": "QANService" - }, - { - "name": "PlatformService" - } - ], - "x-readme": { - "samples-languages": [ - "curl", - "go", - "node", - "python" - ] - }, - "x-readme-id": "622892a957a7410330bc6184" -} \ No newline at end of file +{} \ No newline at end of file diff --git a/api/user/v1/json/client/user_service/get_user_responses.go b/api/user/v1/json/client/user_service/get_user_responses.go index 184a1e66b3..e9ef71e832 100644 --- a/api/user/v1/json/client/user_service/get_user_responses.go +++ b/api/user/v1/json/client/user_service/get_user_responses.go @@ -7,6 +7,7 @@ package user_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type GetUserOK struct { Payload *GetUserOKBody } +// IsSuccess returns true when this get user Ok response has a 2xx status code +func (o *GetUserOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get user Ok response has a 3xx status code +func (o *GetUserOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get user Ok response has a 4xx status code +func (o *GetUserOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get user Ok response has a 5xx status code +func (o *GetUserOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get user Ok response a status code equal to that given +func (o *GetUserOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get user Ok response +func (o *GetUserOK) Code() int { + return 200 +} + func (o *GetUserOK) Error() string { - return fmt.Sprintf("[GET /v1/users/me][%d] getUserOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/users/me][%d] getUserOk %s", 200, payload) +} + +func (o *GetUserOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/users/me][%d] getUserOk %s", 200, payload) } func (o *GetUserOK) GetPayload() *GetUserOKBody { @@ -94,13 +131,44 @@ type GetUserDefault struct { Payload *GetUserDefaultBody } +// IsSuccess returns true when this get user default response has a 2xx status code +func (o *GetUserDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this get user default response has a 3xx status code +func (o *GetUserDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this get user default response has a 4xx status code +func (o *GetUserDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this get user default response has a 5xx status code +func (o *GetUserDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this get user default response a status code equal to that given +func (o *GetUserDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the get user default response func (o *GetUserDefault) Code() int { return o._statusCode } func (o *GetUserDefault) Error() string { - return fmt.Sprintf("[GET /v1/users/me][%d] GetUser default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/users/me][%d] GetUser default %s", o._statusCode, payload) +} + +func (o *GetUserDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/users/me][%d] GetUser default %s", o._statusCode, payload) } func (o *GetUserDefault) GetPayload() *GetUserDefaultBody { @@ -190,6 +258,11 @@ func (o *GetUserDefaultBody) ContextValidate(ctx context.Context, formats strfmt func (o *GetUserDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("GetUser default" + "." + "details" + "." + strconv.Itoa(i)) @@ -229,6 +302,80 @@ swagger:model GetUserDefaultBodyDetailsItems0 type GetUserDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // get user default body details items0 + GetUserDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *GetUserDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv GetUserDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.GetUserDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o GetUserDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.GetUserDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.GetUserDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this get user default body details items0 diff --git a/api/user/v1/json/client/user_service/list_users_responses.go b/api/user/v1/json/client/user_service/list_users_responses.go index af898048e2..2c5cfcf892 100644 --- a/api/user/v1/json/client/user_service/list_users_responses.go +++ b/api/user/v1/json/client/user_service/list_users_responses.go @@ -7,6 +7,7 @@ package user_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type ListUsersOK struct { Payload *ListUsersOKBody } +// IsSuccess returns true when this list users Ok response has a 2xx status code +func (o *ListUsersOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this list users Ok response has a 3xx status code +func (o *ListUsersOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this list users Ok response has a 4xx status code +func (o *ListUsersOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this list users Ok response has a 5xx status code +func (o *ListUsersOK) IsServerError() bool { + return false +} + +// IsCode returns true when this list users Ok response a status code equal to that given +func (o *ListUsersOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the list users Ok response +func (o *ListUsersOK) Code() int { + return 200 +} + func (o *ListUsersOK) Error() string { - return fmt.Sprintf("[GET /v1/users][%d] listUsersOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/users][%d] listUsersOk %s", 200, payload) +} + +func (o *ListUsersOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/users][%d] listUsersOk %s", 200, payload) } func (o *ListUsersOK) GetPayload() *ListUsersOKBody { @@ -94,13 +131,44 @@ type ListUsersDefault struct { Payload *ListUsersDefaultBody } +// IsSuccess returns true when this list users default response has a 2xx status code +func (o *ListUsersDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this list users default response has a 3xx status code +func (o *ListUsersDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this list users default response has a 4xx status code +func (o *ListUsersDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this list users default response has a 5xx status code +func (o *ListUsersDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this list users default response a status code equal to that given +func (o *ListUsersDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the list users default response func (o *ListUsersDefault) Code() int { return o._statusCode } func (o *ListUsersDefault) Error() string { - return fmt.Sprintf("[GET /v1/users][%d] ListUsers default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/users][%d] ListUsers default %s", o._statusCode, payload) +} + +func (o *ListUsersDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /v1/users][%d] ListUsers default %s", o._statusCode, payload) } func (o *ListUsersDefault) GetPayload() *ListUsersDefaultBody { @@ -190,6 +258,11 @@ func (o *ListUsersDefaultBody) ContextValidate(ctx context.Context, formats strf func (o *ListUsersDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("ListUsers default" + "." + "details" + "." + strconv.Itoa(i)) @@ -229,6 +302,80 @@ swagger:model ListUsersDefaultBodyDetailsItems0 type ListUsersDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // list users default body details items0 + ListUsersDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *ListUsersDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv ListUsersDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.ListUsersDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o ListUsersDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.ListUsersDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.ListUsersDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this list users default body details items0 @@ -325,6 +472,11 @@ func (o *ListUsersOKBody) ContextValidate(ctx context.Context, formats strfmt.Re func (o *ListUsersOKBody) contextValidateUsers(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Users); i++ { if o.Users[i] != nil { + + if swag.IsZero(o.Users[i]) { // not required + return nil + } + if err := o.Users[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("listUsersOk" + "." + "users" + "." + strconv.Itoa(i)) diff --git a/api/user/v1/json/client/user_service/update_user_responses.go b/api/user/v1/json/client/user_service/update_user_responses.go index 4a8b209032..93a7ec4357 100644 --- a/api/user/v1/json/client/user_service/update_user_responses.go +++ b/api/user/v1/json/client/user_service/update_user_responses.go @@ -7,6 +7,7 @@ package user_service import ( "context" + "encoding/json" "fmt" "io" "strconv" @@ -57,8 +58,44 @@ type UpdateUserOK struct { Payload *UpdateUserOKBody } +// IsSuccess returns true when this update user Ok response has a 2xx status code +func (o *UpdateUserOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this update user Ok response has a 3xx status code +func (o *UpdateUserOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this update user Ok response has a 4xx status code +func (o *UpdateUserOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this update user Ok response has a 5xx status code +func (o *UpdateUserOK) IsServerError() bool { + return false +} + +// IsCode returns true when this update user Ok response a status code equal to that given +func (o *UpdateUserOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the update user Ok response +func (o *UpdateUserOK) Code() int { + return 200 +} + func (o *UpdateUserOK) Error() string { - return fmt.Sprintf("[PUT /v1/users/me][%d] updateUserOk %+v", 200, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/users/me][%d] updateUserOk %s", 200, payload) +} + +func (o *UpdateUserOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/users/me][%d] updateUserOk %s", 200, payload) } func (o *UpdateUserOK) GetPayload() *UpdateUserOKBody { @@ -94,13 +131,44 @@ type UpdateUserDefault struct { Payload *UpdateUserDefaultBody } +// IsSuccess returns true when this update user default response has a 2xx status code +func (o *UpdateUserDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this update user default response has a 3xx status code +func (o *UpdateUserDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this update user default response has a 4xx status code +func (o *UpdateUserDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this update user default response has a 5xx status code +func (o *UpdateUserDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this update user default response a status code equal to that given +func (o *UpdateUserDefault) IsCode(code int) bool { + return o._statusCode == code +} + // Code gets the status code for the update user default response func (o *UpdateUserDefault) Code() int { return o._statusCode } func (o *UpdateUserDefault) Error() string { - return fmt.Sprintf("[PUT /v1/users/me][%d] UpdateUser default %+v", o._statusCode, o.Payload) + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/users/me][%d] UpdateUser default %s", o._statusCode, payload) +} + +func (o *UpdateUserDefault) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /v1/users/me][%d] UpdateUser default %s", o._statusCode, payload) } func (o *UpdateUserDefault) GetPayload() *UpdateUserDefaultBody { @@ -233,6 +301,11 @@ func (o *UpdateUserDefaultBody) ContextValidate(ctx context.Context, formats str func (o *UpdateUserDefaultBody) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { for i := 0; i < len(o.Details); i++ { if o.Details[i] != nil { + + if swag.IsZero(o.Details[i]) { // not required + return nil + } + if err := o.Details[i].ContextValidate(ctx, formats); err != nil { if ve, ok := err.(*errors.Validation); ok { return ve.ValidateName("UpdateUser default" + "." + "details" + "." + strconv.Itoa(i)) @@ -272,6 +345,80 @@ swagger:model UpdateUserDefaultBodyDetailsItems0 type UpdateUserDefaultBodyDetailsItems0 struct { // at type AtType string `json:"@type,omitempty"` + + // update user default body details items0 + UpdateUserDefaultBodyDetailsItems0 map[string]interface{} `json:"-"` +} + +// UnmarshalJSON unmarshals this object with additional properties from JSON +func (o *UpdateUserDefaultBodyDetailsItems0) UnmarshalJSON(data []byte) error { + // stage 1, bind the properties + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + if err := json.Unmarshal(data, &stage1); err != nil { + return err + } + var rcv UpdateUserDefaultBodyDetailsItems0 + + rcv.AtType = stage1.AtType + *o = rcv + + // stage 2, remove properties and add to map + stage2 := make(map[string]json.RawMessage) + if err := json.Unmarshal(data, &stage2); err != nil { + return err + } + + delete(stage2, "@type") + // stage 3, add additional properties values + if len(stage2) > 0 { + result := make(map[string]interface{}) + for k, v := range stage2 { + var toadd interface{} + if err := json.Unmarshal(v, &toadd); err != nil { + return err + } + result[k] = toadd + } + o.UpdateUserDefaultBodyDetailsItems0 = result + } + + return nil +} + +// MarshalJSON marshals this object with additional properties into a JSON object +func (o UpdateUserDefaultBodyDetailsItems0) MarshalJSON() ([]byte, error) { + var stage1 struct { + // at type + AtType string `json:"@type,omitempty"` + } + + stage1.AtType = o.AtType + + // make JSON object for known properties + props, err := json.Marshal(stage1) + if err != nil { + return nil, err + } + + if len(o.UpdateUserDefaultBodyDetailsItems0) == 0 { // no additional properties + return props, nil + } + + // make JSON object for the additional properties + additional, err := json.Marshal(o.UpdateUserDefaultBodyDetailsItems0) + if err != nil { + return nil, err + } + + if len(props) < 3 { // "{}": only additional properties + return additional, nil + } + + // concatenate the 2 objects + return swag.ConcatJSON(props, additional), nil } // Validate validates this update user default body details items0 diff --git a/api/user/v1/json/client/user_service/user_service_client.go b/api/user/v1/json/client/user_service/user_service_client.go index 83ab3edf86..acacc27115 100644 --- a/api/user/v1/json/client/user_service/user_service_client.go +++ b/api/user/v1/json/client/user_service/user_service_client.go @@ -7,6 +7,7 @@ package user_service import ( "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" ) @@ -15,6 +16,31 @@ func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientServi return &Client{transport: transport, formats: formats} } +// New creates a new user service API client with basic auth credentials. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new user service API client with a bearer token for authentication. +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + /* Client for user service API */ @@ -23,7 +49,7 @@ type Client struct { formats strfmt.Registry } -// ClientOption is the option for Client methods +// ClientOption may be used to customize the behavior of Client methods. type ClientOption func(*runtime.ClientOperation) // ClientService is the interface for Client methods diff --git a/api/user/v1/json/v1.json b/api/user/v1/json/v1.json index b87d4f3a51..dd5d27617e 100644 --- a/api/user/v1/json/v1.json +++ b/api/user/v1/json/v1.json @@ -34,6 +34,11 @@ "items": { "type": "object", "properties": { + "user_id": { + "type": "integer", + "format": "int64", + "x-order": 0 + }, "role_ids": { "description": "List of role IDs assigned to the user.", "type": "array", @@ -42,11 +47,6 @@ "format": "int64" }, "x-order": 1 - }, - "user_id": { - "type": "integer", - "format": "int64", - "x-order": 0 } } }, @@ -65,6 +65,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -75,13 +79,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -103,26 +103,26 @@ "schema": { "type": "object", "properties": { - "alerting_tour_completed": { - "type": "boolean", - "title": "Alerting Tour", - "x-order": 2 + "user_id": { + "type": "integer", + "format": "int64", + "title": "User ID", + "x-order": 0 }, "product_tour_completed": { "type": "boolean", "title": "Product Tour", "x-order": 1 }, + "alerting_tour_completed": { + "type": "boolean", + "title": "Alerting Tour", + "x-order": 2 + }, "snoozed_pmm_version": { "type": "string", "title": "Snoozed PMM version update", "x-order": 3 - }, - "user_id": { - "type": "integer", - "format": "int64", - "title": "User ID", - "x-order": 0 } } } @@ -137,6 +137,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -147,13 +151,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } @@ -175,18 +175,18 @@ "schema": { "type": "object", "properties": { - "alerting_tour_completed": { - "type": "boolean", - "title": "Alerting Tour", - "x-nullable": true, - "x-order": 1 - }, "product_tour_completed": { "type": "boolean", "title": "Product Tour", "x-nullable": true, "x-order": 0 }, + "alerting_tour_completed": { + "type": "boolean", + "title": "Alerting Tour", + "x-nullable": true, + "x-order": 1 + }, "snoozed_pmm_version": { "type": "string", "title": "Snooze update alert for a PMM version", @@ -203,26 +203,26 @@ "schema": { "type": "object", "properties": { - "alerting_tour_completed": { - "type": "boolean", - "title": "Alerting Tour", - "x-order": 2 + "user_id": { + "type": "integer", + "format": "int64", + "title": "User ID", + "x-order": 0 }, "product_tour_completed": { "type": "boolean", "title": "Product Tour", "x-order": 1 }, + "alerting_tour_completed": { + "type": "boolean", + "title": "Alerting Tour", + "x-order": 2 + }, "snoozed_pmm_version": { "type": "string", "title": "Snooze update alert for a PMM version", "x-order": 3 - }, - "user_id": { - "type": "integer", - "format": "int64", - "title": "User ID", - "x-order": 0 } } } @@ -237,6 +237,10 @@ "format": "int32", "x-order": 0 }, + "message": { + "type": "string", + "x-order": 1 + }, "details": { "type": "array", "items": { @@ -247,13 +251,9 @@ "x-order": 0 } }, - "additionalProperties": false + "additionalProperties": {} }, "x-order": 2 - }, - "message": { - "type": "string", - "x-order": 1 } } } diff --git a/go.mod b/go.mod index f25d8d8e8f..1e039b9c69 100644 --- a/go.mod +++ b/go.mod @@ -7,9 +7,9 @@ go 1.22.7 replace github.com/grpc-ecosystem/go-grpc-prometheus => github.com/Percona-Lab/go-grpc-prometheus v0.0.0-20230116133345-3487748d4592 -replace github.com/go-openapi/spec => github.com/Percona-Lab/spec v0.20.5-percona +replace github.com/go-openapi/spec => github.com/Percona-Lab/spec v0.21.0-percona -replace gopkg.in/alecthomas/kingpin.v2 => github.com/Percona-Lab/kingpin v2.2.6-percona+incompatible +replace github.com/alecthomas/kingpin/v2 => github.com/Percona-Lab/kingpin/v2 v2.4.0-percona replace golang.org/x/crypto => github.com/percona-lab/crypto v0.0.0-20231108144114-756dfb24eaf2 @@ -17,6 +17,7 @@ require ( github.com/AlekSi/pointer v1.2.0 github.com/ClickHouse/clickhouse-go/v2 v2.29.0 github.com/DATA-DOG/go-sqlmock v1.5.0 + github.com/alecthomas/kingpin/v2 v2.4.0 github.com/alecthomas/kong v0.9.0 github.com/alecthomas/units v0.0.0-20231202071711-9a357b53e9c9 github.com/aws/aws-sdk-go v1.55.3 @@ -77,7 +78,6 @@ require ( google.golang.org/genproto/googleapis/rpc v0.0.0-20240723171418-e6d459c13d2a google.golang.org/grpc v1.65.0 google.golang.org/protobuf v1.34.2 - gopkg.in/alecthomas/kingpin.v2 v2.2.6 gopkg.in/reform.v1 v1.5.1 gopkg.in/yaml.v3 v3.0.1 ) @@ -111,11 +111,13 @@ require ( github.com/posener/complete v1.2.3 // indirect github.com/riywo/loginshell v0.0.0-20200815045211-7d26008be1ab // indirect github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 // indirect + github.com/xhit/go-str2duration/v2 v2.1.0 // indirect github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.22.0 // indirect go.opentelemetry.io/otel/metric v1.26.0 // indirect go.uber.org/atomic v1.11.0 // indirect + golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect ) @@ -128,7 +130,6 @@ require ( github.com/ClickHouse/ch-go v0.61.5 // indirect github.com/HdrHistogram/hdrhistogram-go v1.1.2 github.com/Microsoft/go-winio v0.6.2 // indirect - github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect github.com/andybalholm/brotli v1.1.0 // indirect github.com/armon/go-metrics v0.4.1 // indirect github.com/beorn7/perks v1.0.1 // indirect diff --git a/go.sum b/go.sum index c236c1d13f..dfa894581b 100644 --- a/go.sum +++ b/go.sum @@ -32,10 +32,10 @@ github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERo github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/Percona-Lab/go-grpc-prometheus v0.0.0-20230116133345-3487748d4592 h1:i7HDf+zPQvaPdrbLGS+wz/Ta32SszwYyHfJks1oVFzg= github.com/Percona-Lab/go-grpc-prometheus v0.0.0-20230116133345-3487748d4592/go.mod h1:xCJfGpj56ERA85Mj1VfBzoeWW4lZ00xXXkvG0LJQjZU= -github.com/Percona-Lab/kingpin v2.2.6-percona+incompatible h1:N5oM40aAatvf8bCYjv69YsVdxJLIUhY/MerUG1jRL9Y= -github.com/Percona-Lab/kingpin v2.2.6-percona+incompatible/go.mod h1:UC6j/e2eqpHBB/vn+5214ExsoDLiEo6BfUGBhbtf+x0= -github.com/Percona-Lab/spec v0.20.5-percona h1:ViCJVq52QIZxpP8/Nv4/nIed+WnqUirNjPtXvHhset4= -github.com/Percona-Lab/spec v0.20.5-percona/go.mod h1:2OpW+JddWPrpXSCIX8eOx7lZ5iyuWj3RYR6VaaBKcWA= +github.com/Percona-Lab/kingpin/v2 v2.4.0-percona h1:WJb6lHtyyzyS0mKs89zqj+s9gQhWBuFRAZ7xY1MwY/0= +github.com/Percona-Lab/kingpin/v2 v2.4.0-percona/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= +github.com/Percona-Lab/spec v0.21.0-percona h1:WGOweXkZlFw9Koz6b+4qWAyns+FoIhH3LPCWYyQaZwg= +github.com/Percona-Lab/spec v0.21.0-percona/go.mod h1:78u6VdPw81XU44qEWGhtr982gJ5BWg2c0I5XwVMotYk= github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= github.com/alecthomas/assert/v2 v2.6.0 h1:o3WJwILtexrEUk3cUVal3oiQY2tfgr/FHWiz/v2n4FU= @@ -45,7 +45,6 @@ github.com/alecthomas/kong v0.9.0/go.mod h1:Y47y5gKfHp1hDc7CH7OeXgLIpp+Q2m1Ni0L5 github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -162,11 +161,8 @@ github.com/go-openapi/analysis v0.23.0 h1:aGday7OWupfMs+LbmLZG4k0MYXIANxcuBTYUC0 github.com/go-openapi/analysis v0.23.0/go.mod h1:9mz9ZWaSlV8TvjQHLl2mUW2PbZtemkE8yA5v22ohupo= github.com/go-openapi/errors v0.22.0 h1:c4xY/OLxUBSTiepAg3j/MHuAv5mJhnf53LLMWFB+u/w= github.com/go-openapi/errors v0.22.0/go.mod h1:J3DmZScxCDufmIMsdOuDHxJbdOGC0xtUynjIx092vXE= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ= github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= -github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXymS4zJbYVCZmcgkasdo= github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ= github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4= github.com/go-openapi/loads v0.22.0 h1:ECPGd4jX1U6NApCGG1We+uEozOAvXvJSF4nnwHZ8Aco= @@ -175,8 +171,6 @@ github.com/go-openapi/runtime v0.28.0 h1:gpPPmWSNGo214l6n8hzdXYhPuJcGtziTOgUpvsF github.com/go-openapi/runtime v0.28.0/go.mod h1:QN7OzcS+XuYmkQLw05akXk0jRH/eZ3kb18+1KwW9gyc= github.com/go-openapi/strfmt v0.23.0 h1:nlUS6BCqcnAk0pyhi9Y+kdDVZdZMHfEKQiS4HaMgO/c= github.com/go-openapi/strfmt v0.23.0/go.mod h1:NrtIpfKtWIygRkKVsxh7XQMDQW5HKQl6S5ik2elW+K4= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE= github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= github.com/go-openapi/validate v0.24.0 h1:LdfDKwNbpB6Vn40xhTdNZAnfLECL81w+VX3BumrGD58= @@ -338,9 +332,6 @@ github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= @@ -522,6 +513,8 @@ github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3k github.com/xdg-go/stringprep v1.0.3/go.mod h1:W3f5j4i+9rC0kuIEJL0ky1VpHXQU3ocBgklLGvcBnW8= github.com/xdg-go/stringprep v1.0.4 h1:XLI/Ng3O1Atzq0oBs3TWm+5ZVgkq2aqdlvP9JtoZ6c8= github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM= +github.com/xhit/go-str2duration/v2 v2.1.0 h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc= +github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU= github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no= github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM= github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= @@ -564,8 +557,8 @@ golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20230315142452-642cacee5cc0 h1:pVgRXcIictcr+lBQIFeiwuwtDIs4eL21OuM9nyAADmo= -golang.org/x/exp v0.0.0-20230315142452-642cacee5cc0/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 h1:k/i9J1pBpvlfR+9QsetwPyERsqu1GIbi967PQMq3Ivc= +golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= @@ -727,6 +720,7 @@ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -747,7 +741,6 @@ gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/managed/cmd/pmm-managed-starlark/main.go b/managed/cmd/pmm-managed-starlark/main.go index 175a78440a..3e89d4463f 100644 --- a/managed/cmd/pmm-managed-starlark/main.go +++ b/managed/cmd/pmm-managed-starlark/main.go @@ -23,13 +23,13 @@ import ( "strconv" "time" + "github.com/alecthomas/kingpin/v2" "github.com/percona-platform/saas/pkg/check" "github.com/percona-platform/saas/pkg/starlark" "github.com/pkg/errors" "github.com/sirupsen/logrus" "go.starlark.net/resolve" "golang.org/x/sys/unix" - "gopkg.in/alecthomas/kingpin.v2" agentv1 "github.com/percona/pmm/api/agent/v1" "github.com/percona/pmm/managed/services/checks" diff --git a/managed/cmd/pmm-managed/main.go b/managed/cmd/pmm-managed/main.go index fcd396f0bd..d16734b7d2 100644 --- a/managed/cmd/pmm-managed/main.go +++ b/managed/cmd/pmm-managed/main.go @@ -36,6 +36,7 @@ import ( "time" _ "github.com/ClickHouse/clickhouse-go/v2" + "github.com/alecthomas/kingpin/v2" grpc_middleware "github.com/grpc-ecosystem/go-grpc-middleware" grpc_validator "github.com/grpc-ecosystem/go-grpc-middleware/validator" grpc_prometheus "github.com/grpc-ecosystem/go-grpc-prometheus" @@ -55,7 +56,6 @@ import ( "google.golang.org/grpc/grpclog" "google.golang.org/grpc/reflection" "google.golang.org/protobuf/encoding/protojson" - "gopkg.in/alecthomas/kingpin.v2" "gopkg.in/reform.v1" "gopkg.in/reform.v1/dialects/postgresql" diff --git a/qan-api2/main.go b/qan-api2/main.go index 382bff4e38..4e6920d021 100644 --- a/qan-api2/main.go +++ b/qan-api2/main.go @@ -31,6 +31,7 @@ import ( "sync" "time" + "github.com/alecthomas/kingpin/v2" grpc_middleware "github.com/grpc-ecosystem/go-grpc-middleware" grpc_validator "github.com/grpc-ecosystem/go-grpc-middleware/validator" grpc_prometheus "github.com/grpc-ecosystem/go-grpc-prometheus" @@ -47,7 +48,6 @@ import ( "google.golang.org/grpc/grpclog" "google.golang.org/grpc/reflection" "google.golang.org/protobuf/encoding/protojson" - "gopkg.in/alecthomas/kingpin.v2" qanpb "github.com/percona/pmm/api/qan/v1" "github.com/percona/pmm/qan-api2/models" diff --git a/tools/go.mod b/tools/go.mod index d6ff51b44c..529d9edc78 100644 --- a/tools/go.mod +++ b/tools/go.mod @@ -2,7 +2,7 @@ module github.com/percona/pmm/tools go 1.22.7 -replace github.com/go-openapi/spec => github.com/Percona-Lab/spec v0.20.5-percona +replace github.com/go-openapi/spec => github.com/Percona-Lab/spec v0.21.0-percona require ( github.com/BurntSushi/go-sumtype v0.0.0-20190304192233-fcb4a6205bdc @@ -12,9 +12,9 @@ require ( github.com/daixiang0/gci v0.13.0 github.com/envoyproxy/protoc-gen-validate v1.1.0 github.com/go-delve/delve v1.23.0 - github.com/go-openapi/runtime v0.25.0 - github.com/go-openapi/spec v0.20.4 - github.com/go-swagger/go-swagger v0.29.0 + github.com/go-openapi/runtime v0.28.0 + github.com/go-openapi/spec v0.21.0 + github.com/go-swagger/go-swagger v0.31.0 github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 github.com/jstemmer/go-junit-report v1.0.0 github.com/quasilyte/go-consistent v0.6.0 @@ -44,7 +44,7 @@ require ( dario.cat/mergo v1.0.0 // indirect github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect github.com/Masterminds/goutils v1.1.1 // indirect - github.com/Masterminds/semver/v3 v3.2.0 // indirect + github.com/Masterminds/semver/v3 v3.2.1 // indirect github.com/Masterminds/sprig/v3 v3.2.3 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect github.com/Microsoft/hcsshim v0.12.7 // indirect @@ -53,7 +53,7 @@ require ( github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect github.com/antlr4-go/antlr/v4 v4.13.1 // indirect - github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d // indirect + github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect github.com/bmatcuk/doublestar/v2 v2.0.4 // indirect github.com/bufbuild/protocompile v0.14.1 // indirect github.com/bufbuild/protoplugin v0.0.0-20240911180120-7bb73e41a54a // indirect @@ -86,7 +86,7 @@ require ( github.com/emirpasic/gods v1.18.1 // indirect github.com/felixge/fgprof v0.9.5 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect - github.com/fsnotify/fsnotify v1.6.0 // indirect + github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-chi/chi/v5 v5.1.0 // indirect github.com/go-delve/liner v1.2.3-0.20231231155935-4726ab1d7f62 // indirect github.com/go-fed/httpsig v1.1.0 // indirect @@ -95,17 +95,16 @@ require ( github.com/go-git/go-git/v5 v5.11.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-openapi/analysis v0.21.3 // indirect - github.com/go-openapi/errors v0.20.2 // indirect - github.com/go-openapi/inflect v0.19.0 // indirect - github.com/go-openapi/jsonpointer v0.19.5 // indirect - github.com/go-openapi/jsonreference v0.20.0 // indirect - github.com/go-openapi/loads v0.21.1 // indirect - github.com/go-openapi/strfmt v0.21.2 // indirect - github.com/go-openapi/swag v0.21.1 // indirect - github.com/go-openapi/validate v0.21.0 // indirect + github.com/go-openapi/analysis v0.23.0 // indirect + github.com/go-openapi/errors v0.22.0 // indirect + github.com/go-openapi/inflect v0.21.0 // indirect + github.com/go-openapi/jsonpointer v0.21.0 // indirect + github.com/go-openapi/jsonreference v0.21.0 // indirect + github.com/go-openapi/loads v0.22.0 // indirect + github.com/go-openapi/strfmt v0.23.0 // indirect + github.com/go-openapi/swag v0.23.0 // indirect + github.com/go-openapi/validate v0.24.0 // indirect github.com/go-sql-driver/mysql v1.5.0 // indirect - github.com/go-stack/stack v1.8.1 // indirect github.com/go-task/slim-sprig/v3 v3.0.0 // indirect github.com/go-toolsmith/astcast v1.0.0 // indirect github.com/go-toolsmith/astequal v1.0.1 // indirect @@ -127,7 +126,7 @@ require ( github.com/google/licensecheck v0.3.1 // indirect github.com/google/pprof v0.0.0-20241001023024-f4c0cfd0cf1d // indirect github.com/google/uuid v1.6.0 // indirect - github.com/gorilla/handlers v1.5.1 // indirect + github.com/gorilla/handlers v1.5.2 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-retryablehttp v0.7.7 // indirect github.com/hashicorp/go-version v1.6.0 // indirect @@ -182,7 +181,7 @@ require ( github.com/opencontainers/image-spec v1.1.0 // indirect github.com/opencontainers/runtime-spec v1.2.0 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect - github.com/pelletier/go-toml/v2 v2.0.6 // indirect + github.com/pelletier/go-toml/v2 v2.1.1 // indirect github.com/pjbgf/sha1cd v0.3.0 // indirect github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect github.com/pkg/errors v0.9.1 // indirect @@ -197,20 +196,22 @@ require ( github.com/rs/cors v1.11.1 // indirect github.com/rs/zerolog v1.29.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect + github.com/sagikazarmark/locafero v0.4.0 // indirect + github.com/sagikazarmark/slog-shim v0.1.0 // indirect github.com/segmentio/asm v1.2.0 // indirect github.com/segmentio/encoding v0.4.0 // indirect github.com/sergi/go-diff v1.3.1 // indirect github.com/shopspring/decimal v1.3.1 // indirect github.com/sirupsen/logrus v1.9.3 // indirect github.com/skeema/knownhosts v1.2.1 // indirect - github.com/spf13/afero v1.10.0 // indirect - github.com/spf13/cast v1.5.0 // indirect + github.com/sourcegraph/conc v0.3.0 // indirect + github.com/spf13/afero v1.11.0 // indirect + github.com/spf13/cast v1.6.0 // indirect github.com/spf13/cobra v1.8.1 // indirect - github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.15.0 // indirect + github.com/spf13/viper v1.18.2 // indirect github.com/stoewer/go-strcase v1.3.0 // indirect - github.com/subosito/gotenv v1.4.2 // indirect + github.com/subosito/gotenv v1.6.0 // indirect github.com/tetratelabs/wazero v1.8.1 // indirect github.com/toqueteos/webbrowser v1.2.0 // indirect github.com/vbatts/tar-split v0.11.6 // indirect @@ -220,7 +221,7 @@ require ( go.lsp.dev/pkg v0.0.0-20210717090340-384b27a52fb2 // indirect go.lsp.dev/protocol v0.12.0 // indirect go.lsp.dev/uri v0.3.0 // indirect - go.mongodb.org/mongo-driver v1.9.0 // indirect + go.mongodb.org/mongo-driver v1.14.0 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0 // indirect go.opentelemetry.io/otel v1.30.0 // indirect diff --git a/tools/go.sum b/tools/go.sum index b617e464f3..ddc98ced29 100644 --- a/tools/go.sum +++ b/tools/go.sum @@ -20,7 +20,6 @@ cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= @@ -31,9 +30,6 @@ cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKV cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= @@ -51,7 +47,6 @@ cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0Zeo cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= code.gitea.io/sdk/gitea v0.18.0 h1:+zZrwVmujIrgobt6wVBWCqITz6bn1aBjnCUHmpZrerI= code.gitea.io/sdk/gitea v0.18.0/go.mod h1:IG9xZJoltDNeDSW0qiF2Vqx5orMWa7OhVWrjvrd5NpI= connectrpc.com/connect v1.17.0 h1:W0ZqMhtVzn9Zhn2yATuUokDLO5N+gIuBWMOnsQrfmZk= @@ -75,8 +70,9 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym github.com/GoogleCloudPlatform/cloudsql-proxy v0.0.0-20190129172621-c8b1d7a94ddf/go.mod h1:aJ4qN3TfrelA6NZ6AXsXRfmEVaYin3EDbSPJrKS8OXo= github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= -github.com/Masterminds/semver/v3 v3.2.0 h1:3MEsd0SM6jqZojhjLWWeBY+Kcjy9i6MQAeY7YgDP83g= github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= +github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0= +github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= github.com/Masterminds/sprig/v3 v3.2.3 h1:eL2fZNezLomi0uOLqjQoN6BfsDD+fyLtgbJMAj9n6YA= github.com/Masterminds/sprig/v3 v3.2.3/go.mod h1:rXcFaZ2zZbLRJv/xSysmlgIM1u11eBaRMhvYXJNkGuM= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= @@ -84,8 +80,8 @@ github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERo github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/Microsoft/hcsshim v0.12.7 h1:MP6R1spmjxTE4EU4J3YsrTxn8CjvN9qwjTKJXldFaRg= github.com/Microsoft/hcsshim v0.12.7/go.mod h1:HPbAuJ9BvQYYZbB4yEQcyGIsTP5L4yHKeO9XO149AEM= -github.com/Percona-Lab/spec v0.20.5-percona h1:ViCJVq52QIZxpP8/Nv4/nIed+WnqUirNjPtXvHhset4= -github.com/Percona-Lab/spec v0.20.5-percona/go.mod h1:2OpW+JddWPrpXSCIX8eOx7lZ5iyuWj3RYR6VaaBKcWA= +github.com/Percona-Lab/spec v0.21.0-percona h1:WGOweXkZlFw9Koz6b+4qWAyns+FoIhH3LPCWYyQaZwg= +github.com/Percona-Lab/spec v0.21.0-percona/go.mod h1:78u6VdPw81XU44qEWGhtr982gJ5BWg2c0I5XwVMotYk= github.com/Percona-Lab/swagger-order v0.0.0-20191002141859-166b3973d026 h1:jvuxsQEuFpoSVw9HCP4kSF52BXYzTvB7CA3eryQXaRc= github.com/Percona-Lab/swagger-order v0.0.0-20191002141859-166b3973d026/go.mod h1:rTCUGM0dF3N6kw5DdoxLDWe7FL49OxY13Y0Ev1jS/BQ= github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCvIsutKu5zLMgWtgh9YxGCNAw8Ad8hjwfYg= @@ -109,9 +105,8 @@ github.com/apache/skywalking-eyes v0.6.0 h1:qlEE8Wgy6fKXusxAOrI7ANNdO9vKfiGNczI6 github.com/apache/skywalking-eyes v0.6.0/go.mod h1:rwVEbfh8GovISedSOc7nHGrcnkQ7sfTc31iYU5hSpEE= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= -github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d h1:Byv0BzEl3/e6D5CLfI0j/7hiIEtvGVFPCZ7Ei2oq8iQ= -github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so= +github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= github.com/bmatcuk/doublestar/v2 v2.0.4 h1:6I6oUiT/sU27eE2OFcWqBhL1SwjyvQuOssxT4a1yidI= github.com/bmatcuk/doublestar/v2 v2.0.4/go.mod h1:QMmcs3H2AUQICWhfzLXz+IYln8lRQmTZRptLie8RgRw= github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= @@ -148,8 +143,6 @@ github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUK github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I= github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= github.com/containerd/cgroups/v3 v3.0.3 h1:S5ByHZ/h9PMe5IOQoN7E+nMc2UcLEM/V48DGDJ9kip0= @@ -184,8 +177,9 @@ github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxG github.com/daixiang0/gci v0.13.0 h1:pSA5Wb05cWbGpKAgs1yGZcc8IEDRLTZcpa4n8FhyWuU= github.com/daixiang0/gci v0.13.0/go.mod h1:xtHP9N7AHdNvtRNfcx9gwTDfw7FRJx4bZUsiEfiNNAI= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davidmz/go-pageant v1.0.2 h1:bPblRCh5jGU+Uptpz6LgMZGD5hJoOt7otgT454WvHn0= github.com/davidmz/go-pageant v1.0.2/go.mod h1:P2EDDnMqIwG5Rrp05dTRITj9z2zpGcD9efWSkTNKLIE= github.com/denisenkom/go-mssqldb v0.9.0 h1:RSohk2RsiZqLZ0zCjtfn3S4Gp4exhpBWHyQ7D0yGjAk= @@ -213,8 +207,6 @@ github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FM github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v1.1.0 h1:tntQDh69XqOCOZsDz0lVJQez/2L6Uu2PdjCQwWCJ3bM= github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4= @@ -223,15 +215,14 @@ github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4Nij github.com/felixge/fgprof v0.9.3/go.mod h1:RdbpDgzqYVh/T9fPELJyV7EYJuHB55UTEULNun8eiPw= github.com/felixge/fgprof v0.9.5 h1:8+vR6yu2vvSKn08urWyEuxx75NWPEvybbkBirEpsbVY= github.com/felixge/fgprof v0.9.5/go.mod h1:yKl+ERSa++RYOs32d8K6WEXCB4uXdLls4ZaZPpayhMM= -github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/frankban/quicktest v1.14.5 h1:dfYrrRyLtiqT9GyKXgdh+k4inNeTvmGbuSgZ3lx3GhA= -github.com/frankban/quicktest v1.14.5/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= -github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= -github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= +github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= +github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= +github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= github.com/go-chi/chi/v5 v5.1.0 h1:acVI1TYaD+hhedDJ3r54HyA6sExp3HfXq7QWEEY/xMw= @@ -265,47 +256,34 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-openapi/analysis v0.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY= -github.com/go-openapi/analysis v0.21.3 h1:CPEa+B2oYCkb+lIKB4xP6Ork8Gvh0GNg9dm/twI3+QA= -github.com/go-openapi/analysis v0.21.3/go.mod h1:2rtHDVV21tLgvJd+eXu+ExiOhfMO4+dNb7496llyke0= -github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.20.2 h1:dxy7PGTqEh94zj2E3h1cUmQQWiM1+aeCROfAr02EmK8= -github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/inflect v0.19.0 h1:9jCH9scKIbHeV9m12SmPilScz6krDxKRasNNSNPXu/4= -github.com/go-openapi/inflect v0.19.0/go.mod h1:lHpZVlpIQqLyKwJ4N+YSc9hchQy/i12fJykb83CRBH4= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.20.0 h1:MYlu0sBgChmCfJxxUKZ8g1cPWFOB37YSZqewK7OKeyA= -github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXymS4zJbYVCZmcgkasdo= -github.com/go-openapi/loads v0.21.1 h1:Wb3nVZpdEzDTcly8S4HMkey6fjARRzb7iEaySimlDW0= -github.com/go-openapi/loads v0.21.1/go.mod h1:/DtAMXXneXFjbQMGEtbamCZb+4x7eGwkvZCvBmwUG+g= -github.com/go-openapi/runtime v0.25.0 h1:7yQTCdRbWhX8vnIjdzU8S00tBYf7Sg71EBeorlPHvhc= -github.com/go-openapi/runtime v0.25.0/go.mod h1:Ux6fikcHXyyob6LNWxtE96hWwjBPYF0DXgVFuMTneOs= -github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg= -github.com/go-openapi/strfmt v0.21.1/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= -github.com/go-openapi/strfmt v0.21.2 h1:5NDNgadiX1Vhemth/TH4gCGopWSTdDjxl60H3B7f+os= -github.com/go-openapi/strfmt v0.21.2/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/swag v0.21.1 h1:wm0rhTb5z7qpJRHBdPOMuY4QjVUMbF6/kwoYeRAOrKU= -github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/validate v0.21.0 h1:+Wqk39yKOhfpLqNLEC0/eViCkzM5FVXVqrvt526+wcI= -github.com/go-openapi/validate v0.21.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg= +github.com/go-openapi/analysis v0.23.0 h1:aGday7OWupfMs+LbmLZG4k0MYXIANxcuBTYUC03zFCU= +github.com/go-openapi/analysis v0.23.0/go.mod h1:9mz9ZWaSlV8TvjQHLl2mUW2PbZtemkE8yA5v22ohupo= +github.com/go-openapi/errors v0.22.0 h1:c4xY/OLxUBSTiepAg3j/MHuAv5mJhnf53LLMWFB+u/w= +github.com/go-openapi/errors v0.22.0/go.mod h1:J3DmZScxCDufmIMsdOuDHxJbdOGC0xtUynjIx092vXE= +github.com/go-openapi/inflect v0.21.0 h1:FoBjBTQEcbg2cJUWX6uwL9OyIW8eqc9k4KhN4lfbeYk= +github.com/go-openapi/inflect v0.21.0/go.mod h1:INezMuUu7SJQc2AyR3WO0DqqYUJSj8Kb4hBd7WtjlAw= +github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ= +github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= +github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ= +github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4= +github.com/go-openapi/loads v0.22.0 h1:ECPGd4jX1U6NApCGG1We+uEozOAvXvJSF4nnwHZ8Aco= +github.com/go-openapi/loads v0.22.0/go.mod h1:yLsaTCS92mnSAZX5WWoxszLj0u+Ojl+Zs5Stn1oF+rs= +github.com/go-openapi/runtime v0.28.0 h1:gpPPmWSNGo214l6n8hzdXYhPuJcGtziTOgUpvsFWGIQ= +github.com/go-openapi/runtime v0.28.0/go.mod h1:QN7OzcS+XuYmkQLw05akXk0jRH/eZ3kb18+1KwW9gyc= +github.com/go-openapi/strfmt v0.23.0 h1:nlUS6BCqcnAk0pyhi9Y+kdDVZdZMHfEKQiS4HaMgO/c= +github.com/go-openapi/strfmt v0.23.0/go.mod h1:NrtIpfKtWIygRkKVsxh7XQMDQW5HKQl6S5ik2elW+K4= +github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE= +github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= +github.com/go-openapi/validate v0.24.0 h1:LdfDKwNbpB6Vn40xhTdNZAnfLECL81w+VX3BumrGD58= +github.com/go-openapi/validate v0.24.0/go.mod h1:iyeX1sEufmv3nPbBdX3ieNviWnOZaJ1+zquzJEf2BAQ= github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI= github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow= github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw= -github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= -github.com/go-swagger/go-swagger v0.29.0 h1:z3YoZtLvS1Y8TE/PCat1VypcZxM0IgKLt0NvZxQyNl8= -github.com/go-swagger/go-swagger v0.29.0/go.mod h1:Z4GJzI+bHKKkGB2Ji1rawpi3/ldXX8CkzGIa9HAC5EE= -github.com/go-swagger/scan-repo-boundary v0.0.0-20180623220736-973b3573c013 h1:l9rI6sNaZgNC0LnF3MiE+qTmyBA/tZAg1rtyrGbUMK0= -github.com/go-swagger/scan-repo-boundary v0.0.0-20180623220736-973b3573c013/go.mod h1:b65mBPzqzZWxOZGxSWrqs4GInLIn+u99Q9q7p+GKni0= +github.com/go-swagger/go-swagger v0.31.0 h1:H8eOYQnY2u7vNKWDNykv2xJP3pBhRG/R+SOCAmKrLlc= +github.com/go-swagger/go-swagger v0.31.0/go.mod h1:WSigRRWEig8zV6t6Sm8Y+EmUjlzA/HoaZJ5edupq7po= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/go-toolsmith/astcast v1.0.0 h1:JojxlmI6STnFVG9yOImLeGREv8W2ocNUM+iOhR6jE7g= @@ -321,30 +299,6 @@ github.com/go-toolsmith/strparse v1.0.0 h1:Vcw78DnpCAKlM20kSbAyO4mPfJn/lyYA4BJUD github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8= github.com/go-toolsmith/typep v1.0.2 h1:8xdsa1+FSIH/RhEkgnD1j2CJOy5mNllW1Q9tRiYwvlk= github.com/go-toolsmith/typep v1.0.2/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= -github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= -github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= -github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= -github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= -github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= -github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= -github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= -github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= -github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= -github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= -github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= -github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= -github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= -github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= -github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= -github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.2.1/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY= @@ -386,7 +340,6 @@ github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvq github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/gonum/blas v0.0.0-20181208220705-f22b278b28ac/go.mod h1:P32wAyui1PQ58Oce/KYkOqQv8cVw1zAapXOl+dRFGbc= github.com/gonum/floats v0.0.0-20181209220543-c233463c7e82/go.mod h1:PxC8OnwL11+aosOB5+iEPoV3picfs8tUpkVd0pDo+Kg= github.com/gonum/internal v0.0.0-20181124074243-f884aa714029/go.mod h1:Pu4dmpkhSyOzRwuXkOgAvijx4o+4YMUJJo9OvPYMkks= @@ -405,7 +358,6 @@ github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-containerregistry v0.20.2 h1:B1wPJ1SN/S7pB+ZAimcciVD+r+yV/l/DSArMxlbwseo= @@ -423,7 +375,6 @@ github.com/google/licensecheck v0.3.1 h1:QoxgoDkaeC4nFrtGN1jV7IPmDCHFNIVh54e5hSt github.com/google/licensecheck v0.3.1/go.mod h1:ORkR35t/JjW+emNKtfJDII0zlciG9JgbT7SmsohlHmY= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= @@ -431,9 +382,6 @@ github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20211214055906-6f57359322fd/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg= github.com/google/pprof v0.0.0-20240227163752-401108e1b7e7/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/pprof v0.0.0-20241001023024-f4c0cfd0cf1d h1:Jaz2JzpQaQXyET0AjLBXShrthbpqMkhGiEfkcQAiAUs= @@ -448,9 +396,8 @@ github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/googleapis/gax-go v0.0.0-20161107002406-da06d194a00e/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= -github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= +github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE= +github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w= github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 h1:asbCHRVmodnJTuQ3qamDwqVOIjwqUPTYmYuemVOx+Ys= github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0/go.mod h1:ggCgvZ2r7uOoQjOyu2Y1NhHmEPPzzuhWgcza5M1Ji1I= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= @@ -483,13 +430,11 @@ github.com/iancoleman/orderedmap v0.2.0/go.mod h1:N0Wam8K1arqPXNWjMo21EXnBPOPp36 github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI= github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20210905161508-09a460cdf81d/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= github.com/ianlancetaylor/demangle v0.0.0-20230524184225-eabc099b10ab/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jackc/fake v0.0.0-20150926172116-812a484cc733 h1:vr3AYkKovP8uR8AvSGGUK1IDqRa5lAAvEkZG1LKaCRc= @@ -506,7 +451,6 @@ github.com/jhump/protoreflect/v2 v2.0.0-beta.2 h1:qZU+rEZUOYTz1Bnhi3xbwn+VxdXkLV github.com/jhump/protoreflect/v2 v2.0.0-beta.2/go.mod h1:4tnOYkB/mq7QTyS3YKtVtNrJv4Psqout8HA1U+hZtgM= github.com/jinzhu/copier v0.3.5 h1:GlvfUwHk62RokgqVNvYsku0TATCF7bAHVwEXoBh3iJg= github.com/jinzhu/copier v0.3.5/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg= -github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= @@ -515,21 +459,15 @@ github.com/jstemmer/go-junit-report v1.0.0 h1:8X1gzZpR+nVQLAht+L/foqOeX2l9DTZoaI github.com/jstemmer/go-junit-report v1.0.0/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= -github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= -github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.17.10 h1:oXAz+Vh0PMUvJczoi+flxpnBEPxoER1IaAnU/NMPtT0= github.com/klauspost/compress v1.17.10/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU= github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -547,13 +485,8 @@ github.com/lyft/protoc-gen-star/v2 v2.0.4-0.20230330145011-496ad1ac90a4 h1:sIXJO github.com/lyft/protoc-gen-star/v2 v2.0.4-0.20230330145011-496ad1ac90a4/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= -github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= @@ -575,8 +508,6 @@ github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa1 github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= @@ -600,10 +531,8 @@ github.com/moby/sys/userns v0.1.0 h1:tVLXkFOxVu9A64/yh59slHVv9ahO9UIev4JZusOLG/g github.com/moby/sys/userns v0.1.0/go.mod h1:IHUYgu/kao6N8YZlp9Cf444ySSvCmDlmzUcYfDHOl28= github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= -github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/onsi/ginkgo/v2 v2.20.2 h1:7NVCeyIWROIAheY21RLS+3j2bb52W0W82tkberYytp4= @@ -621,9 +550,8 @@ github.com/opencontainers/selinux v1.11.0/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M5 github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0= -github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= -github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= -github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= +github.com/pelletier/go-toml/v2 v2.1.1 h1:LWAJwfNvjQZCFIDKWYQaM62NcYeYViCmWIwmOStowAI= +github.com/pelletier/go-toml/v2 v2.1.1/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= @@ -632,15 +560,14 @@ github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFz github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/profile v1.7.0 h1:hnbDkaNWPCLMO9wGLdBFTIZvzDrDfBM2072E1S9gJkA= github.com/pkg/profile v1.7.0/go.mod h1:8Uer0jas47ZQMJ7VD+OHknK4YDY07LPUC6dEvqDjvNo= -github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= @@ -660,8 +587,6 @@ github.com/reviewdog/reviewdog v0.20.1 h1:t5MGy3pSgAoXnCvcZvrzzQ8FtDkjH8QRblD8vY github.com/reviewdog/reviewdog v0.20.1/go.mod h1:h5ON9DMAcqjkpo2Vi7AdetHbYykKD3WYCBaQ1pmi5RI= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= -github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= @@ -675,6 +600,10 @@ github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk= +github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= +github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= +github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= +github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/segmentio/asm v1.2.0 h1:9BQrFxC+YOHJlTlHGkTrFWf59nbL3XnCoFLTwDCI7ys= github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs= github.com/segmentio/encoding v0.4.0 h1:MEBYvRqiUB2nfR2criEXWqwdY6HJOUrCn5hboVOVmy8= @@ -684,33 +613,27 @@ github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NF github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8= github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= -github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/skeema/knownhosts v1.2.1 h1:SHWdIUa82uGZz+F+47k8SY4QhhI291cXCpopT1lK2AQ= github.com/skeema/knownhosts v1.2.1/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo= -github.com/spf13/afero v1.10.0 h1:EaGW2JJh15aKOejeuJ+wpFSHnbd7GE6Wvp3TsNhb6LY= -github.com/spf13/afero v1.10.0/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= +github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= +github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= +github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= +github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= -github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= +github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= -github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU= -github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA= +github.com/spf13/viper v1.18.2 h1:LUXCnvUvSM6FXAsj6nnfc8Q2tp1dIgUfY9Kc8GsSOiQ= +github.com/spf13/viper v1.18.2/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk= github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs= github.com/stoewer/go-strcase v1.3.0/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= @@ -724,14 +647,13 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= -github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= +github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= +github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/tetratelabs/wazero v1.8.1 h1:NrcgVbWfkWvVc4UtT4LRLDf91PsOzDzefMdwhLfA550= github.com/tetratelabs/wazero v1.8.1/go.mod h1:yAI0XTsMBhREkM/YDAK/zNou3GoiAce1P6+rp/wQhjs= -github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4= -github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/toqueteos/webbrowser v1.2.0 h1:tVP/gpK69Fx+qMJKsLE7TD8LuGWPnEV71wBN9rrstGQ= github.com/toqueteos/webbrowser v1.2.0/go.mod h1:XWoZq4cyp9WeUeak7w7LXRUQf1F1ATJMir8RTqb4ayM= github.com/vbatts/tar-split v0.11.6 h1:4SjTW5+PU11n6fZenf2IPoV8/tz3AaYHMWjf23envGs= @@ -744,10 +666,6 @@ github.com/xanzy/go-gitlab v0.106.0 h1:EDfD03K74cIlQo2EducfiupVrip+Oj02bq9ofw5F8 github.com/xanzy/go-gitlab v0.106.0/go.mod h1:ETg8tcj4OhrB84UEgeE8dSuV/0h4BBL1uOV/qK0vlyI= github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= -github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= -github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= -github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= -github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -761,16 +679,13 @@ go.lsp.dev/protocol v0.12.0 h1:tNprUI9klQW5FAFVM4Sa+AbPFuVQByWhP1ttNUAjIWg= go.lsp.dev/protocol v0.12.0/go.mod h1:Qb11/HgZQ72qQbeyPfJbu3hZBH23s1sr4st8czGeDMQ= go.lsp.dev/uri v0.3.0 h1:KcZJmh6nFIBeJzTugn5JTU6OOyG0lDOo3R9KwTxTYbo= go.lsp.dev/uri v0.3.0/go.mod h1:P5sbO1IQR+qySTWOCnhnK7phBx+W3zbLqSMDJNTw88I= -go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg= -go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng= -go.mongodb.org/mongo-driver v1.9.0 h1:f3aLGJvQmBl8d9S40IL+jEyBC6hfLPbJjv9t5hEM9ck= -go.mongodb.org/mongo-driver v1.9.0/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY= +go.mongodb.org/mongo-driver v1.14.0 h1:P98w8egYRjYe3XDjxhYJagTokP/H6HzlsnojRgZRd80= +go.mongodb.org/mongo-driver v1.14.0/go.mod h1:Vzb0Mk/pa7e6cWw85R4F/endUC3u0U9jGcNU603k65c= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0 h1:ZIg3ZT/aQ7AfKqdwp7ECpOK6vHqquXXuyTjIO8ZdmPs= @@ -809,21 +724,15 @@ golang.org/x/arch v0.6.0 h1:S0JTfE48HbRj80+4tbvZDYsJ3tGv6BUU3XxyZ7CirAc= golang.org/x/arch v0.6.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys= golang.org/x/build v0.0.0-20240712162709-0b82a206aadf h1:yxXHOnHUeXT9mop6DOYhyBNeVl20sSyKYR6+5YAwLnk= golang.org/x/build v0.0.0-20240712162709-0b82a206aadf/go.mod h1:YsGhg4JUVUWLzdqU2wCrtpRrOveOql6w56FLDHq/CJ4= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= @@ -866,7 +775,6 @@ golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= @@ -875,8 +783,6 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0= @@ -909,10 +815,7 @@ golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= @@ -928,8 +831,6 @@ golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4Iltr golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= @@ -939,28 +840,21 @@ golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -981,18 +875,12 @@ golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1004,7 +892,6 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1012,7 +899,6 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= @@ -1048,13 +934,9 @@ golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3 golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= @@ -1088,14 +970,7 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.26.0 h1:v/60pFQmzmT9ExmjDv2gGIfi3OqfKoEP6I5+umXlbnQ= @@ -1128,16 +1003,12 @@ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -1167,13 +1038,6 @@ google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7Fc google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto/googleapis/api v0.0.0-20240930140551-af27646dc61f h1:jTm13A2itBi3La6yTGqn8bVSrc3ZZ1r8ENHlIXBfnRA= google.golang.org/genproto/googleapis/api v0.0.0-20240930140551-af27646dc61f/go.mod h1:CLGoBuH1VHxAUXVPP8FfPwPEVJB6lz3URE5mY2SuayE= google.golang.org/genproto/googleapis/rpc v0.0.0-20240930140551-af27646dc61f h1:cUMEy+8oS78BWIH9OWazBkzbr090Od9tWBNtZHkOhf0= @@ -1191,10 +1055,7 @@ google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKa google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1 h1:F29+wU6Ee6qgu9TddPgooOdaqsxTMunOoj8KA5yuS5A= @@ -1216,7 +1077,6 @@ gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLks gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= @@ -1227,14 +1087,10 @@ gopkg.in/reform.v1 v1.5.1/go.mod h1:AIv0CbDRJ0ljQwptGeaIXfpDRo02uJwTq92aMFELEeU= gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0=