From 0a3894bdcfbda537d2aab89438a0a1acbe2bfdfb Mon Sep 17 00:00:00 2001 From: Nurlan Moldomurov Date: Fri, 11 Oct 2024 03:10:04 +0300 Subject: [PATCH 01/24] PMM-13207 Update go version. --- .github/workflows/clean.yml | 2 +- build/docker/rpmbuild/Dockerfile | 2 +- build/docker/rpmbuild/Dockerfile.el9 | 2 +- devcontainer.Dockerfile | 2 +- go.mod | 4 ++-- go.sum | 4 ++++ tools/go.mod | 2 +- update/.devcontainer/install-dev-tools.sh | 2 +- update/docker-compose.yml | 2 +- 9 files changed, 13 insertions(+), 9 deletions(-) diff --git a/.github/workflows/clean.yml b/.github/workflows/clean.yml index c3e0ad8709..0f7cf8fb07 100644 --- a/.github/workflows/clean.yml +++ b/.github/workflows/clean.yml @@ -13,7 +13,7 @@ jobs: fail-fast: false matrix: go: - - version: 1.22.x + - version: 1.23.x may-fail: false - version: tip may-fail: true diff --git a/build/docker/rpmbuild/Dockerfile b/build/docker/rpmbuild/Dockerfile index f6ddc34db3..98561c7831 100644 --- a/build/docker/rpmbuild/Dockerfile +++ b/build/docker/rpmbuild/Dockerfile @@ -23,7 +23,7 @@ RUN yum update -y && \ yum clean all && rm -rf /var/cache/yum # keep that format for easier search -ENV GO_VERSION 1.22.2 +ENV GO_VERSION 1.23.2 ENV GO_RELEASER_VERSION 1.24.0 RUN if [ `uname -i` == "x86_64" ]; then ARCH=amd64; else ARCH=arm64; fi && \ diff --git a/build/docker/rpmbuild/Dockerfile.el9 b/build/docker/rpmbuild/Dockerfile.el9 index aaee21b90a..be5f1458f7 100644 --- a/build/docker/rpmbuild/Dockerfile.el9 +++ b/build/docker/rpmbuild/Dockerfile.el9 @@ -28,7 +28,7 @@ RUN yum install -y gcc gcc-c++ \ yum clean all && rm -rf /var/cache/yum # keep that format for easier search -ENV GO_VERSION 1.22.3 +ENV GO_VERSION 1.23.2 ENV GO_RELEASER_VERSION 1.24.0 RUN if [ `uname -i` == "x86_64" ]; then ARCH=amd64; else ARCH=arm64; fi && \ diff --git a/devcontainer.Dockerfile b/devcontainer.Dockerfile index 10a3a94498..64e5ecb040 100644 --- a/devcontainer.Dockerfile +++ b/devcontainer.Dockerfile @@ -2,7 +2,7 @@ ARG PMM_SERVER_IMAGE="perconalab/pmm-server:dev-latest" FROM $PMM_SERVER_IMAGE ARG PMM_SERVER_IMAGE -ARG GO_VERSION="1.22.x" +ARG GO_VERSION="1.23.x" RUN echo "Building with: GO: $GO_VERSION, PMM: $PMM_SERVER_IMAGE" ENV GOPATH=/root/go diff --git a/go.mod b/go.mod index 14c67d0dc2..34f7bc98db 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/percona/pmm -go 1.22.7 +go 1.23.2 // Update saas with // go get -v github.com/percona-platform/saas@latest @@ -23,7 +23,7 @@ require ( github.com/alecthomas/kong v0.9.0 github.com/alecthomas/units v0.0.0-20231202071711-9a357b53e9c9 github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 - github.com/aws/aws-sdk-go v1.55.3 + github.com/aws/aws-sdk-go v1.55.5 github.com/blang/semver v3.5.1+incompatible github.com/brianvoe/gofakeit/v6 v6.28.0 github.com/charmbracelet/bubbles v0.18.0 diff --git a/go.sum b/go.sum index 79d5ab4d66..d321cb7bba 100644 --- a/go.sum +++ b/go.sum @@ -121,6 +121,8 @@ github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2z github.com/aws/aws-sdk-go v1.40.7/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= github.com/aws/aws-sdk-go v1.55.3 h1:0B5hOX+mIx7I5XPOrjrHlKSDQV/+ypFZpIHOx5LOk3E= github.com/aws/aws-sdk-go v1.55.3/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= +github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU= +github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= @@ -432,6 +434,8 @@ github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjh github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-msgpack v0.5.5 h1:i9R9JSrqIz0QVLz3sz+i3YJdT7TTSLcfLLzJi9aZTuI= +github.com/hashicorp/go-msgpack v0.5.5/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-msgpack v1.1.5 h1:9byZdVjKTe5mce63pRVNP1L7UAmdHOTEMGehn6KvJWs= github.com/hashicorp/go-msgpack v1.1.5/go.mod h1:gWVc3sv/wbDmR3rQsj1CAktEZzoz1YNK9NfGLXJ69/4= github.com/hashicorp/go-msgpack/v2 v2.1.1 h1:xQEY9yB2wnHitoSzk/B9UjXWRQ67QKu5AOm8aFp8N3I= diff --git a/tools/go.mod b/tools/go.mod index d6ff51b44c..c0c01ff7d9 100644 --- a/tools/go.mod +++ b/tools/go.mod @@ -1,6 +1,6 @@ module github.com/percona/pmm/tools -go 1.22.7 +go 1.23.2 replace github.com/go-openapi/spec => github.com/Percona-Lab/spec v0.20.5-percona diff --git a/update/.devcontainer/install-dev-tools.sh b/update/.devcontainer/install-dev-tools.sh index c5e9b3faa5..a2618ac3db 100755 --- a/update/.devcontainer/install-dev-tools.sh +++ b/update/.devcontainer/install-dev-tools.sh @@ -8,7 +8,7 @@ set -o errexit set -o xtrace # download (in the background) the same verison as used by PMM build process -curl -sSL https://dl.google.com/go/go1.22.5.linux-amd64.tar.gz -o /tmp/golang.tar.gz & +curl -sSL https://dl.google.com/go/go1.23.2.linux-amd64.tar.gz -o /tmp/golang.tar.gz & # to install man pages sed -i '/nodocs/d' /etc/yum.conf diff --git a/update/docker-compose.yml b/update/docker-compose.yml index dab0b29593..ed9e2adf71 100644 --- a/update/docker-compose.yml +++ b/update/docker-compose.yml @@ -6,7 +6,7 @@ services: environment: # for tests - PMM_SERVER_IMAGE=${PMM_SERVER_IMAGE:-percona/pmm-server:2} - - GO_VERSION=${GO_VERSION:-1.22.x} + - GO_VERSION=${GO_VERSION:-1.23.x} - PATH=/root/go/bin:$PATH - REVIEWDOG_GITHUB_API_TOKEN=${REVIEWDOG_GITHUB_API_TOKEN} volumes: From 2df2bdca350dfdf246dec730b493b0ade84e24d2 Mon Sep 17 00:00:00 2001 From: Nurlan Moldomurov Date: Fri, 11 Oct 2024 11:00:20 +0300 Subject: [PATCH 02/24] Revert "PMM-13207 Update go version." This reverts commit 0a3894bdcfbda537d2aab89438a0a1acbe2bfdfb. --- .github/workflows/clean.yml | 2 +- build/docker/rpmbuild/Dockerfile | 2 +- build/docker/rpmbuild/Dockerfile.el9 | 2 +- devcontainer.Dockerfile | 2 +- go.mod | 4 ++-- go.sum | 4 ---- tools/go.mod | 2 +- update/.devcontainer/install-dev-tools.sh | 2 +- update/docker-compose.yml | 2 +- 9 files changed, 9 insertions(+), 13 deletions(-) diff --git a/.github/workflows/clean.yml b/.github/workflows/clean.yml index 0f7cf8fb07..c3e0ad8709 100644 --- a/.github/workflows/clean.yml +++ b/.github/workflows/clean.yml @@ -13,7 +13,7 @@ jobs: fail-fast: false matrix: go: - - version: 1.23.x + - version: 1.22.x may-fail: false - version: tip may-fail: true diff --git a/build/docker/rpmbuild/Dockerfile b/build/docker/rpmbuild/Dockerfile index 98561c7831..f6ddc34db3 100644 --- a/build/docker/rpmbuild/Dockerfile +++ b/build/docker/rpmbuild/Dockerfile @@ -23,7 +23,7 @@ RUN yum update -y && \ yum clean all && rm -rf /var/cache/yum # keep that format for easier search -ENV GO_VERSION 1.23.2 +ENV GO_VERSION 1.22.2 ENV GO_RELEASER_VERSION 1.24.0 RUN if [ `uname -i` == "x86_64" ]; then ARCH=amd64; else ARCH=arm64; fi && \ diff --git a/build/docker/rpmbuild/Dockerfile.el9 b/build/docker/rpmbuild/Dockerfile.el9 index be5f1458f7..aaee21b90a 100644 --- a/build/docker/rpmbuild/Dockerfile.el9 +++ b/build/docker/rpmbuild/Dockerfile.el9 @@ -28,7 +28,7 @@ RUN yum install -y gcc gcc-c++ \ yum clean all && rm -rf /var/cache/yum # keep that format for easier search -ENV GO_VERSION 1.23.2 +ENV GO_VERSION 1.22.3 ENV GO_RELEASER_VERSION 1.24.0 RUN if [ `uname -i` == "x86_64" ]; then ARCH=amd64; else ARCH=arm64; fi && \ diff --git a/devcontainer.Dockerfile b/devcontainer.Dockerfile index 64e5ecb040..10a3a94498 100644 --- a/devcontainer.Dockerfile +++ b/devcontainer.Dockerfile @@ -2,7 +2,7 @@ ARG PMM_SERVER_IMAGE="perconalab/pmm-server:dev-latest" FROM $PMM_SERVER_IMAGE ARG PMM_SERVER_IMAGE -ARG GO_VERSION="1.23.x" +ARG GO_VERSION="1.22.x" RUN echo "Building with: GO: $GO_VERSION, PMM: $PMM_SERVER_IMAGE" ENV GOPATH=/root/go diff --git a/go.mod b/go.mod index 34f7bc98db..14c67d0dc2 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/percona/pmm -go 1.23.2 +go 1.22.7 // Update saas with // go get -v github.com/percona-platform/saas@latest @@ -23,7 +23,7 @@ require ( github.com/alecthomas/kong v0.9.0 github.com/alecthomas/units v0.0.0-20231202071711-9a357b53e9c9 github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 - github.com/aws/aws-sdk-go v1.55.5 + github.com/aws/aws-sdk-go v1.55.3 github.com/blang/semver v3.5.1+incompatible github.com/brianvoe/gofakeit/v6 v6.28.0 github.com/charmbracelet/bubbles v0.18.0 diff --git a/go.sum b/go.sum index d321cb7bba..79d5ab4d66 100644 --- a/go.sum +++ b/go.sum @@ -121,8 +121,6 @@ github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2z github.com/aws/aws-sdk-go v1.40.7/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= github.com/aws/aws-sdk-go v1.55.3 h1:0B5hOX+mIx7I5XPOrjrHlKSDQV/+ypFZpIHOx5LOk3E= github.com/aws/aws-sdk-go v1.55.3/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= -github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU= -github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= @@ -434,8 +432,6 @@ github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjh github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-msgpack v0.5.5 h1:i9R9JSrqIz0QVLz3sz+i3YJdT7TTSLcfLLzJi9aZTuI= -github.com/hashicorp/go-msgpack v0.5.5/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-msgpack v1.1.5 h1:9byZdVjKTe5mce63pRVNP1L7UAmdHOTEMGehn6KvJWs= github.com/hashicorp/go-msgpack v1.1.5/go.mod h1:gWVc3sv/wbDmR3rQsj1CAktEZzoz1YNK9NfGLXJ69/4= github.com/hashicorp/go-msgpack/v2 v2.1.1 h1:xQEY9yB2wnHitoSzk/B9UjXWRQ67QKu5AOm8aFp8N3I= diff --git a/tools/go.mod b/tools/go.mod index c0c01ff7d9..d6ff51b44c 100644 --- a/tools/go.mod +++ b/tools/go.mod @@ -1,6 +1,6 @@ module github.com/percona/pmm/tools -go 1.23.2 +go 1.22.7 replace github.com/go-openapi/spec => github.com/Percona-Lab/spec v0.20.5-percona diff --git a/update/.devcontainer/install-dev-tools.sh b/update/.devcontainer/install-dev-tools.sh index a2618ac3db..c5e9b3faa5 100755 --- a/update/.devcontainer/install-dev-tools.sh +++ b/update/.devcontainer/install-dev-tools.sh @@ -8,7 +8,7 @@ set -o errexit set -o xtrace # download (in the background) the same verison as used by PMM build process -curl -sSL https://dl.google.com/go/go1.23.2.linux-amd64.tar.gz -o /tmp/golang.tar.gz & +curl -sSL https://dl.google.com/go/go1.22.5.linux-amd64.tar.gz -o /tmp/golang.tar.gz & # to install man pages sed -i '/nodocs/d' /etc/yum.conf diff --git a/update/docker-compose.yml b/update/docker-compose.yml index ed9e2adf71..dab0b29593 100644 --- a/update/docker-compose.yml +++ b/update/docker-compose.yml @@ -6,7 +6,7 @@ services: environment: # for tests - PMM_SERVER_IMAGE=${PMM_SERVER_IMAGE:-percona/pmm-server:2} - - GO_VERSION=${GO_VERSION:-1.23.x} + - GO_VERSION=${GO_VERSION:-1.22.x} - PATH=/root/go/bin:$PATH - REVIEWDOG_GITHUB_API_TOKEN=${REVIEWDOG_GITHUB_API_TOKEN} volumes: From 500f6404c6a56a472092f5d112c75aaba59ef0b9 Mon Sep 17 00:00:00 2001 From: Artem Gavrilov Date: Fri, 11 Oct 2024 11:27:38 +0200 Subject: [PATCH 03/24] PMM-13154 PG17 support in QAN (#3159) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * PMM-13154 Intermediate progress * PMM-12154 Some progress * PMM-12154 Some progress * PMM-12154 Fix linter warn * PMM-12154 Cleanup * PMM-12154 Fix * PMM-12154 Update PG version in agent CI * PMM-12154 Update PG tests * PMM-12154 Update PG tests * PMM-12154 Fix PG17 tag * PMM-12154 Update PG tests * PMM-12154 Try fix * PMM-12154 Try fix * PMM-12154 Try fix * PMM-12154 Try fix * PMM-13154 Update PG tests * PMM-12154 Update PG tests * PMM-12154 Update PG tests * PMM-12154 Update PG tests * PMM-13154 Update PG version matrix in CI * PMM-13154 Use dev image of percona distribution for pg17 * PMM-13154 Update PG tests * PMM-13154 Update PG tests * PMM-12154 Cleanup * PMM-13154 Add local block read/write timers to QAN, update QAN API * PMM-13154 Fixed * PMM-13154 Update test data * PMM-13154 Fixes * PMM-13154 Fixes * PMM-13154 Fixes * Rewrite pg_stat_statments view reading * PMM-13154 Fix * PMM-13154 Fix * PMM-13154 Fix * PMM-13154 Fix * PMM-13154 Fix * PMM-13154 Fix * PMM-13154 Fix * PMM-13154 Add licence header * PMM-13154 Fix tests * PMM-13154 Update tests * PMM-13154 Fix style * PMM-13154 Fix CH migration * PMM-13154 Remove redundant fields backfill * Use PG in CI 17rc1 * PMM-13154 Format sources * PMM-13154 Update test --------- Co-authored-by: Jiří Čtvrtka <62988319+JiriCtvrtka@users.noreply.github.com> Co-authored-by: Nurlan Moldomurov --- .github/workflows/agent.yml | 20 +- .../postgres/pgstatmonitor/pgstatmonitor.go | 79 ++- .../pgstatmonitor/pgstatmonitor_models.go | 185 ++++--- .../pgstatmonitor/pgstatmonitor_test.go | 180 ++++--- .../postgres/pgstatstatements/models.go | 48 -- .../pgstatstatements/models_reform.go | 166 ------ .../pg_stat_statements_models.go | 222 ++++++++ .../pgstatstatements/pgstatstatements.go | 42 +- .../pgstatstatements/pgstatstatements_test.go | 168 +++--- .../postgresql_query_show_action_test.go | 4 +- api/agentpb/collector.pb.go | 273 ++++++---- api/agentpb/collector.pb.validate.go | 16 +- api/agentpb/collector.proto | 18 +- api/qanpb/collector.pb.go | 141 ++++- api/qanpb/collector.pb.validate.go | 16 + api/qanpb/collector.proto | 21 +- .../object_details/get_metrics_responses.go | 12 + .../client/profile/get_report_responses.go | 12 + api/qanpb/json/qanpb.json | 76 ++- api/qanpb/qan.pb.go | 179 ++++--- api/qanpb/qan.pb.validate.go | 8 + api/qanpb/qan.proto | 12 +- api/swagger/swagger-dev.json | 76 ++- descriptor.bin | Bin 811632 -> 815154 bytes managed/services/qan/client.go | 12 +- managed/services/qan/client_test.go | 130 ++--- .../sql/17_shared_blk_columns.down.sql | 11 + .../sql/17_shared_blk_columns.up.sql | 11 + qan-api2/models/base.go | 24 +- qan-api2/models/data_ingestion.go | 24 +- qan-api2/models/metrics.go | 17 +- qan-api2/services/analytics/base.go | 28 +- qan-api2/services/analytics/metrics_names.go | 130 ++--- .../GetMetrics_group_by_queryid.json | 244 +++++++++ .../GetMetrics_sparklines_90_points.json | 76 +++ qan-api2/test_data/GetMetrics_total.json | 499 ++++++++++++++++++ 36 files changed, 2270 insertions(+), 910 deletions(-) create mode 100644 agent/agents/postgres/pgstatstatements/pg_stat_statements_models.go create mode 100644 qan-api2/migrations/sql/17_shared_blk_columns.down.sql create mode 100644 qan-api2/migrations/sql/17_shared_blk_columns.up.sql diff --git a/.github/workflows/agent.yml b/.github/workflows/agent.yml index 3d51b98349..a1b6ec790f 100644 --- a/.github/workflows/agent.yml +++ b/.github/workflows/agent.yml @@ -26,15 +26,15 @@ jobs: strategy: matrix: images: - - { mysql: 'mysql:5.6', mongo: 'mongo:4.2', postgres: 'postgres:10', pmm_server: 'percona/pmm-server:2.0.0' } - - { mysql: 'mysql:5.7', mongo: 'mongo:4.4', postgres: 'postgres:11', pmm_server: 'percona/pmm-server:2.0.1' } - - { mysql: 'mysql:8.0', mongo: 'mongo:4.4', postgres: 'postgres:12', pmm_server: 'percona/pmm-server:2.1.0' } - - { mysql: 'mysql:8.0', mongo: 'mongo:4.4', postgres: 'postgres:13', pmm_server: 'percona/pmm-server:2.2.0' } + - { mysql: 'mysql:5.6', mongo: 'mongo:4.2', postgres: 'postgres:14', pmm_server: 'percona/pmm-server:2.0.0' } + - { mysql: 'mysql:5.7', mongo: 'mongo:4.4', postgres: 'postgres:15', pmm_server: 'percona/pmm-server:2.0.1' } + - { mysql: 'mysql:8.0', mongo: 'mongo:4.4', postgres: 'postgres:16', pmm_server: 'percona/pmm-server:2.1.0' } + - { mysql: 'mysql:8.0', mongo: 'mongo:4.4', postgres: 'postgres:17rc1', pmm_server: 'percona/pmm-server:2.2.0' } # Percona + latest PMM Server release - - { mysql: 'percona:5.6', mongo: 'percona/percona-server-mongodb:4.2', postgres: 'perconalab/percona-distribution-postgresql:11', pg_libs: 'pg_stat_statements,pg_stat_monitor', pmm_server: 'percona/pmm-server:2' } - - { mysql: 'percona:5.7', mongo: 'percona/percona-server-mongodb:4.4', postgres: 'perconalab/percona-distribution-postgresql:12.8-pg_stat', pg_libs: 'pg_stat_statements,pg_stat_monitor', pmm_server: 'percona/pmm-server:2' } - - { mysql: 'percona:8.0', mongo: 'percona/percona-server-mongodb:4.4', postgres: 'perconalab/percona-distribution-postgresql:13.5-pg_stat', pg_libs: 'pg_stat_statements,pg_stat_monitor', pmm_server: 'percona/pmm-server:2' } + - { mysql: 'percona:5.6', mongo: 'percona/percona-server-mongodb:4.2', postgres: 'perconalab/percona-distribution-postgresql:15', pg_libs: 'pg_stat_statements,pg_stat_monitor', pmm_server: 'percona/pmm-server:2' } + - { mysql: 'percona:5.7', mongo: 'percona/percona-server-mongodb:4.4', postgres: 'perconalab/percona-distribution-postgresql:16', pg_libs: 'pg_stat_statements,pg_stat_monitor', pmm_server: 'percona/pmm-server:2' } + - { mysql: 'percona:8.0', mongo: 'percona/percona-server-mongodb:4.4', postgres: 'perconalab/percona-distribution-postgresql:17-dev', pg_libs: 'pg_stat_statements,pg_stat_monitor', pmm_server: 'percona/pmm-server:2' } # MariaDB (only 3 latest GA versions) # + older supported MongoDB versions @@ -44,9 +44,9 @@ jobs: # - MYSQL_IMAGE=mariadb:10.0 # - MYSQL_IMAGE=mariadb:10.1 - - { mysql: 'mariadb:10.2', mongo: 'mongo:4.4', postgres: 'postgres:9.4', pmm_server: 'perconalab/pmm-server:dev-latest' } - - { mysql: 'mariadb:10.3', mongo: 'percona/percona-server-mongodb:4.4', postgres: 'postgres:9.5', pmm_server: 'perconalab/pmm-server:dev-latest' } - - { mysql: 'mariadb:10.4', postgres: 'postgres:9.6', pmm_server: 'perconalab/pmm-server:dev-latest' } + - { mysql: 'mariadb:10.2', mongo: 'mongo:4.4', postgres: 'postgres:12', pmm_server: 'perconalab/pmm-server:dev-latest' } + - { mysql: 'mariadb:10.3', mongo: 'percona/percona-server-mongodb:4.4', postgres: 'postgres:13', pmm_server: 'perconalab/pmm-server:dev-latest' } + - { mysql: 'mariadb:10.4', postgres: 'postgres:14', pmm_server: 'perconalab/pmm-server:dev-latest' } continue-on-error: true diff --git a/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go b/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go index 5b26b531d8..597b24d91a 100644 --- a/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go +++ b/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go @@ -85,6 +85,13 @@ const ( pgStatMonitorVersion20PG13 pgStatMonitorVersion20PG14 pgStatMonitorVersion20PG15 + pgStatMonitorVersion20PG16 + pgStatMonitorVersion21PG12 + pgStatMonitorVersion21PG13 + pgStatMonitorVersion21PG14 + pgStatMonitorVersion21PG15 + pgStatMonitorVersion21PG16 + pgStatMonitorVersion21PG17 ) const ( @@ -184,40 +191,54 @@ func getPGMonitorVersion(q *reform.Querier) (pgStatMonitorVersion, pgStatMonitor var version pgStatMonitorVersion switch { + case vPGSM.Core().GreaterThanOrEqual(v21): + switch { + case vPG >= 17: + version = pgStatMonitorVersion21PG17 + case vPG >= 16: + version = pgStatMonitorVersion21PG16 + case vPG >= 15: + version = pgStatMonitorVersion21PG15 + case vPG >= 14: + version = pgStatMonitorVersion21PG14 + case vPG >= 13: + version = pgStatMonitorVersion21PG13 + default: + version = pgStatMonitorVersion21PG12 + } case vPGSM.Core().GreaterThanOrEqual(v20): - if vPG >= 15 { + switch { + case vPG >= 16: + version = pgStatMonitorVersion20PG16 + case vPG >= 15: version = pgStatMonitorVersion20PG15 - break - } - if vPG >= 14 { + case vPG >= 14: version = pgStatMonitorVersion20PG14 - break - } - if vPG >= 13 { + case vPG >= 13: version = pgStatMonitorVersion20PG13 - break + default: + version = pgStatMonitorVersion20PG12 } - version = pgStatMonitorVersion20PG12 case vPGSM.Core().GreaterThanOrEqual(v11): - if vPG >= 14 { + switch { + case vPG >= 14: version = pgStatMonitorVersion11PG14 - break - } - if vPG >= 13 { + case vPG >= 13: version = pgStatMonitorVersion11PG13 - break + default: + version = pgStatMonitorVersion11PG12 } - version = pgStatMonitorVersion11PG12 + case vPGSM.Core().GreaterThanOrEqual(v10): - if vPG >= 14 { + switch { + case vPG >= 14: version = pgStatMonitorVersion10PG14 - break - } - if vPG >= 13 { + case vPG >= 13: version = pgStatMonitorVersion10PG13 - break + default: + version = pgStatMonitorVersion10PG12 } - version = pgStatMonitorVersion10PG12 + case vPGSM.GreaterThanOrEqual(v09): version = pgStatMonitorVersion09 case vPGSM.GreaterThanOrEqual(v08): @@ -563,10 +584,10 @@ func (m *PGStatMonitorQAN) makeBuckets(current, cache map[time.Time]map[string]* mb.Postgresql.HistogramItems = histogram } - if (currentPSM.PlanTotalTime - prevPSM.PlanTotalTime) != 0 { - mb.Postgresql.MPlanTimeSum = float32(currentPSM.PlanTotalTime-prevPSM.PlanTotalTime) / 1000 - mb.Postgresql.MPlanTimeMin = float32(currentPSM.PlanMinTime) / 1000 - mb.Postgresql.MPlanTimeMax = float32(currentPSM.PlanMaxTime) / 1000 + if (currentPSM.TotalPlanTime - prevPSM.TotalPlanTime) != 0 { + mb.Postgresql.MPlanTimeSum = float32(currentPSM.TotalPlanTime-prevPSM.TotalPlanTime) / 1000 + mb.Postgresql.MPlanTimeMin = float32(currentPSM.MinPlanTime) / 1000 + mb.Postgresql.MPlanTimeMax = float32(currentPSM.MaxPlanTime) / 1000 mb.Postgresql.MPlanTimeCnt = count } @@ -618,9 +639,11 @@ func (m *PGStatMonitorQAN) makeBuckets(current, cache map[time.Time]map[string]* {float32(currentPSM.WalBytes - prevPSM.WalBytes), &mb.Postgresql.MWalBytesSum, &mb.Postgresql.MWalBytesCnt}, // convert milliseconds to seconds - {float32(currentPSM.TotalTime-prevPSM.TotalTime) / 1000, &mb.Common.MQueryTimeSum, &mb.Common.MQueryTimeCnt}, - {float32(currentPSM.BlkReadTime-prevPSM.BlkReadTime) / 1000, &mb.Postgresql.MBlkReadTimeSum, &mb.Postgresql.MBlkReadTimeCnt}, - {float32(currentPSM.BlkWriteTime-prevPSM.BlkWriteTime) / 1000, &mb.Postgresql.MBlkWriteTimeSum, &mb.Postgresql.MBlkWriteTimeCnt}, + {float32(currentPSM.TotalExecTime-prevPSM.TotalExecTime) / 1000, &mb.Common.MQueryTimeSum, &mb.Common.MQueryTimeCnt}, + {float32(currentPSM.SharedBlkReadTime-prevPSM.SharedBlkReadTime) / 1000, &mb.Postgresql.MSharedBlkReadTimeSum, &mb.Postgresql.MSharedBlkReadTimeCnt}, + {float32(currentPSM.SharedBlkWriteTime-prevPSM.SharedBlkWriteTime) / 1000, &mb.Postgresql.MSharedBlkWriteTimeSum, &mb.Postgresql.MSharedBlkWriteTimeCnt}, + {float32(currentPSM.LocalBlkReadTime-prevPSM.LocalBlkReadTime) / 1000, &mb.Postgresql.MLocalBlkReadTimeSum, &mb.Postgresql.MLocalBlkReadTimeCnt}, + {float32(currentPSM.LocalBlkWriteTime-prevPSM.LocalBlkWriteTime) / 1000, &mb.Postgresql.MLocalBlkWriteTimeSum, &mb.Postgresql.MLocalBlkWriteTimeCnt}, // convert microseconds to seconds {float32(cpuSysTime) / 1000000, &mb.Postgresql.MCpuSysTimeSum, &mb.Postgresql.MCpuSysTimeCnt}, diff --git a/agent/agents/postgres/pgstatmonitor/pgstatmonitor_models.go b/agent/agents/postgres/pgstatmonitor/pgstatmonitor_models.go index 275b3e15f3..3b91ca41f9 100644 --- a/agent/agents/postgres/pgstatmonitor/pgstatmonitor_models.go +++ b/agent/agents/postgres/pgstatmonitor/pgstatmonitor_models.go @@ -27,6 +27,7 @@ import ( ) var ( + v21 = version.Must(version.NewVersion("2.1.0")) v20 = version.Must(version.NewVersion("2.0.0")) v11 = version.Must(version.NewVersion("1.1.0")) v10 = version.Must(version.NewVersion("1.0.0")) @@ -46,30 +47,32 @@ type pgStatMonitor struct { BucketStartTimeString string // rest - Bucket int64 - BucketStartTime time.Time - ClientIP string - QueryID string // we select only non-NULL rows - Query string // we select only non-NULL rows - Comments *string - Relations pq.StringArray - Calls int64 - SharedBlksHit int64 - SharedBlksRead int64 - SharedBlksDirtied int64 - SharedBlksWritten int64 - LocalBlksHit int64 - LocalBlksRead int64 - LocalBlksDirtied int64 - LocalBlksWritten int64 - TempBlksRead int64 - TempBlksWritten int64 - BlkReadTime float64 - BlkWriteTime float64 - RespCalls pq.StringArray - CPUUserTime float64 - CPUSysTime float64 - Rows int64 + Bucket int64 + BucketStartTime time.Time + ClientIP string + QueryID string // we select only non-NULL rows + Query string // we select only non-NULL rows + Comments *string + Relations pq.StringArray + Calls int64 + SharedBlksHit int64 + SharedBlksRead int64 + SharedBlksDirtied int64 + SharedBlksWritten int64 + LocalBlksHit int64 + LocalBlksRead int64 + LocalBlksDirtied int64 + LocalBlksWritten int64 + TempBlksRead int64 + TempBlksWritten int64 + SharedBlkReadTime float64 + SharedBlkWriteTime float64 + LocalBlkReadTime float64 + LocalBlkWriteTime float64 + RespCalls pq.StringArray + CPUUserTime float64 + CPUSysTime float64 + Rows int64 TopQueryID *string PlanID *string @@ -81,16 +84,16 @@ type pgStatMonitor struct { Elevel int32 Sqlcode *string Message *string - TotalTime float64 - MinTime float64 - MaxTime float64 - MeanTime float64 - StddevTime float64 + TotalExecTime float64 + MinExecTime float64 + MaxExecTime float64 + MeanExecTime float64 + StddevExecTime float64 PlansCalls int64 - PlanTotalTime float64 - PlanMinTime float64 - PlanMaxTime float64 - PlanMeanTime float64 + TotalPlanTime float64 + MinPlanTime float64 + MaxPlanTime float64 + MeanPlanTime float64 WalRecords int64 WalFpi int64 WalBytes int64 @@ -122,8 +125,6 @@ func newPgStatMonitorStructs(vPGSM pgStatMonitorVersion, vPG pgVersion) (*pgStat {info: parse.FieldInfo{Name: "LocalBlksWritten", Type: "int64", Column: "local_blks_written"}, pointer: &s.LocalBlksWritten}, {info: parse.FieldInfo{Name: "TempBlksRead", Type: "int64", Column: "temp_blks_read"}, pointer: &s.TempBlksRead}, {info: parse.FieldInfo{Name: "TempBlksWritten", Type: "int64", Column: "temp_blks_written"}, pointer: &s.TempBlksWritten}, - {info: parse.FieldInfo{Name: "BlkReadTime", Type: "float64", Column: "blk_read_time"}, pointer: &s.BlkReadTime}, - {info: parse.FieldInfo{Name: "BlkWriteTime", Type: "float64", Column: "blk_write_time"}, pointer: &s.BlkWriteTime}, {info: parse.FieldInfo{Name: "RespCalls", Type: "pq.StringArray", Column: "resp_calls"}, pointer: &s.RespCalls}, {info: parse.FieldInfo{Name: "CPUUserTime", Type: "float64", Column: "cpu_user_time"}, pointer: &s.CPUUserTime}, {info: parse.FieldInfo{Name: "CPUSysTime", Type: "float64", Column: "cpu_sys_time"}, pointer: &s.CPUSysTime}, @@ -150,10 +151,10 @@ func newPgStatMonitorStructs(vPGSM pgStatMonitorVersion, vPG pgVersion) (*pgStat } if vPGSM == pgStatMonitorVersion09 { fields = append(fields, - field{info: parse.FieldInfo{Name: "PlanTotalTime", Type: "float64", Column: "plan_total_time"}, pointer: &s.PlanTotalTime}, - field{info: parse.FieldInfo{Name: "PlanMinTime", Type: "float64", Column: "plan_min_time"}, pointer: &s.PlanMinTime}, - field{info: parse.FieldInfo{Name: "PlanMaxTime", Type: "float64", Column: "plan_max_time"}, pointer: &s.PlanMaxTime}, - field{info: parse.FieldInfo{Name: "PlanMeanTime", Type: "float64", Column: "plan_mean_time"}, pointer: &s.PlanMeanTime}, + field{info: parse.FieldInfo{Name: "TotalPlanTime", Type: "float64", Column: "plan_total_time"}, pointer: &s.TotalPlanTime}, + field{info: parse.FieldInfo{Name: "MinPlanTime", Type: "float64", Column: "plan_min_time"}, pointer: &s.MinPlanTime}, + field{info: parse.FieldInfo{Name: "MaxPlanTime", Type: "float64", Column: "plan_max_time"}, pointer: &s.MaxPlanTime}, + field{info: parse.FieldInfo{Name: "MeanPlanTime", Type: "float64", Column: "plan_mean_time"}, pointer: &s.MeanPlanTime}, field{info: parse.FieldInfo{Name: "PlansCalls", Type: "int64", Column: "plans_calls"}, pointer: &s.PlansCalls}) } if vPGSM >= pgStatMonitorVersion09 { @@ -176,25 +177,37 @@ func newPgStatMonitorStructs(vPGSM pgStatMonitorVersion, vPG pgVersion) (*pgStat fields = append(fields, field{info: parse.FieldInfo{Name: "QueryID", Type: "string", Column: "queryid"}, pointer: &s.QueryID}) } + if vPGSM >= pgStatMonitorVersion21PG17 { + fields = append(fields, + field{info: parse.FieldInfo{Name: "SharedBlkReadTime", Type: "float64", Column: "shared_blk_read_time"}, pointer: &s.SharedBlkReadTime}, + field{info: parse.FieldInfo{Name: "SharedBlkWriteTime", Type: "float64", Column: "shared_blk_write_time"}, pointer: &s.SharedBlkWriteTime}, + field{info: parse.FieldInfo{Name: "LocalBlkReadTime", Type: "float64", Column: "local_blk_read_time"}, pointer: &s.LocalBlkReadTime}, + field{info: parse.FieldInfo{Name: "LocalBlkWriteTime", Type: "float64", Column: "local_blk_write_time"}, pointer: &s.LocalBlkWriteTime}) + } else { + fields = append(fields, + field{info: parse.FieldInfo{Name: "SharedBlkReadTime", Type: "float64", Column: "blk_read_time"}, pointer: &s.SharedBlkReadTime}, + field{info: parse.FieldInfo{Name: "SharedBlkWriteTime", Type: "float64", Column: "blk_write_time"}, pointer: &s.SharedBlkWriteTime}) + } + if vPG <= 12 { fields = append(fields, - field{info: parse.FieldInfo{Name: "TotalTime", Type: "float64", Column: "total_time"}, pointer: &s.TotalTime}, - field{info: parse.FieldInfo{Name: "MinTime", Type: "float64", Column: "min_time"}, pointer: &s.MinTime}, - field{info: parse.FieldInfo{Name: "MaxTime", Type: "float64", Column: "max_time"}, pointer: &s.MaxTime}, - field{info: parse.FieldInfo{Name: "MeanTime", Type: "float64", Column: "mean_time"}, pointer: &s.MeanTime}, - field{info: parse.FieldInfo{Name: "StddevTime", Type: "float64", Column: "stddev_time"}, pointer: &s.StddevTime}) + field{info: parse.FieldInfo{Name: "TotalExecTime", Type: "float64", Column: "total_time"}, pointer: &s.TotalExecTime}, + field{info: parse.FieldInfo{Name: "MinExecTime", Type: "float64", Column: "min_time"}, pointer: &s.MinExecTime}, + field{info: parse.FieldInfo{Name: "MaxExecTime", Type: "float64", Column: "max_time"}, pointer: &s.MaxExecTime}, + field{info: parse.FieldInfo{Name: "MeanExecTime", Type: "float64", Column: "mean_time"}, pointer: &s.MeanExecTime}, + field{info: parse.FieldInfo{Name: "StddevExecTime", Type: "float64", Column: "stddev_time"}, pointer: &s.StddevExecTime}) } if vPG >= 13 { fields = append(fields, - field{info: parse.FieldInfo{Name: "TotalTime", Type: "float64", Column: "total_exec_time"}, pointer: &s.TotalTime}, - field{info: parse.FieldInfo{Name: "MinTime", Type: "float64", Column: "min_exec_time"}, pointer: &s.MinTime}, - field{info: parse.FieldInfo{Name: "MaxTime", Type: "float64", Column: "max_exec_time"}, pointer: &s.MaxTime}, - field{info: parse.FieldInfo{Name: "MeanTime", Type: "float64", Column: "mean_exec_time"}, pointer: &s.MeanTime}, - field{info: parse.FieldInfo{Name: "StddevTime", Type: "float64", Column: "stddev_exec_time"}, pointer: &s.StddevTime}, - field{info: parse.FieldInfo{Name: "PlanTotalTime", Type: "float64", Column: "total_plan_time"}, pointer: &s.PlanTotalTime}, - field{info: parse.FieldInfo{Name: "PlanMinTime", Type: "float64", Column: "min_plan_time"}, pointer: &s.PlanMinTime}, - field{info: parse.FieldInfo{Name: "PlanMaxTime", Type: "float64", Column: "max_plan_time"}, pointer: &s.PlanMaxTime}, - field{info: parse.FieldInfo{Name: "PlanMeanTime", Type: "float64", Column: "mean_plan_time"}, pointer: &s.PlanMeanTime}) + field{info: parse.FieldInfo{Name: "TotalExecTime", Type: "float64", Column: "total_exec_time"}, pointer: &s.TotalExecTime}, + field{info: parse.FieldInfo{Name: "MinExecTime", Type: "float64", Column: "min_exec_time"}, pointer: &s.MinExecTime}, + field{info: parse.FieldInfo{Name: "MaxExecTime", Type: "float64", Column: "max_exec_time"}, pointer: &s.MaxExecTime}, + field{info: parse.FieldInfo{Name: "MeanExecTime", Type: "float64", Column: "mean_exec_time"}, pointer: &s.MeanExecTime}, + field{info: parse.FieldInfo{Name: "StddevExecTime", Type: "float64", Column: "stddev_exec_time"}, pointer: &s.StddevExecTime}, + field{info: parse.FieldInfo{Name: "TotalPlanTime", Type: "float64", Column: "total_plan_time"}, pointer: &s.TotalPlanTime}, + field{info: parse.FieldInfo{Name: "MinPlanTime", Type: "float64", Column: "min_plan_time"}, pointer: &s.MinPlanTime}, + field{info: parse.FieldInfo{Name: "MaxPlanTime", Type: "float64", Column: "max_plan_time"}, pointer: &s.MaxPlanTime}, + field{info: parse.FieldInfo{Name: "MeanPlanTime", Type: "float64", Column: "mean_plan_time"}, pointer: &s.MeanPlanTime}) if vPGSM >= pgStatMonitorVersion09 { fields = append(fields, @@ -274,7 +287,7 @@ func (v *pgStatMonitorAllViewType) NewStruct() reform.Struct { //nolint:ireturn // String returns a string representation of this struct or record. func (s pgStatMonitor) String() string { - res := make([]string, 49) + res := make([]string, 51) res[0] = "Bucket: " + reform.Inspect(s.Bucket, true) res[1] = "BucketStartTime: " + reform.Inspect(s.BucketStartTime, true) res[2] = "UserID: " + reform.Inspect(s.UserID, true) @@ -283,7 +296,7 @@ func (s pgStatMonitor) String() string { res[5] = "Query: " + reform.Inspect(s.Query, true) res[6] = "Relations: " + reform.Inspect(s.Relations, true) res[7] = "Calls: " + reform.Inspect(s.Calls, true) - res[8] = "TotalTime: " + reform.Inspect(s.TotalTime, true) + res[8] = "TotalExecTime: " + reform.Inspect(s.TotalExecTime, true) res[9] = "SharedBlksHit: " + reform.Inspect(s.SharedBlksHit, true) res[10] = "SharedBlksRead: " + reform.Inspect(s.SharedBlksRead, true) res[11] = "SharedBlksDirtied: " + reform.Inspect(s.SharedBlksDirtied, true) @@ -294,36 +307,38 @@ func (s pgStatMonitor) String() string { res[16] = "LocalBlksWritten: " + reform.Inspect(s.LocalBlksWritten, true) res[17] = "TempBlksRead: " + reform.Inspect(s.TempBlksRead, true) res[18] = "TempBlksWritten: " + reform.Inspect(s.TempBlksWritten, true) - res[19] = "BlkReadTime: " + reform.Inspect(s.BlkReadTime, true) - res[20] = "BlkWriteTime: " + reform.Inspect(s.BlkWriteTime, true) - res[21] = "RespCalls: " + reform.Inspect(s.RespCalls, true) - res[22] = "CPUUserTime: " + reform.Inspect(s.CPUUserTime, true) - res[23] = "CPUSysTime: " + reform.Inspect(s.CPUSysTime, true) - res[24] = "DBID: " + reform.Inspect(s.DBID, true) - res[25] = "DatName: " + reform.Inspect(s.DatName, true) - res[26] = "Rows: " + reform.Inspect(s.Rows, true) - res[27] = "TopQueryID: " + reform.Inspect(s.TopQueryID, true) - res[28] = "PlanID: " + reform.Inspect(s.PlanID, true) - res[29] = "QueryPlan: " + reform.Inspect(s.QueryPlan, true) - res[30] = "TopQuery: " + reform.Inspect(s.TopQuery, true) - res[31] = "ApplicationName: " + reform.Inspect(s.ApplicationName, true) - res[32] = "CmdType: " + reform.Inspect(s.CmdType, true) - res[33] = "CmdTypeText: " + reform.Inspect(s.CmdTypeText, true) - res[34] = "Elevel: " + reform.Inspect(s.Elevel, true) - res[35] = "Sqlcode: " + reform.Inspect(s.Sqlcode, true) - res[36] = "Message: " + reform.Inspect(s.Message, true) - res[37] = "MinTime: " + reform.Inspect(s.MinTime, true) - res[38] = "MaxTime: " + reform.Inspect(s.MaxTime, true) - res[39] = "MeanTime: " + reform.Inspect(s.MeanTime, true) - res[40] = "StddevTime: " + reform.Inspect(s.StddevTime, true) - res[41] = "PlansCalls: " + reform.Inspect(s.PlansCalls, true) - res[42] = "PlanTotalTime: " + reform.Inspect(s.PlanTotalTime, true) - res[43] = "PlanMinTime: " + reform.Inspect(s.PlanMinTime, true) - res[44] = "PlanMaxTime: " + reform.Inspect(s.PlanMaxTime, true) - res[45] = "PlanMeanTime: " + reform.Inspect(s.PlanMeanTime, true) - res[46] = "WalRecords: " + reform.Inspect(s.WalRecords, true) - res[47] = "WalFpi: " + reform.Inspect(s.WalFpi, true) - res[48] = "WalBytes: " + reform.Inspect(s.WalBytes, true) + res[19] = "SharedBlkReadTime: " + reform.Inspect(s.SharedBlkReadTime, true) + res[20] = "SharedBlkWriteTime: " + reform.Inspect(s.SharedBlkWriteTime, true) + res[21] = "LocalBlkReadTime: " + reform.Inspect(s.LocalBlkReadTime, true) + res[22] = "LocalBlkWriteTime: " + reform.Inspect(s.LocalBlkWriteTime, true) + res[23] = "RespCalls: " + reform.Inspect(s.RespCalls, true) + res[24] = "CPUUserTime: " + reform.Inspect(s.CPUUserTime, true) + res[25] = "CPUSysTime: " + reform.Inspect(s.CPUSysTime, true) + res[26] = "DBID: " + reform.Inspect(s.DBID, true) + res[27] = "DatName: " + reform.Inspect(s.DatName, true) + res[28] = "Rows: " + reform.Inspect(s.Rows, true) + res[29] = "TopQueryID: " + reform.Inspect(s.TopQueryID, true) + res[30] = "PlanID: " + reform.Inspect(s.PlanID, true) + res[31] = "QueryPlan: " + reform.Inspect(s.QueryPlan, true) + res[32] = "TopQuery: " + reform.Inspect(s.TopQuery, true) + res[33] = "ApplicationName: " + reform.Inspect(s.ApplicationName, true) + res[34] = "CmdType: " + reform.Inspect(s.CmdType, true) + res[35] = "CmdTypeText: " + reform.Inspect(s.CmdTypeText, true) + res[36] = "Elevel: " + reform.Inspect(s.Elevel, true) + res[37] = "Sqlcode: " + reform.Inspect(s.Sqlcode, true) + res[38] = "Message: " + reform.Inspect(s.Message, true) + res[39] = "MinExecTime: " + reform.Inspect(s.MinExecTime, true) + res[40] = "MaxExecTime: " + reform.Inspect(s.MaxExecTime, true) + res[41] = "MeanExecTime: " + reform.Inspect(s.MeanExecTime, true) + res[42] = "StddevExecTime: " + reform.Inspect(s.StddevExecTime, true) + res[43] = "PlansCalls: " + reform.Inspect(s.PlansCalls, true) + res[44] = "TotalPlanTime: " + reform.Inspect(s.TotalPlanTime, true) + res[45] = "MinPlanTime: " + reform.Inspect(s.MinPlanTime, true) + res[46] = "MaxPlanTime: " + reform.Inspect(s.MaxPlanTime, true) + res[47] = "MeanPlanTime: " + reform.Inspect(s.MeanPlanTime, true) + res[48] = "WalRecords: " + reform.Inspect(s.WalRecords, true) + res[49] = "WalFpi: " + reform.Inspect(s.WalFpi, true) + res[50] = "WalBytes: " + reform.Inspect(s.WalBytes, true) return strings.Join(res, ", ") } diff --git a/agent/agents/postgres/pgstatmonitor/pgstatmonitor_test.go b/agent/agents/postgres/pgstatmonitor/pgstatmonitor_test.go index 2226e04e8b..335579b4f1 100644 --- a/agent/agents/postgres/pgstatmonitor/pgstatmonitor_test.go +++ b/agent/agents/postgres/pgstatmonitor/pgstatmonitor_test.go @@ -249,31 +249,33 @@ func TestPGStatMonitorSchema(t *testing.T) { MQueryTimeSum: actual.Common.MQueryTimeSum, }, Postgresql: &agentpb.MetricsBucket_PostgreSQL{ - MBlkReadTimeCnt: actual.Postgresql.MBlkReadTimeCnt, - MBlkReadTimeSum: actual.Postgresql.MBlkReadTimeSum, - MSharedBlksReadCnt: actual.Postgresql.MSharedBlksReadCnt, - MSharedBlksReadSum: actual.Postgresql.MSharedBlksReadSum, - MSharedBlksHitCnt: actual.Postgresql.MSharedBlksHitCnt, - MSharedBlksHitSum: actual.Postgresql.MSharedBlksHitSum, - MRowsCnt: 1, - MRowsSum: 239, - MCpuUserTimeCnt: actual.Postgresql.MCpuUserTimeCnt, - MCpuUserTimeSum: actual.Postgresql.MCpuUserTimeSum, - MCpuSysTimeCnt: actual.Postgresql.MCpuSysTimeCnt, - MCpuSysTimeSum: actual.Postgresql.MCpuSysTimeSum, - CmdType: selectCMDType, - HistogramItems: actual.Postgresql.HistogramItems, - MPlansCallsSum: actual.Postgresql.MPlansCallsSum, - MPlansCallsCnt: mPlansCallsCnt, - MPlanTimeCnt: mPlansTimeCnt, - MPlanTimeSum: actual.Postgresql.MPlanTimeSum, - MPlanTimeMin: actual.Postgresql.MPlanTimeMin, - MPlanTimeMax: actual.Postgresql.MPlanTimeMax, + MSharedBlkReadTimeCnt: actual.Postgresql.MSharedBlkReadTimeCnt, + MSharedBlkReadTimeSum: actual.Postgresql.MSharedBlkReadTimeSum, + MLocalBlkReadTimeCnt: actual.Postgresql.MLocalBlkReadTimeCnt, + MLocalBlkReadTimeSum: actual.Postgresql.MLocalBlkReadTimeSum, + MSharedBlksReadCnt: actual.Postgresql.MSharedBlksReadCnt, + MSharedBlksReadSum: actual.Postgresql.MSharedBlksReadSum, + MSharedBlksHitCnt: actual.Postgresql.MSharedBlksHitCnt, + MSharedBlksHitSum: actual.Postgresql.MSharedBlksHitSum, + MRowsCnt: 1, + MRowsSum: 239, + MCpuUserTimeCnt: actual.Postgresql.MCpuUserTimeCnt, + MCpuUserTimeSum: actual.Postgresql.MCpuUserTimeSum, + MCpuSysTimeCnt: actual.Postgresql.MCpuSysTimeCnt, + MCpuSysTimeSum: actual.Postgresql.MCpuSysTimeSum, + CmdType: selectCMDType, + HistogramItems: actual.Postgresql.HistogramItems, + MPlansCallsSum: actual.Postgresql.MPlansCallsSum, + MPlansCallsCnt: mPlansCallsCnt, + MPlanTimeCnt: mPlansTimeCnt, + MPlanTimeSum: actual.Postgresql.MPlanTimeSum, + MPlanTimeMin: actual.Postgresql.MPlanTimeMin, + MPlanTimeMax: actual.Postgresql.MPlanTimeMax, }, } expected.Common.Queryid = digests[expected.Common.Fingerprint] tests.AssertBucketsEqual(t, expected, actual) - assert.LessOrEqual(t, actual.Postgresql.MBlkReadTimeSum, actual.Common.MQueryTimeSum) + assert.LessOrEqual(t, actual.Postgresql.MSharedBlkReadTimeSum, actual.Common.MQueryTimeSum) assert.Regexp(t, `\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}`, actual.Common.ClientHost) _, err = db.Exec(selectAllCountries) @@ -307,29 +309,31 @@ func TestPGStatMonitorSchema(t *testing.T) { MQueryTimeSum: actual.Common.MQueryTimeSum, }, Postgresql: &agentpb.MetricsBucket_PostgreSQL{ - MSharedBlksHitCnt: 1, - MSharedBlksHitSum: 5, - MRowsCnt: 1, - MRowsSum: 239, - MBlkReadTimeCnt: actual.Postgresql.MBlkReadTimeCnt, - MBlkReadTimeSum: actual.Postgresql.MBlkReadTimeSum, - MCpuUserTimeCnt: actual.Postgresql.MCpuUserTimeCnt, - MCpuUserTimeSum: actual.Postgresql.MCpuUserTimeSum, - MCpuSysTimeCnt: actual.Postgresql.MCpuSysTimeCnt, - MCpuSysTimeSum: actual.Postgresql.MCpuSysTimeSum, - CmdType: selectCMDType, - HistogramItems: actual.Postgresql.HistogramItems, - MPlansCallsSum: actual.Postgresql.MPlansCallsSum, - MPlansCallsCnt: mPlansCallsCnt, - MPlanTimeCnt: mPlansTimeCnt, - MPlanTimeSum: actual.Postgresql.MPlanTimeSum, - MPlanTimeMin: actual.Postgresql.MPlanTimeMin, - MPlanTimeMax: actual.Postgresql.MPlanTimeMax, + MSharedBlksHitCnt: 1, + MSharedBlksHitSum: 5, + MRowsCnt: 1, + MRowsSum: 239, + MSharedBlkReadTimeCnt: actual.Postgresql.MSharedBlkReadTimeCnt, + MSharedBlkReadTimeSum: actual.Postgresql.MSharedBlkReadTimeSum, + MLocalBlkReadTimeCnt: actual.Postgresql.MLocalBlkReadTimeCnt, + MLocalBlkReadTimeSum: actual.Postgresql.MLocalBlkReadTimeSum, + MCpuUserTimeCnt: actual.Postgresql.MCpuUserTimeCnt, + MCpuUserTimeSum: actual.Postgresql.MCpuUserTimeSum, + MCpuSysTimeCnt: actual.Postgresql.MCpuSysTimeCnt, + MCpuSysTimeSum: actual.Postgresql.MCpuSysTimeSum, + CmdType: selectCMDType, + HistogramItems: actual.Postgresql.HistogramItems, + MPlansCallsSum: actual.Postgresql.MPlansCallsSum, + MPlansCallsCnt: mPlansCallsCnt, + MPlanTimeCnt: mPlansTimeCnt, + MPlanTimeSum: actual.Postgresql.MPlanTimeSum, + MPlanTimeMin: actual.Postgresql.MPlanTimeMin, + MPlanTimeMax: actual.Postgresql.MPlanTimeMax, }, } expected.Common.Queryid = digests[expected.Common.Fingerprint] tests.AssertBucketsEqual(t, expected, actual) - assert.LessOrEqual(t, actual.Postgresql.MBlkReadTimeSum, actual.Common.MQueryTimeSum) + assert.LessOrEqual(t, actual.Postgresql.MSharedBlkReadTimeSum, actual.Common.MQueryTimeSum) }) t.Run("AllCountriesTruncated", func(t *testing.T) { @@ -381,31 +385,33 @@ func TestPGStatMonitorSchema(t *testing.T) { MQueryTimeSum: actual.Common.MQueryTimeSum, }, Postgresql: &agentpb.MetricsBucket_PostgreSQL{ - MBlkReadTimeCnt: actual.Postgresql.MBlkReadTimeCnt, - MBlkReadTimeSum: actual.Postgresql.MBlkReadTimeSum, - MSharedBlksReadCnt: actual.Postgresql.MSharedBlksReadCnt, - MSharedBlksReadSum: actual.Postgresql.MSharedBlksReadSum, - MSharedBlksHitCnt: actual.Postgresql.MSharedBlksHitCnt, - MSharedBlksHitSum: actual.Postgresql.MSharedBlksHitSum, - MRowsCnt: 1, - MRowsSum: 30, - MCpuUserTimeCnt: actual.Postgresql.MCpuUserTimeCnt, - MCpuUserTimeSum: actual.Postgresql.MCpuUserTimeSum, - MCpuSysTimeCnt: actual.Postgresql.MCpuSysTimeCnt, - MCpuSysTimeSum: actual.Postgresql.MCpuSysTimeSum, - CmdType: selectCMDType, - HistogramItems: actual.Postgresql.HistogramItems, - MPlansCallsSum: actual.Postgresql.MPlansCallsSum, - MPlansCallsCnt: mPlansCallsCnt, - MPlanTimeCnt: mPlansTimeCnt, - MPlanTimeSum: actual.Postgresql.MPlanTimeSum, - MPlanTimeMin: actual.Postgresql.MPlanTimeMin, - MPlanTimeMax: actual.Postgresql.MPlanTimeMax, + MSharedBlkReadTimeCnt: actual.Postgresql.MSharedBlkReadTimeCnt, + MSharedBlkReadTimeSum: actual.Postgresql.MSharedBlkReadTimeSum, + MLocalBlkReadTimeCnt: actual.Postgresql.MLocalBlkReadTimeCnt, + MLocalBlkReadTimeSum: actual.Postgresql.MLocalBlkReadTimeSum, + MSharedBlksReadCnt: actual.Postgresql.MSharedBlksReadCnt, + MSharedBlksReadSum: actual.Postgresql.MSharedBlksReadSum, + MSharedBlksHitCnt: actual.Postgresql.MSharedBlksHitCnt, + MSharedBlksHitSum: actual.Postgresql.MSharedBlksHitSum, + MRowsCnt: 1, + MRowsSum: 30, + MCpuUserTimeCnt: actual.Postgresql.MCpuUserTimeCnt, + MCpuUserTimeSum: actual.Postgresql.MCpuUserTimeSum, + MCpuSysTimeCnt: actual.Postgresql.MCpuSysTimeCnt, + MCpuSysTimeSum: actual.Postgresql.MCpuSysTimeSum, + CmdType: selectCMDType, + HistogramItems: actual.Postgresql.HistogramItems, + MPlansCallsSum: actual.Postgresql.MPlansCallsSum, + MPlansCallsCnt: mPlansCallsCnt, + MPlanTimeCnt: mPlansTimeCnt, + MPlanTimeSum: actual.Postgresql.MPlanTimeSum, + MPlanTimeMin: actual.Postgresql.MPlanTimeMin, + MPlanTimeMax: actual.Postgresql.MPlanTimeMax, }, } expected.Common.Queryid = digests[expected.Common.Fingerprint] tests.AssertBucketsEqual(t, expected, actual) - assert.LessOrEqual(t, actual.Postgresql.MBlkReadTimeSum, actual.Common.MQueryTimeSum) + assert.LessOrEqual(t, actual.Postgresql.MSharedBlkReadTimeSum, actual.Common.MQueryTimeSum) assert.Regexp(t, `\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}`, actual.Common.ClientHost) _, err = db.Exec(q, args...) @@ -420,7 +426,7 @@ func TestPGStatMonitorSchema(t *testing.T) { actual = buckets[0] actual.Common.Username = strings.ReplaceAll(actual.Common.Username, `"`, "") assert.InDelta(t, 0, actual.Common.MQueryTimeSum, 0.09) - assert.InDelta(t, 0, actual.Postgresql.MBlkReadTimeCnt, 1) + assert.InDelta(t, 0, actual.Postgresql.MSharedBlkReadTimeCnt, 1) assert.InDelta(t, 5, actual.Postgresql.MSharedBlksHitSum, 2) expected = &agentpb.MetricsBucket{ Common: &agentpb.MetricsBucket_Common{ @@ -442,29 +448,31 @@ func TestPGStatMonitorSchema(t *testing.T) { MQueryTimeSum: actual.Common.MQueryTimeSum, }, Postgresql: &agentpb.MetricsBucket_PostgreSQL{ - MBlkReadTimeCnt: actual.Postgresql.MBlkReadTimeCnt, - MBlkReadTimeSum: actual.Postgresql.MBlkReadTimeSum, - MSharedBlksHitCnt: 1, - MSharedBlksHitSum: actual.Postgresql.MSharedBlksHitSum, - MRowsCnt: 1, - MRowsSum: 30, - MCpuUserTimeCnt: actual.Postgresql.MCpuUserTimeCnt, - MCpuUserTimeSum: actual.Postgresql.MCpuUserTimeSum, - MCpuSysTimeCnt: actual.Postgresql.MCpuSysTimeCnt, - MCpuSysTimeSum: actual.Postgresql.MCpuSysTimeSum, - CmdType: selectCMDType, - HistogramItems: actual.Postgresql.HistogramItems, - MPlansCallsSum: actual.Postgresql.MPlansCallsSum, - MPlansCallsCnt: mPlansCallsCnt, - MPlanTimeCnt: mPlansTimeCnt, - MPlanTimeSum: actual.Postgresql.MPlanTimeSum, - MPlanTimeMin: actual.Postgresql.MPlanTimeMin, - MPlanTimeMax: actual.Postgresql.MPlanTimeMax, + MSharedBlkReadTimeCnt: actual.Postgresql.MSharedBlkReadTimeCnt, + MSharedBlkReadTimeSum: actual.Postgresql.MSharedBlkReadTimeSum, + MLocalBlkReadTimeCnt: actual.Postgresql.MLocalBlkReadTimeCnt, + MLocalBlkReadTimeSum: actual.Postgresql.MLocalBlkReadTimeSum, + MSharedBlksHitCnt: 1, + MSharedBlksHitSum: actual.Postgresql.MSharedBlksHitSum, + MRowsCnt: 1, + MRowsSum: 30, + MCpuUserTimeCnt: actual.Postgresql.MCpuUserTimeCnt, + MCpuUserTimeSum: actual.Postgresql.MCpuUserTimeSum, + MCpuSysTimeCnt: actual.Postgresql.MCpuSysTimeCnt, + MCpuSysTimeSum: actual.Postgresql.MCpuSysTimeSum, + CmdType: selectCMDType, + HistogramItems: actual.Postgresql.HistogramItems, + MPlansCallsSum: actual.Postgresql.MPlansCallsSum, + MPlansCallsCnt: mPlansCallsCnt, + MPlanTimeCnt: mPlansTimeCnt, + MPlanTimeSum: actual.Postgresql.MPlanTimeSum, + MPlanTimeMin: actual.Postgresql.MPlanTimeMin, + MPlanTimeMax: actual.Postgresql.MPlanTimeMax, }, } expected.Common.Queryid = digests[expected.Common.Fingerprint] tests.AssertBucketsEqual(t, expected, actual) - assert.LessOrEqual(t, actual.Postgresql.MBlkReadTimeSum, actual.Common.MQueryTimeSum) + assert.LessOrEqual(t, actual.Postgresql.MSharedBlkReadTimeSum, actual.Common.MQueryTimeSum) }) t.Run("CheckMBlkReadTime", func(t *testing.T) { @@ -518,7 +526,7 @@ func TestPGStatMonitorSchema(t *testing.T) { actual := buckets[0] actual.Common.Username = strings.ReplaceAll(actual.Common.Username, `"`, "") - assert.NotZero(t, actual.Postgresql.MBlkReadTimeSum) + assert.NotZero(t, actual.Postgresql.MSharedBlkReadTimeSum) expectedFingerprint := fmt.Sprintf("INSERT /* CheckMBlkReadTime controller='test' */ INTO %s (customer_id, first_name, last_name, active) VALUES ($1, $2, $3, $4)", tableName) expected := &agentpb.MetricsBucket{ Common: &agentpb.MetricsBucket_Common{ @@ -541,8 +549,10 @@ func TestPGStatMonitorSchema(t *testing.T) { Tables: []string{fmt.Sprintf("public.%s", tableName)}, }, Postgresql: &agentpb.MetricsBucket_PostgreSQL{ - MBlkReadTimeCnt: float32(n), - MBlkReadTimeSum: actual.Postgresql.MBlkReadTimeSum, + MSharedBlkReadTimeCnt: float32(n), + MSharedBlkReadTimeSum: actual.Postgresql.MSharedBlkReadTimeSum, + MLocalBlkReadTimeCnt: actual.Postgresql.MLocalBlkReadTimeCnt, + MLocalBlkReadTimeSum: actual.Postgresql.MLocalBlkReadTimeSum, MSharedBlksReadCnt: actual.Postgresql.MSharedBlksReadCnt, MSharedBlksReadSum: actual.Postgresql.MSharedBlksReadSum, MSharedBlksWrittenCnt: actual.Postgresql.MSharedBlksWrittenCnt, @@ -572,7 +582,7 @@ func TestPGStatMonitorSchema(t *testing.T) { }, } tests.AssertBucketsEqual(t, expected, actual) - assert.LessOrEqual(t, actual.Postgresql.MBlkReadTimeSum, actual.Common.MQueryTimeSum) + assert.LessOrEqual(t, actual.Postgresql.MSharedBlkReadTimeSum, actual.Common.MQueryTimeSum) assert.Regexp(t, `\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}`, actual.Common.ClientHost) }) } diff --git a/agent/agents/postgres/pgstatstatements/models.go b/agent/agents/postgres/pgstatstatements/models.go index 00746732fe..b68efad06c 100644 --- a/agent/agents/postgres/pgstatstatements/models.go +++ b/agent/agents/postgres/pgstatstatements/models.go @@ -14,8 +14,6 @@ package pgstatstatements -import "fmt" - //go:generate ../../../../bin/reform // pgStatDatabase represents a row in pg_stat_database view. @@ -33,49 +31,3 @@ type pgUser struct { UserID int64 `reform:"usesysid"` UserName *string `reform:"usename"` } - -// pgStatStatements represents a row in pg_stat_statements view. -// -//reform:pg_stat_statements -type pgStatStatements struct { - UserID int64 `reform:"userid"` - DBID int64 `reform:"dbid"` - QueryID int64 `reform:"queryid"` // we select only non-NULL rows - Query string `reform:"query"` // we select only non-NULL rows - Calls int64 `reform:"calls"` - TotalTime float64 `reform:"total_time"` - // MinTime *float64 `reform:"min_time"` - // MaxTime *float64 `reform:"max_time"` - // MeanTime *float64 `reform:"mean_time"` - // StddevTime *float64 `reform:"stddev_time"` - Rows int64 `reform:"rows"` - SharedBlksHit int64 `reform:"shared_blks_hit"` - SharedBlksRead int64 `reform:"shared_blks_read"` - SharedBlksDirtied int64 `reform:"shared_blks_dirtied"` - SharedBlksWritten int64 `reform:"shared_blks_written"` - LocalBlksHit int64 `reform:"local_blks_hit"` - LocalBlksRead int64 `reform:"local_blks_read"` - LocalBlksDirtied int64 `reform:"local_blks_dirtied"` - LocalBlksWritten int64 `reform:"local_blks_written"` - TempBlksRead int64 `reform:"temp_blks_read"` - TempBlksWritten int64 `reform:"temp_blks_written"` - BlkReadTime float64 `reform:"blk_read_time"` - BlkWriteTime float64 `reform:"blk_write_time"` -} - -// pgStatStatementsExtended contains pgStatStatements data and extends it with database, username and tables data. -// It's made for performance reason. -type pgStatStatementsExtended struct { - pgStatStatements - - Database string - Username string - Tables []string - IsQueryTruncated bool - Comments map[string]string -} - -func (e *pgStatStatementsExtended) String() string { - return fmt.Sprintf("%q %q %v: %d: %s (truncated = %t) %v", - e.Database, e.Username, e.Tables, e.QueryID, e.Query, e.IsQueryTruncated, e.Comments) -} diff --git a/agent/agents/postgres/pgstatstatements/models_reform.go b/agent/agents/postgres/pgstatstatements/models_reform.go index ea7cfe7836..473f13e8bb 100644 --- a/agent/agents/postgres/pgstatstatements/models_reform.go +++ b/agent/agents/postgres/pgstatstatements/models_reform.go @@ -172,173 +172,7 @@ var ( _ fmt.Stringer = (*pgUser)(nil) ) -type pgStatStatementsViewType struct { - s parse.StructInfo - z []interface{} -} - -// Schema returns a schema name in SQL database (""). -func (v *pgStatStatementsViewType) Schema() string { - return v.s.SQLSchema -} - -// Name returns a view or table name in SQL database ("pg_stat_statements"). -func (v *pgStatStatementsViewType) Name() string { - return v.s.SQLName -} - -// Columns returns a new slice of column names for that view or table in SQL database. -func (v *pgStatStatementsViewType) Columns() []string { - return []string{ - "userid", - "dbid", - "queryid", - "query", - "calls", - "total_time", - "rows", - "shared_blks_hit", - "shared_blks_read", - "shared_blks_dirtied", - "shared_blks_written", - "local_blks_hit", - "local_blks_read", - "local_blks_dirtied", - "local_blks_written", - "temp_blks_read", - "temp_blks_written", - "blk_read_time", - "blk_write_time", - } -} - -// NewStruct makes a new struct for that view or table. -func (v *pgStatStatementsViewType) NewStruct() reform.Struct { - return new(pgStatStatements) -} - -// pgStatStatementsView represents pg_stat_statements view or table in SQL database. -var pgStatStatementsView = &pgStatStatementsViewType{ - s: parse.StructInfo{ - Type: "pgStatStatements", - SQLName: "pg_stat_statements", - Fields: []parse.FieldInfo{ - {Name: "UserID", Type: "int64", Column: "userid"}, - {Name: "DBID", Type: "int64", Column: "dbid"}, - {Name: "QueryID", Type: "int64", Column: "queryid"}, - {Name: "Query", Type: "string", Column: "query"}, - {Name: "Calls", Type: "int64", Column: "calls"}, - {Name: "TotalTime", Type: "float64", Column: "total_time"}, - {Name: "Rows", Type: "int64", Column: "rows"}, - {Name: "SharedBlksHit", Type: "int64", Column: "shared_blks_hit"}, - {Name: "SharedBlksRead", Type: "int64", Column: "shared_blks_read"}, - {Name: "SharedBlksDirtied", Type: "int64", Column: "shared_blks_dirtied"}, - {Name: "SharedBlksWritten", Type: "int64", Column: "shared_blks_written"}, - {Name: "LocalBlksHit", Type: "int64", Column: "local_blks_hit"}, - {Name: "LocalBlksRead", Type: "int64", Column: "local_blks_read"}, - {Name: "LocalBlksDirtied", Type: "int64", Column: "local_blks_dirtied"}, - {Name: "LocalBlksWritten", Type: "int64", Column: "local_blks_written"}, - {Name: "TempBlksRead", Type: "int64", Column: "temp_blks_read"}, - {Name: "TempBlksWritten", Type: "int64", Column: "temp_blks_written"}, - {Name: "BlkReadTime", Type: "float64", Column: "blk_read_time"}, - {Name: "BlkWriteTime", Type: "float64", Column: "blk_write_time"}, - }, - PKFieldIndex: -1, - }, - z: new(pgStatStatements).Values(), -} - -// String returns a string representation of this struct or record. -func (s pgStatStatements) String() string { - res := make([]string, 19) - res[0] = "UserID: " + reform.Inspect(s.UserID, true) - res[1] = "DBID: " + reform.Inspect(s.DBID, true) - res[2] = "QueryID: " + reform.Inspect(s.QueryID, true) - res[3] = "Query: " + reform.Inspect(s.Query, true) - res[4] = "Calls: " + reform.Inspect(s.Calls, true) - res[5] = "TotalTime: " + reform.Inspect(s.TotalTime, true) - res[6] = "Rows: " + reform.Inspect(s.Rows, true) - res[7] = "SharedBlksHit: " + reform.Inspect(s.SharedBlksHit, true) - res[8] = "SharedBlksRead: " + reform.Inspect(s.SharedBlksRead, true) - res[9] = "SharedBlksDirtied: " + reform.Inspect(s.SharedBlksDirtied, true) - res[10] = "SharedBlksWritten: " + reform.Inspect(s.SharedBlksWritten, true) - res[11] = "LocalBlksHit: " + reform.Inspect(s.LocalBlksHit, true) - res[12] = "LocalBlksRead: " + reform.Inspect(s.LocalBlksRead, true) - res[13] = "LocalBlksDirtied: " + reform.Inspect(s.LocalBlksDirtied, true) - res[14] = "LocalBlksWritten: " + reform.Inspect(s.LocalBlksWritten, true) - res[15] = "TempBlksRead: " + reform.Inspect(s.TempBlksRead, true) - res[16] = "TempBlksWritten: " + reform.Inspect(s.TempBlksWritten, true) - res[17] = "BlkReadTime: " + reform.Inspect(s.BlkReadTime, true) - res[18] = "BlkWriteTime: " + reform.Inspect(s.BlkWriteTime, true) - return strings.Join(res, ", ") -} - -// Values returns a slice of struct or record field values. -// Returned interface{} values are never untyped nils. -func (s *pgStatStatements) Values() []interface{} { - return []interface{}{ - s.UserID, - s.DBID, - s.QueryID, - s.Query, - s.Calls, - s.TotalTime, - s.Rows, - s.SharedBlksHit, - s.SharedBlksRead, - s.SharedBlksDirtied, - s.SharedBlksWritten, - s.LocalBlksHit, - s.LocalBlksRead, - s.LocalBlksDirtied, - s.LocalBlksWritten, - s.TempBlksRead, - s.TempBlksWritten, - s.BlkReadTime, - s.BlkWriteTime, - } -} - -// Pointers returns a slice of pointers to struct or record fields. -// Returned interface{} values are never untyped nils. -func (s *pgStatStatements) Pointers() []interface{} { - return []interface{}{ - &s.UserID, - &s.DBID, - &s.QueryID, - &s.Query, - &s.Calls, - &s.TotalTime, - &s.Rows, - &s.SharedBlksHit, - &s.SharedBlksRead, - &s.SharedBlksDirtied, - &s.SharedBlksWritten, - &s.LocalBlksHit, - &s.LocalBlksRead, - &s.LocalBlksDirtied, - &s.LocalBlksWritten, - &s.TempBlksRead, - &s.TempBlksWritten, - &s.BlkReadTime, - &s.BlkWriteTime, - } -} - -// View returns View object for that struct. -func (s *pgStatStatements) View() reform.View { - return pgStatStatementsView -} - -// check interfaces -var ( - _ reform.View = pgStatStatementsView - _ reform.Struct = (*pgStatStatements)(nil) - _ fmt.Stringer = (*pgStatStatements)(nil) -) - func init() { parse.AssertUpToDate(&pgStatDatabaseView.s, new(pgStatDatabase)) parse.AssertUpToDate(&pgUserView.s, new(pgUser)) - parse.AssertUpToDate(&pgStatStatementsView.s, new(pgStatStatements)) } diff --git a/agent/agents/postgres/pgstatstatements/pg_stat_statements_models.go b/agent/agents/postgres/pgstatstatements/pg_stat_statements_models.go new file mode 100644 index 0000000000..6295b90092 --- /dev/null +++ b/agent/agents/postgres/pgstatstatements/pg_stat_statements_models.go @@ -0,0 +1,222 @@ +// Copyright (C) 2023 Percona LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package pgstatstatements + +import ( + "fmt" + "reflect" + "strings" + + "github.com/blang/semver" + "gopkg.in/reform.v1" + "gopkg.in/reform.v1/parse" +) + +// pgStatStatements represents a row in pg_stat_statements view. +type pgStatStatements struct { + UserID int64 + DBID int64 + QueryID int64 // we select only non-NULL rows + Query string // we select only non-NULL rows + Calls int64 + TotalExecTime float64 + // MinTime + // MaxTime + // MeanTime + // StddevTime + Rows int64 + SharedBlksHit int64 + SharedBlksRead int64 + SharedBlksDirtied int64 + SharedBlksWritten int64 + LocalBlksHit int64 + LocalBlksRead int64 + LocalBlksDirtied int64 + LocalBlksWritten int64 + TempBlksRead int64 + TempBlksWritten int64 + SharedBlkReadTime float64 + SharedBlkWriteTime float64 + LocalBlkReadTime float64 + LocalBlkWriteTime float64 + + // reform related fields + pointers []interface{} + view reform.View +} + +type field struct { + info parse.FieldInfo + pointer interface{} +} + +func newPgStatMonitorStructs(vPGSS semver.Version) (*pgStatStatements, reform.View) { //nolint:ireturn + s := &pgStatStatements{} + fields := []field{ + {info: parse.FieldInfo{Name: "UserID", Type: "int64", Column: "userid"}, pointer: &s.UserID}, + {info: parse.FieldInfo{Name: "DBID", Type: "int64", Column: "dbid"}, pointer: &s.DBID}, + {info: parse.FieldInfo{Name: "QueryID", Type: "int64", Column: "queryid"}, pointer: &s.QueryID}, + {info: parse.FieldInfo{Name: "Query", Type: "string", Column: "query"}, pointer: &s.Query}, + {info: parse.FieldInfo{Name: "Calls", Type: "int64", Column: "calls"}, pointer: &s.Calls}, + {info: parse.FieldInfo{Name: "Rows", Type: "int64", Column: "rows"}, pointer: &s.Rows}, + {info: parse.FieldInfo{Name: "SharedBlksHit", Type: "int64", Column: "shared_blks_hit"}, pointer: &s.SharedBlksHit}, + {info: parse.FieldInfo{Name: "SharedBlksRead", Type: "int64", Column: "shared_blks_read"}, pointer: &s.SharedBlksRead}, + {info: parse.FieldInfo{Name: "SharedBlksDirtied", Type: "int64", Column: "shared_blks_dirtied"}, pointer: &s.SharedBlksDirtied}, + {info: parse.FieldInfo{Name: "SharedBlksWritten", Type: "int64", Column: "shared_blks_written"}, pointer: &s.SharedBlksWritten}, + {info: parse.FieldInfo{Name: "LocalBlksHit", Type: "int64", Column: "local_blks_hit"}, pointer: &s.LocalBlksHit}, + {info: parse.FieldInfo{Name: "LocalBlksRead", Type: "int64", Column: "local_blks_read"}, pointer: &s.LocalBlksRead}, + {info: parse.FieldInfo{Name: "LocalBlksDirtied", Type: "int64", Column: "local_blks_dirtied"}, pointer: &s.LocalBlksDirtied}, + {info: parse.FieldInfo{Name: "LocalBlksWritten", Type: "int64", Column: "local_blks_written"}, pointer: &s.LocalBlksWritten}, + {info: parse.FieldInfo{Name: "TempBlksRead", Type: "int64", Column: "temp_blks_read"}, pointer: &s.TempBlksRead}, + {info: parse.FieldInfo{Name: "TempBlksWritten", Type: "int64", Column: "temp_blks_written"}, pointer: &s.TempBlksWritten}, + } + + if vPGSS.LT(pgStatVer1_8) { + fields = append(fields, + field{info: parse.FieldInfo{Name: "TotalExecTime", Type: "float64", Column: "total_time"}, pointer: &s.TotalExecTime}) + } else { + fields = append(fields, + field{info: parse.FieldInfo{Name: "TotalExecTime", Type: "float64", Column: "total_exec_time"}, pointer: &s.TotalExecTime}) + } + + if vPGSS.LT(pgStatVer1_11) { + fields = append(fields, + field{info: parse.FieldInfo{Name: "SharedBlkReadTime", Type: "float64", Column: "blk_read_time"}, pointer: &s.SharedBlkReadTime}, + field{info: parse.FieldInfo{Name: "SharedBlkWriteTime", Type: "float64", Column: "blk_write_time"}, pointer: &s.SharedBlkWriteTime}) + } else { + fields = append(fields, + field{info: parse.FieldInfo{Name: "SharedBlkReadTime", Type: "float64", Column: "shared_blk_read_time"}, pointer: &s.SharedBlkReadTime}, + field{info: parse.FieldInfo{Name: "SharedBlkWriteTime", Type: "float64", Column: "shared_blk_write_time"}, pointer: &s.SharedBlkWriteTime}, + field{info: parse.FieldInfo{Name: "LocalBlkReadTime", Type: "float64", Column: "local_blk_read_time"}, pointer: &s.LocalBlkReadTime}, + field{info: parse.FieldInfo{Name: "LocalBlkWriteTime", Type: "float64", Column: "local_blk_write_time"}, pointer: &s.LocalBlkWriteTime}) + } + + s.pointers = make([]interface{}, len(fields)) + pgStatStatementsDefaultView := &pgStatStatementsAllViewType{ + s: parse.StructInfo{ + Type: "pgStatStatements", + SQLName: "pg_stat_statements", + Fields: make([]parse.FieldInfo, len(fields)), + PKFieldIndex: -1, + }, + c: make([]string, len(fields)), + vPGSS: vPGSS, + } + for i, field := range fields { + pgStatStatementsDefaultView.s.Fields[i] = field.info + pgStatStatementsDefaultView.c[i] = field.info.Column + s.pointers[i] = field.pointer + } + s.view = pgStatStatementsDefaultView + pgStatStatementsDefaultView.z = s.Values() + + return s, pgStatStatementsDefaultView +} + +type pgStatStatementsAllViewType struct { + s parse.StructInfo + z []interface{} + c []string + vPGSS semver.Version +} + +// Schema returns a schema name in SQL database (""). +func (v *pgStatStatementsAllViewType) Schema() string { + return v.s.SQLSchema +} + +// Name returns a view or table name in SQL database ("pg_stat_monitor"). +func (v *pgStatStatementsAllViewType) Name() string { + return v.s.SQLName +} + +// Columns returns a new slice of column names for that view or table in SQL database. +func (v *pgStatStatementsAllViewType) Columns() []string { + return v.c +} + +// NewStruct makes a new struct for that view or table. +func (v *pgStatStatementsAllViewType) NewStruct() reform.Struct { //nolint:ireturn + str, _ := newPgStatMonitorStructs(v.vPGSS) + return str +} + +// Values returns a slice of struct or record field values. +// Returned interface{} values are never untyped nils. +func (s *pgStatStatements) Values() []interface{} { + values := make([]interface{}, len(s.pointers)) + for i, pointer := range s.pointers { + values[i] = reflect.ValueOf(pointer).Interface() + } + return values +} + +// Pointers returns a slice of pointers to struct or record fields. +// Returned interface{} values are never untyped nils. +func (s *pgStatStatements) Pointers() []interface{} { + return s.pointers +} + +// View returns View object for that struct. +func (s *pgStatStatements) View() reform.View { //nolint:ireturn + return s.view +} + +func (s *pgStatStatements) String() string { + res := make([]string, 19) + res[0] = "UserID: " + reform.Inspect(s.UserID, true) + res[1] = "DBID: " + reform.Inspect(s.DBID, true) + res[2] = "QueryID: " + reform.Inspect(s.QueryID, true) + res[3] = "Query: " + reform.Inspect(s.Query, true) + res[4] = "Calls: " + reform.Inspect(s.Calls, true) + res[5] = "TotalExecTime: " + reform.Inspect(s.TotalExecTime, true) + res[6] = "Rows: " + reform.Inspect(s.Rows, true) + res[7] = "SharedBlksHit: " + reform.Inspect(s.SharedBlksHit, true) + res[8] = "SharedBlksRead: " + reform.Inspect(s.SharedBlksRead, true) + res[9] = "SharedBlksDirtied: " + reform.Inspect(s.SharedBlksDirtied, true) + res[10] = "SharedBlksWritten: " + reform.Inspect(s.SharedBlksWritten, true) + res[11] = "LocalBlksHit: " + reform.Inspect(s.LocalBlksHit, true) + res[12] = "LocalBlksRead: " + reform.Inspect(s.LocalBlksRead, true) + res[13] = "LocalBlksDirtied: " + reform.Inspect(s.LocalBlksDirtied, true) + res[14] = "LocalBlksWritten: " + reform.Inspect(s.LocalBlksWritten, true) + res[15] = "TempBlksRead: " + reform.Inspect(s.TempBlksRead, true) + res[16] = "TempBlksWritten: " + reform.Inspect(s.TempBlksWritten, true) + res[17] = "SharedBlkReadTime: " + reform.Inspect(s.SharedBlkReadTime, true) + res[18] = "SharedBlkWriteTime: " + reform.Inspect(s.SharedBlkWriteTime, true) + return strings.Join(res, ", ") +} + +var ( + // Check interfaces. + _ reform.Struct = (*pgStatStatements)(nil) + _ fmt.Stringer = (*pgStatStatements)(nil) +) + +// pgStatStatementsExtended contains pgStatStatements data and extends it with database, username and tables data. +// It's made for performance reason. +type pgStatStatementsExtended struct { + pgStatStatements + + Database string + Username string + Tables []string + IsQueryTruncated bool + Comments map[string]string +} + +func (e *pgStatStatementsExtended) String() string { + return fmt.Sprintf("%q %q %v: %d: %s (truncated = %t) %v", + e.Database, e.Username, e.Tables, e.QueryID, e.Query, e.IsQueryTruncated, e.Comments) +} diff --git a/agent/agents/postgres/pgstatstatements/pgstatstatements.go b/agent/agents/postgres/pgstatstatements/pgstatstatements.go index 35b6df8845..61c302de60 100644 --- a/agent/agents/postgres/pgstatstatements/pgstatstatements.go +++ b/agent/agents/postgres/pgstatstatements/pgstatstatements.go @@ -48,7 +48,10 @@ const ( queryStatStatements = time.Minute ) -var pgStatVer18 = semver.MustParse("1.8.0") +var ( + pgStatVer1_8 = semver.MustParse("1.8.0") + pgStatVer1_11 = semver.MustParse("1.11.0") +) type statementsMap map[int64]*pgStatStatementsExtended @@ -127,20 +130,6 @@ func getPgStatVersion(q *reform.Querier) (semver.Version, error) { return semver.Parse(v) } -func rowsByVersion(q *reform.Querier, tail string) (*sql.Rows, error) { - pgStatVersion, err := getPgStatVersion(q) - if err != nil { - return nil, err - } - - columns := strings.Join(q.QualifiedColumns(pgStatStatementsView), ", ") - if pgStatVersion.GE(pgStatVer18) { - columns = strings.Replace(columns, `"total_time"`, `"total_exec_time"`, 1) - } - - return q.Query(fmt.Sprintf("SELECT /* %s */ %s FROM %s %s", queryTag, columns, q.QualifiedView(pgStatStatementsView), tail)) -} - // Run extracts stats data and sends it to the channel until ctx is canceled. func (m *PGStatStatementsQAN) Run(ctx context.Context) { defer func() { @@ -236,15 +225,22 @@ func (m *PGStatStatementsQAN) getStatStatementsExtended( databases := queryDatabases(q) usernames := queryUsernames(q) - rows, err := rowsByVersion(q, "WHERE queryid IS NOT NULL AND query IS NOT NULL") + pgStatVersion, err := getPgStatVersion(q) + if err != nil { + return nil, nil, err + } + + row, view := newPgStatMonitorStructs(pgStatVersion) + columns := strings.Join(q.QualifiedColumns(view), ", ") + + rows, err := q.Query(fmt.Sprintf("SELECT /* %s */ %s FROM %s %s", queryTag, columns, q.QualifiedView(view), "WHERE queryid IS NOT NULL AND query IS NOT NULL")) if err != nil { return nil, nil, errors.Wrap(err, "couldn't get rows from pg_stat_statements") } defer rows.Close() //nolint:errcheck for ctx.Err() == nil { - var row pgStatStatements - if err = q.NextRow(&row, rows); err != nil { + if err = q.NextRow(row, rows); err != nil { if errors.Is(err, reform.ErrNoRows) { err = nil } @@ -252,7 +248,7 @@ func (m *PGStatStatementsQAN) getStatStatementsExtended( } totalN++ c := &pgStatStatementsExtended{ - pgStatStatements: row, + pgStatStatements: *row, Database: databases[row.DBID], Username: usernames[row.UserID], } @@ -372,7 +368,7 @@ func (m *PGStatStatementsQAN) makeBuckets(current, prev statementsMap) []*agentp cnt *float32 // MetricsBucket.XXXCnt field to write count }{ // convert milliseconds to seconds - {float32(currentPSS.TotalTime-prevPSS.TotalTime) / 1000, &mb.Common.MQueryTimeSum, &mb.Common.MQueryTimeCnt}, + {float32(currentPSS.TotalExecTime-prevPSS.TotalExecTime) / 1000, &mb.Common.MQueryTimeSum, &mb.Common.MQueryTimeCnt}, {float32(currentPSS.Rows - prevPSS.Rows), &mb.Postgresql.MRowsSum, &mb.Postgresql.MRowsCnt}, {float32(currentPSS.SharedBlksHit - prevPSS.SharedBlksHit), &mb.Postgresql.MSharedBlksHitSum, &mb.Postgresql.MSharedBlksHitCnt}, @@ -389,8 +385,10 @@ func (m *PGStatStatementsQAN) makeBuckets(current, prev statementsMap) []*agentp {float32(currentPSS.TempBlksWritten - prevPSS.TempBlksWritten), &mb.Postgresql.MTempBlksWrittenSum, &mb.Postgresql.MTempBlksWrittenCnt}, // convert milliseconds to seconds - {float32(currentPSS.BlkReadTime-prevPSS.BlkReadTime) / 1000, &mb.Postgresql.MBlkReadTimeSum, &mb.Postgresql.MBlkReadTimeCnt}, - {float32(currentPSS.BlkWriteTime-prevPSS.BlkWriteTime) / 1000, &mb.Postgresql.MBlkWriteTimeSum, &mb.Postgresql.MBlkWriteTimeCnt}, + {float32(currentPSS.SharedBlkReadTime-prevPSS.SharedBlkReadTime) / 1000, &mb.Postgresql.MSharedBlkReadTimeSum, &mb.Postgresql.MSharedBlkReadTimeCnt}, + {float32(currentPSS.SharedBlkWriteTime-prevPSS.SharedBlkWriteTime) / 1000, &mb.Postgresql.MSharedBlkWriteTimeSum, &mb.Postgresql.MSharedBlkWriteTimeCnt}, + {float32(currentPSS.LocalBlkReadTime-prevPSS.LocalBlkReadTime) / 1000, &mb.Postgresql.MLocalBlkReadTimeSum, &mb.Postgresql.MLocalBlkReadTimeCnt}, + {float32(currentPSS.LocalBlkWriteTime-prevPSS.LocalBlkWriteTime) / 1000, &mb.Postgresql.MLocalBlkWriteTimeSum, &mb.Postgresql.MLocalBlkWriteTimeCnt}, } { if p.value != 0 { *p.sum = p.value diff --git a/agent/agents/postgres/pgstatstatements/pgstatstatements_test.go b/agent/agents/postgres/pgstatstatements/pgstatstatements_test.go index d66cec2d9d..d102b7a488 100644 --- a/agent/agents/postgres/pgstatstatements/pgstatstatements_test.go +++ b/agent/agents/postgres/pgstatstatements/pgstatstatements_test.go @@ -24,7 +24,6 @@ import ( "testing" "time" - "github.com/pkg/errors" "github.com/sirupsen/logrus" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -80,27 +79,13 @@ func TestPGStatStatementsQAN(t *testing.T) { structs, err := db.SelectAllFrom(pgStatDatabaseView, "") require.NoError(t, err) - rows, err := rowsByVersion(db.Querier, "") - require.NoError(t, err) - - defer func() { - e := rows.Close() - if err == nil { - err = e - } - }() + tests.LogTable(t, structs) - for { - str := pgStatStatementsView.NewStruct() - if err = db.Querier.NextRow(str, rows); err != nil { - break - } + pgStatVersion, err := getPgStatVersion(db.Querier) + require.NoError(t, err) - structs = append(structs, str) - } - if errors.Is(err, reform.ErrNoRows) { - err = nil - } + _, view := newPgStatMonitorStructs(pgStatVersion) + structs, err = db.SelectAllFrom(view, "") require.NoError(t, err) tests.LogTable(t, structs) @@ -125,44 +110,68 @@ func TestPGStatStatementsQAN(t *testing.T) { "$321, $322, $323, $324, $325, $326, $327, $328, $329, $330, $331, $332, $333, $334, $335, $336, $337, $338, $339, $340, " + "$341, $342, $343, $3 ..." + // Need to detect vendor because result for mSharedBlksReadSum are different for different images for postgres. + mSharedBlksHitSum := float32(33) + if strings.Contains(os.Getenv("POSTGRES_IMAGE"), "perconalab") { + mSharedBlksHitSum = 32 + } + truncatedMSharedBlksHitSum := mSharedBlksHitSum + engineVersion := tests.PostgreSQLVersion(t, sqlDB) var digests map[string]string // digest_text/fingerprint to digest/query_id switch engineVersion { case "9.4": + truncatedMSharedBlksHitSum = float32(1007) digests = map[string]string{ selectAllCities: "3239586867", selectAllCitiesLong: "2745128652", } case "9.5", "9.6": + truncatedMSharedBlksHitSum = float32(1007) digests = map[string]string{ selectAllCities: "3994135135", selectAllCitiesLong: "2677760328", } case "10": + truncatedMSharedBlksHitSum = float32(1007) digests = map[string]string{ selectAllCities: "2229807896", selectAllCitiesLong: "3454929487", } case "11": + truncatedMSharedBlksHitSum = float32(1007) digests = map[string]string{ selectAllCities: "-4056421706168012289", selectAllCitiesLong: "2233640464962569536", } case "12": + truncatedMSharedBlksHitSum = float32(1007) digests = map[string]string{ selectAllCities: "5627444073676588515", selectAllCitiesLong: "-1605123213815583414", } case "13": + truncatedMSharedBlksHitSum = float32(1007) digests = map[string]string{ selectAllCities: "-32455482996301954", selectAllCitiesLong: "-4813789842463369261", } - case "14": + case "14", "15": digests = map[string]string{ selectAllCities: "5991662752016701281", selectAllCitiesLong: "-3564720362103294944", } + case "16": + digests = map[string]string{ + selectAllCities: "9094455616937907056", + selectAllCitiesLong: "-8264367755446145090", + } + case "17": + truncatedMSharedBlksHitSum = float32(8) + digests = map[string]string{ + selectAllCities: "1563925687573067138", + selectAllCitiesLong: "-3196437048361615995", + } default: t.Log("Unhandled version, assuming dummy digests.") digests = map[string]string{ @@ -171,12 +180,6 @@ func TestPGStatStatementsQAN(t *testing.T) { } } - // Need to detect vendor because result for mSharedBlksReadSum are different for different images for postgres. - mSharedBlksHitSum := float32(33) - if strings.Contains(os.Getenv("POSTGRES_IMAGE"), "perconalab") { - mSharedBlksHitSum = 32 - } - t.Run("AllCities", func(t *testing.T) { m := setup(t, db) @@ -209,19 +212,21 @@ func TestPGStatStatementsQAN(t *testing.T) { MQueryTimeSum: actual.Common.MQueryTimeSum, }, Postgresql: &agentpb.MetricsBucket_PostgreSQL{ - MBlkReadTimeCnt: actual.Postgresql.MBlkReadTimeCnt, - MBlkReadTimeSum: actual.Postgresql.MBlkReadTimeSum, - MSharedBlksReadCnt: actual.Postgresql.MSharedBlksReadCnt, - MSharedBlksReadSum: actual.Postgresql.MSharedBlksReadSum, - MSharedBlksHitCnt: actual.Postgresql.MSharedBlksHitCnt, - MSharedBlksHitSum: actual.Postgresql.MSharedBlksHitSum, - MRowsCnt: 1, - MRowsSum: 4079, + MSharedBlkReadTimeCnt: actual.Postgresql.MSharedBlkReadTimeCnt, + MSharedBlkReadTimeSum: actual.Postgresql.MSharedBlkReadTimeSum, + MLocalBlkReadTimeCnt: actual.Postgresql.MLocalBlkReadTimeCnt, + MLocalBlkReadTimeSum: actual.Postgresql.MLocalBlkReadTimeSum, + MSharedBlksReadCnt: actual.Postgresql.MSharedBlksReadCnt, + MSharedBlksReadSum: actual.Postgresql.MSharedBlksReadSum, + MSharedBlksHitCnt: actual.Postgresql.MSharedBlksHitCnt, + MSharedBlksHitSum: actual.Postgresql.MSharedBlksHitSum, + MRowsCnt: 1, + MRowsSum: 4079, }, } expected.Common.Queryid = digests[expected.Common.Fingerprint] tests.AssertBucketsEqual(t, expected, actual) - assert.LessOrEqual(t, actual.Postgresql.MBlkReadTimeSum, actual.Common.MQueryTimeSum) + assert.LessOrEqual(t, actual.Postgresql.MSharedBlkReadTimeSum, actual.Common.MQueryTimeSum) _, err = db.Exec(selectAllCities) require.NoError(t, err) @@ -250,17 +255,19 @@ func TestPGStatStatementsQAN(t *testing.T) { MQueryTimeSum: actual.Common.MQueryTimeSum, }, Postgresql: &agentpb.MetricsBucket_PostgreSQL{ - MSharedBlksHitCnt: 1, - MSharedBlksHitSum: mSharedBlksHitSum, - MRowsCnt: 1, - MRowsSum: 4079, - MBlkReadTimeCnt: actual.Postgresql.MBlkReadTimeCnt, - MBlkReadTimeSum: actual.Postgresql.MBlkReadTimeSum, + MSharedBlksHitCnt: 1, + MSharedBlksHitSum: mSharedBlksHitSum, + MRowsCnt: 1, + MRowsSum: 4079, + MSharedBlkReadTimeCnt: actual.Postgresql.MSharedBlkReadTimeCnt, + MSharedBlkReadTimeSum: actual.Postgresql.MSharedBlkReadTimeSum, + MLocalBlkReadTimeCnt: actual.Postgresql.MLocalBlkReadTimeCnt, + MLocalBlkReadTimeSum: actual.Postgresql.MLocalBlkReadTimeSum, }, } expected.Common.Queryid = digests[expected.Common.Fingerprint] tests.AssertBucketsEqual(t, expected, actual) - assert.LessOrEqual(t, actual.Postgresql.MBlkReadTimeSum, actual.Common.MQueryTimeSum) + assert.LessOrEqual(t, actual.Postgresql.MSharedBlkReadTimeSum, actual.Common.MQueryTimeSum) }) t.Run("AllCitiesTruncated", func(t *testing.T) { @@ -284,7 +291,7 @@ func TestPGStatStatementsQAN(t *testing.T) { actual := buckets[0] assert.InDelta(t, 0, actual.Common.MQueryTimeSum, 0.09) - assert.InDelta(t, 1010, actual.Postgresql.MSharedBlksHitSum+actual.Postgresql.MSharedBlksReadSum, 3) + assert.InDelta(t, truncatedMSharedBlksHitSum, actual.Postgresql.MSharedBlksHitSum+actual.Postgresql.MSharedBlksReadSum, 3) assert.InDelta(t, 1.5, actual.Postgresql.MSharedBlksHitCnt+actual.Postgresql.MSharedBlksReadCnt, 0.5) expected := &agentpb.MetricsBucket{ Common: &agentpb.MetricsBucket_Common{ @@ -303,19 +310,21 @@ func TestPGStatStatementsQAN(t *testing.T) { MQueryTimeSum: actual.Common.MQueryTimeSum, }, Postgresql: &agentpb.MetricsBucket_PostgreSQL{ - MBlkReadTimeCnt: actual.Postgresql.MBlkReadTimeCnt, - MBlkReadTimeSum: actual.Postgresql.MBlkReadTimeSum, - MSharedBlksReadCnt: actual.Postgresql.MSharedBlksReadCnt, - MSharedBlksReadSum: actual.Postgresql.MSharedBlksReadSum, - MSharedBlksHitCnt: actual.Postgresql.MSharedBlksHitCnt, - MSharedBlksHitSum: actual.Postgresql.MSharedBlksHitSum, - MRowsCnt: 1, - MRowsSum: 499, + MSharedBlkReadTimeCnt: actual.Postgresql.MSharedBlkReadTimeCnt, + MSharedBlkReadTimeSum: actual.Postgresql.MSharedBlkReadTimeSum, + MLocalBlkReadTimeCnt: actual.Postgresql.MLocalBlkReadTimeCnt, + MLocalBlkReadTimeSum: actual.Postgresql.MLocalBlkReadTimeSum, + MSharedBlksReadCnt: actual.Postgresql.MSharedBlksReadCnt, + MSharedBlksReadSum: actual.Postgresql.MSharedBlksReadSum, + MSharedBlksHitCnt: actual.Postgresql.MSharedBlksHitCnt, + MSharedBlksHitSum: actual.Postgresql.MSharedBlksHitSum, + MRowsCnt: 1, + MRowsSum: 499, }, } expected.Common.Queryid = digests[expected.Common.Fingerprint] tests.AssertBucketsEqual(t, expected, actual) - assert.LessOrEqual(t, actual.Postgresql.MBlkReadTimeSum, actual.Common.MQueryTimeSum) + assert.LessOrEqual(t, actual.Postgresql.MSharedBlkReadTimeSum, actual.Common.MQueryTimeSum) _, err = db.Exec(q, args...) require.NoError(t, err) @@ -328,8 +337,8 @@ func TestPGStatStatementsQAN(t *testing.T) { actual = buckets[0] assert.InDelta(t, 0, actual.Common.MQueryTimeSum, 0.09) - assert.InDelta(t, 0, actual.Postgresql.MBlkReadTimeCnt, 1) - assert.InDelta(t, 1007, actual.Postgresql.MSharedBlksHitSum, 2) + assert.InDelta(t, 0, actual.Postgresql.MSharedBlkReadTimeCnt, 1) + assert.InDelta(t, truncatedMSharedBlksHitSum, actual.Postgresql.MSharedBlksHitSum, 2) expected = &agentpb.MetricsBucket{ Common: &agentpb.MetricsBucket_Common{ Fingerprint: selectAllCitiesLong, @@ -347,17 +356,19 @@ func TestPGStatStatementsQAN(t *testing.T) { MQueryTimeSum: actual.Common.MQueryTimeSum, }, Postgresql: &agentpb.MetricsBucket_PostgreSQL{ - MBlkReadTimeCnt: actual.Postgresql.MBlkReadTimeCnt, - MBlkReadTimeSum: actual.Postgresql.MBlkReadTimeSum, - MSharedBlksHitCnt: 1, - MSharedBlksHitSum: actual.Postgresql.MSharedBlksHitSum, - MRowsCnt: 1, - MRowsSum: 499, + MSharedBlkReadTimeCnt: actual.Postgresql.MSharedBlkReadTimeCnt, + MSharedBlkReadTimeSum: actual.Postgresql.MSharedBlkReadTimeSum, + MLocalBlkReadTimeCnt: actual.Postgresql.MLocalBlkReadTimeCnt, + MLocalBlkReadTimeSum: actual.Postgresql.MLocalBlkReadTimeSum, + MSharedBlksHitCnt: 1, + MSharedBlksHitSum: actual.Postgresql.MSharedBlksHitSum, + MRowsCnt: 1, + MRowsSum: 499, }, } expected.Common.Queryid = digests[expected.Common.Fingerprint] tests.AssertBucketsEqual(t, expected, actual) - assert.LessOrEqual(t, actual.Postgresql.MBlkReadTimeSum, actual.Common.MQueryTimeSum) + assert.LessOrEqual(t, actual.Postgresql.MSharedBlkReadTimeSum, actual.Common.MQueryTimeSum) }) t.Run("CheckMBlkReadTime", func(t *testing.T) { @@ -408,7 +419,8 @@ func TestPGStatStatementsQAN(t *testing.T) { fingerprint = fmt.Sprintf(`INSERT /* CheckMBlkReadTime controller='test' */ INTO %s (customer_id, first_name, last_name, active) VALUES ($1, $2, $3, $4)`, tableName) } actual := buckets[0] - assert.NotZero(t, actual.Postgresql.MBlkReadTimeSum) + assert.NotZero(t, actual.Postgresql.MSharedBlkReadTimeSum+actual.Postgresql.MSharedBlkWriteTimeSum) + assert.Equal(t, float32(n), actual.Postgresql.MSharedBlkReadTimeCnt+actual.Postgresql.MSharedBlkWriteTimeCnt) expected := &agentpb.MetricsBucket{ Common: &agentpb.MetricsBucket_Common{ Queryid: actual.Common.Queryid, @@ -426,21 +438,25 @@ func TestPGStatStatementsQAN(t *testing.T) { MQueryTimeSum: actual.Common.MQueryTimeSum, }, Postgresql: &agentpb.MetricsBucket_PostgreSQL{ - MBlkReadTimeCnt: float32(n), - MBlkReadTimeSum: actual.Postgresql.MBlkReadTimeSum, - MSharedBlksReadCnt: actual.Postgresql.MSharedBlksReadCnt, - MSharedBlksReadSum: actual.Postgresql.MSharedBlksReadSum, - MSharedBlksWrittenCnt: actual.Postgresql.MSharedBlksWrittenCnt, - MSharedBlksWrittenSum: actual.Postgresql.MSharedBlksWrittenSum, - MSharedBlksDirtiedCnt: actual.Postgresql.MSharedBlksDirtiedCnt, - MSharedBlksDirtiedSum: actual.Postgresql.MSharedBlksDirtiedSum, - MSharedBlksHitCnt: actual.Postgresql.MSharedBlksHitCnt, - MSharedBlksHitSum: actual.Postgresql.MSharedBlksHitSum, - MRowsCnt: float32(n), - MRowsSum: float32(n), + MSharedBlkReadTimeCnt: actual.Postgresql.MSharedBlkReadTimeCnt, + MSharedBlkReadTimeSum: actual.Postgresql.MSharedBlkReadTimeSum, + MSharedBlkWriteTimeCnt: actual.Postgresql.MSharedBlkWriteTimeCnt, + MSharedBlkWriteTimeSum: actual.Postgresql.MSharedBlkWriteTimeSum, + MLocalBlkReadTimeCnt: actual.Postgresql.MLocalBlkReadTimeCnt, + MLocalBlkReadTimeSum: actual.Postgresql.MLocalBlkReadTimeSum, + MSharedBlksReadCnt: actual.Postgresql.MSharedBlksReadCnt, + MSharedBlksReadSum: actual.Postgresql.MSharedBlksReadSum, + MSharedBlksWrittenCnt: float32(n), + MSharedBlksWrittenSum: actual.Postgresql.MSharedBlksWrittenSum, + MSharedBlksDirtiedCnt: actual.Postgresql.MSharedBlksDirtiedCnt, + MSharedBlksDirtiedSum: actual.Postgresql.MSharedBlksDirtiedSum, + MSharedBlksHitCnt: actual.Postgresql.MSharedBlksHitCnt, + MSharedBlksHitSum: actual.Postgresql.MSharedBlksHitSum, + MRowsCnt: float32(n), + MRowsSum: float32(n), }, } tests.AssertBucketsEqual(t, expected, actual) - assert.LessOrEqual(t, actual.Postgresql.MBlkReadTimeSum, actual.Common.MQueryTimeSum) + assert.LessOrEqual(t, actual.Postgresql.MSharedBlkReadTimeSum, actual.Common.MQueryTimeSum) }) } diff --git a/agent/runner/actions/postgresql_query_show_action_test.go b/agent/runner/actions/postgresql_query_show_action_test.go index 8b0fd5d5f8..b62fdf91f0 100644 --- a/agent/runner/actions/postgresql_query_show_action_test.go +++ b/agent/runner/actions/postgresql_query_show_action_test.go @@ -49,13 +49,13 @@ func TestPostgreSQLQueryShow(t *testing.T) { b, err := a.Run(ctx) require.NoError(t, err) assert.LessOrEqual(t, 22000, len(b)) - assert.LessOrEqual(t, len(b), 33668) + assert.LessOrEqual(t, len(b), 37989) data, err := agentpb.UnmarshalActionQueryResult(b) require.NoError(t, err) t.Log(spew.Sdump(data)) assert.LessOrEqual(t, 200, len(data)) - assert.LessOrEqual(t, len(data), 358) + assert.LessOrEqual(t, len(data), 399) var found int for _, m := range data { diff --git a/api/agentpb/collector.pb.go b/api/agentpb/collector.pb.go index e401b86cd0..ad9f9a31b6 100644 --- a/api/agentpb/collector.pb.go +++ b/api/agentpb/collector.pb.go @@ -1738,14 +1738,20 @@ type MetricsBucket_PostgreSQL struct { MTempBlksReadSum float32 `protobuf:"fixed32,20,opt,name=m_temp_blks_read_sum,json=mTempBlksReadSum,proto3" json:"m_temp_blks_read_sum,omitempty"` MTempBlksWrittenCnt float32 `protobuf:"fixed32,21,opt,name=m_temp_blks_written_cnt,json=mTempBlksWrittenCnt,proto3" json:"m_temp_blks_written_cnt,omitempty"` // Total number of temp blocks written by the statement. - MTempBlksWrittenSum float32 `protobuf:"fixed32,22,opt,name=m_temp_blks_written_sum,json=mTempBlksWrittenSum,proto3" json:"m_temp_blks_written_sum,omitempty"` - MBlkReadTimeCnt float32 `protobuf:"fixed32,23,opt,name=m_blk_read_time_cnt,json=mBlkReadTimeCnt,proto3" json:"m_blk_read_time_cnt,omitempty"` - // Total time the statement spent reading blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). - MBlkReadTimeSum float32 `protobuf:"fixed32,24,opt,name=m_blk_read_time_sum,json=mBlkReadTimeSum,proto3" json:"m_blk_read_time_sum,omitempty"` - MBlkWriteTimeCnt float32 `protobuf:"fixed32,25,opt,name=m_blk_write_time_cnt,json=mBlkWriteTimeCnt,proto3" json:"m_blk_write_time_cnt,omitempty"` - // Total time the statement spent writing blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). - MBlkWriteTimeSum float32 `protobuf:"fixed32,26,opt,name=m_blk_write_time_sum,json=mBlkWriteTimeSum,proto3" json:"m_blk_write_time_sum,omitempty"` - MCpuUserTimeCnt float32 `protobuf:"fixed32,27,opt,name=m_cpu_user_time_cnt,json=mCpuUserTimeCnt,proto3" json:"m_cpu_user_time_cnt,omitempty"` + MTempBlksWrittenSum float32 `protobuf:"fixed32,22,opt,name=m_temp_blks_written_sum,json=mTempBlksWrittenSum,proto3" json:"m_temp_blks_written_sum,omitempty"` + MSharedBlkReadTimeCnt float32 `protobuf:"fixed32,23,opt,name=m_shared_blk_read_time_cnt,json=mSharedBlkReadTimeCnt,proto3" json:"m_shared_blk_read_time_cnt,omitempty"` + // Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + MSharedBlkReadTimeSum float32 `protobuf:"fixed32,24,opt,name=m_shared_blk_read_time_sum,json=mSharedBlkReadTimeSum,proto3" json:"m_shared_blk_read_time_sum,omitempty"` + MSharedBlkWriteTimeCnt float32 `protobuf:"fixed32,25,opt,name=m_shared_blk_write_time_cnt,json=mSharedBlkWriteTimeCnt,proto3" json:"m_shared_blk_write_time_cnt,omitempty"` + // Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + MSharedBlkWriteTimeSum float32 `protobuf:"fixed32,26,opt,name=m_shared_blk_write_time_sum,json=mSharedBlkWriteTimeSum,proto3" json:"m_shared_blk_write_time_sum,omitempty"` + MLocalBlkReadTimeCnt float32 `protobuf:"fixed32,50,opt,name=m_local_blk_read_time_cnt,json=mLocalBlkReadTimeCnt,proto3" json:"m_local_blk_read_time_cnt,omitempty"` + // Total time the statement spent reading local blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + MLocalBlkReadTimeSum float32 `protobuf:"fixed32,51,opt,name=m_local_blk_read_time_sum,json=mLocalBlkReadTimeSum,proto3" json:"m_local_blk_read_time_sum,omitempty"` + MLocalBlkWriteTimeCnt float32 `protobuf:"fixed32,52,opt,name=m_local_blk_write_time_cnt,json=mLocalBlkWriteTimeCnt,proto3" json:"m_local_blk_write_time_cnt,omitempty"` + // Total time the statement spent writing local blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + MLocalBlkWriteTimeSum float32 `protobuf:"fixed32,53,opt,name=m_local_blk_write_time_sum,json=mLocalBlkWriteTimeSum,proto3" json:"m_local_blk_write_time_sum,omitempty"` + MCpuUserTimeCnt float32 `protobuf:"fixed32,27,opt,name=m_cpu_user_time_cnt,json=mCpuUserTimeCnt,proto3" json:"m_cpu_user_time_cnt,omitempty"` // Total time user spent in query. MCpuUserTimeSum float32 `protobuf:"fixed32,28,opt,name=m_cpu_user_time_sum,json=mCpuUserTimeSum,proto3" json:"m_cpu_user_time_sum,omitempty"` MCpuSysTimeCnt float32 `protobuf:"fixed32,29,opt,name=m_cpu_sys_time_cnt,json=mCpuSysTimeCnt,proto3" json:"m_cpu_sys_time_cnt,omitempty"` @@ -1970,30 +1976,58 @@ func (x *MetricsBucket_PostgreSQL) GetMTempBlksWrittenSum() float32 { return 0 } -func (x *MetricsBucket_PostgreSQL) GetMBlkReadTimeCnt() float32 { +func (x *MetricsBucket_PostgreSQL) GetMSharedBlkReadTimeCnt() float32 { if x != nil { - return x.MBlkReadTimeCnt + return x.MSharedBlkReadTimeCnt } return 0 } -func (x *MetricsBucket_PostgreSQL) GetMBlkReadTimeSum() float32 { +func (x *MetricsBucket_PostgreSQL) GetMSharedBlkReadTimeSum() float32 { if x != nil { - return x.MBlkReadTimeSum + return x.MSharedBlkReadTimeSum } return 0 } -func (x *MetricsBucket_PostgreSQL) GetMBlkWriteTimeCnt() float32 { +func (x *MetricsBucket_PostgreSQL) GetMSharedBlkWriteTimeCnt() float32 { if x != nil { - return x.MBlkWriteTimeCnt + return x.MSharedBlkWriteTimeCnt } return 0 } -func (x *MetricsBucket_PostgreSQL) GetMBlkWriteTimeSum() float32 { +func (x *MetricsBucket_PostgreSQL) GetMSharedBlkWriteTimeSum() float32 { if x != nil { - return x.MBlkWriteTimeSum + return x.MSharedBlkWriteTimeSum + } + return 0 +} + +func (x *MetricsBucket_PostgreSQL) GetMLocalBlkReadTimeCnt() float32 { + if x != nil { + return x.MLocalBlkReadTimeCnt + } + return 0 +} + +func (x *MetricsBucket_PostgreSQL) GetMLocalBlkReadTimeSum() float32 { + if x != nil { + return x.MLocalBlkReadTimeSum + } + return 0 +} + +func (x *MetricsBucket_PostgreSQL) GetMLocalBlkWriteTimeCnt() float32 { + if x != nil { + return x.MLocalBlkWriteTimeCnt + } + return 0 +} + +func (x *MetricsBucket_PostgreSQL) GetMLocalBlkWriteTimeSum() float32 { + if x != nil { + return x.MLocalBlkWriteTimeSum } return 0 } @@ -2165,7 +2199,7 @@ var file_agentpb_collector_proto_rawDesc = []byte{ 0x0a, 0x17, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x70, 0x62, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x1a, 0x18, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x70, 0x62, 0x2f, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9e, 0x4d, 0x0a, 0x0d, 0x4d, + 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xba, 0x4f, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, 0x63, 0x6b, @@ -2644,7 +2678,7 @@ var file_agentpb_collector_proto_rawDesc = []byte{ 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x4d, 0x61, 0x78, 0x12, 0x2b, 0x0a, 0x12, 0x6d, 0x5f, 0x64, 0x6f, 0x63, 0x73, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x70, 0x39, 0x39, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6d, 0x44, 0x6f, 0x63, 0x73, 0x53, 0x63, 0x61, 0x6e, - 0x6e, 0x65, 0x64, 0x50, 0x39, 0x39, 0x1a, 0xb2, 0x11, 0x0a, 0x0a, 0x50, 0x6f, 0x73, 0x74, 0x67, + 0x6e, 0x65, 0x64, 0x50, 0x39, 0x39, 0x1a, 0xce, 0x13, 0x0a, 0x0a, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x53, 0x51, 0x4c, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x43, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x73, 0x75, @@ -2715,99 +2749,116 @@ var file_agentpb_collector_proto_rawDesc = []byte{ 0x34, 0x0a, 0x17, 0x6d, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x62, 0x6c, 0x6b, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x6d, 0x54, 0x65, 0x6d, 0x70, 0x42, 0x6c, 0x6b, 0x73, 0x57, 0x72, 0x69, 0x74, 0x74, - 0x65, 0x6e, 0x53, 0x75, 0x6d, 0x12, 0x2c, 0x0a, 0x13, 0x6d, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x72, - 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x17, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x0f, 0x6d, 0x42, 0x6c, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, - 0x43, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x13, 0x6d, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x72, 0x65, 0x61, - 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x18, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x0f, 0x6d, 0x42, 0x6c, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, - 0x6d, 0x12, 0x2e, 0x0a, 0x14, 0x6d, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x10, 0x6d, 0x42, 0x6c, 0x6b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, - 0x74, 0x12, 0x2e, 0x0a, 0x14, 0x6d, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x10, 0x6d, 0x42, 0x6c, 0x6b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, - 0x6d, 0x12, 0x2c, 0x0a, 0x13, 0x6d, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, - 0x6d, 0x43, 0x70, 0x75, 0x55, 0x73, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, - 0x2c, 0x0a, 0x13, 0x6d, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6d, 0x43, - 0x70, 0x75, 0x55, 0x73, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x12, 0x2a, 0x0a, - 0x12, 0x6d, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x73, 0x79, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, - 0x63, 0x6e, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x43, 0x70, 0x75, 0x53, - 0x79, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x12, 0x6d, 0x5f, 0x63, - 0x70, 0x75, 0x5f, 0x73, 0x79, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, - 0x1e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x43, 0x70, 0x75, 0x53, 0x79, 0x73, 0x54, 0x69, - 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6d, 0x64, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x29, 0x0a, 0x11, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x6c, 0x6c, - 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x50, 0x6c, - 0x61, 0x6e, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x53, 0x75, 0x6d, 0x12, 0x29, 0x0a, 0x11, 0x6d, - 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x5f, 0x63, 0x6e, 0x74, - 0x18, 0x20, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x43, 0x61, - 0x6c, 0x6c, 0x73, 0x43, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x11, 0x6d, 0x5f, 0x77, 0x61, 0x6c, 0x5f, - 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x21, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x0e, 0x6d, 0x57, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x53, 0x75, - 0x6d, 0x12, 0x29, 0x0a, 0x11, 0x6d, 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x73, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x57, - 0x61, 0x6c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0d, - 0x6d, 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x66, 0x70, 0x69, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x23, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x0a, 0x6d, 0x57, 0x61, 0x6c, 0x46, 0x70, 0x69, 0x53, 0x75, 0x6d, 0x12, - 0x21, 0x0a, 0x0d, 0x6d, 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x66, 0x70, 0x69, 0x5f, 0x63, 0x6e, 0x74, - 0x18, 0x24, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x6d, 0x57, 0x61, 0x6c, 0x46, 0x70, 0x69, 0x43, - 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0f, 0x6d, 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x25, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x57, 0x61, - 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x12, 0x25, 0x0a, 0x0f, 0x6d, 0x5f, 0x77, - 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x26, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x57, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x43, 0x6e, 0x74, - 0x12, 0x25, 0x0a, 0x0f, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, - 0x73, 0x75, 0x6d, 0x18, 0x27, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x50, 0x6c, 0x61, 0x6e, - 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x12, 0x25, 0x0a, 0x0f, 0x6d, 0x5f, 0x70, 0x6c, 0x61, - 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x0c, 0x6d, 0x50, 0x6c, 0x61, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x25, - 0x0a, 0x0f, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, - 0x6e, 0x18, 0x29, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x50, 0x6c, 0x61, 0x6e, 0x54, 0x69, - 0x6d, 0x65, 0x4d, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x0f, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, - 0x6d, 0x50, 0x6c, 0x61, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x61, 0x78, 0x12, 0x1f, 0x0a, 0x0b, - 0x74, 0x6f, 0x70, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x69, 0x64, 0x18, 0x2c, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x74, 0x6f, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x69, 0x64, 0x12, 0x1b, 0x0a, - 0x09, 0x74, 0x6f, 0x70, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x74, 0x6f, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x2d, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x69, 0x64, 0x18, - 0x2e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x69, 0x64, 0x12, 0x1d, 0x0a, - 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x30, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x3d, 0x0a, 0x0f, - 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, - 0x31, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x48, 0x69, - 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0e, 0x68, 0x69, 0x73, - 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x43, 0x0a, 0x0d, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, - 0x2a, 0x55, 0x0a, 0x0d, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x12, 0x1e, 0x0a, 0x16, 0x45, 0x58, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x46, 0x4f, 0x52, - 0x4d, 0x41, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, - 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x45, 0x58, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x01, 0x1a, 0x02, - 0x08, 0x01, 0x12, 0x13, 0x0a, 0x0b, 0x46, 0x49, 0x4e, 0x47, 0x45, 0x52, 0x50, 0x52, 0x49, 0x4e, - 0x54, 0x10, 0x02, 0x1a, 0x02, 0x08, 0x01, 0x2a, 0x5d, 0x0a, 0x0b, 0x45, 0x78, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x58, 0x41, 0x4d, 0x50, 0x4c, - 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, - 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, - 0x53, 0x4c, 0x4f, 0x57, 0x45, 0x53, 0x54, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x53, - 0x54, 0x45, 0x53, 0x54, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x42, 0x73, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x42, 0x0e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x61, 0x2f, 0x70, 0x6d, 0x6d, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x70, 0x62, 0xa2, 0x02, 0x03, 0x41, 0x58, 0x58, 0xaa, - 0x02, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0xca, 0x02, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0xe2, - 0x02, 0x11, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x65, 0x6e, 0x53, 0x75, 0x6d, 0x12, 0x39, 0x0a, 0x1a, 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x64, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, + 0x63, 0x6e, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x6d, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x64, 0x42, 0x6c, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, 0x74, + 0x12, 0x39, 0x0a, 0x1a, 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6b, + 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x18, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x6d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x42, 0x6c, 0x6b, + 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x12, 0x3b, 0x0a, 0x1b, 0x6d, + 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x16, 0x6d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x42, 0x6c, 0x6b, 0x57, 0x72, 0x69, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x1b, 0x6d, 0x5f, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, 0x6d, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x42, 0x6c, 0x6b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x12, 0x37, 0x0a, 0x19, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, + 0x6e, 0x74, 0x18, 0x32, 0x20, 0x01, 0x28, 0x02, 0x52, 0x14, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, + 0x42, 0x6c, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x37, + 0x0a, 0x19, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x72, 0x65, + 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x33, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x14, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x6c, 0x6b, 0x52, 0x65, 0x61, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x12, 0x39, 0x0a, 0x1a, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x34, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x6d, 0x4c, 0x6f, + 0x63, 0x61, 0x6c, 0x42, 0x6c, 0x6b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x43, + 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x1a, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x6c, + 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, + 0x18, 0x35, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x6c, + 0x6b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x12, 0x2c, 0x0a, + 0x13, 0x6d, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6d, 0x43, 0x70, 0x75, + 0x55, 0x73, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x13, 0x6d, + 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, + 0x75, 0x6d, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6d, 0x43, 0x70, 0x75, 0x55, 0x73, + 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x12, 0x2a, 0x0a, 0x12, 0x6d, 0x5f, 0x63, + 0x70, 0x75, 0x5f, 0x73, 0x79, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, + 0x1d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x43, 0x70, 0x75, 0x53, 0x79, 0x73, 0x54, 0x69, + 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x12, 0x6d, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x73, + 0x79, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x1e, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x0e, 0x6d, 0x43, 0x70, 0x75, 0x53, 0x79, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, + 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6d, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x2b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x11, + 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x5f, 0x73, 0x75, + 0x6d, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x43, + 0x61, 0x6c, 0x6c, 0x73, 0x53, 0x75, 0x6d, 0x12, 0x29, 0x0a, 0x11, 0x6d, 0x5f, 0x70, 0x6c, 0x61, + 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x20, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x43, + 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x11, 0x6d, 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x21, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, + 0x57, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x53, 0x75, 0x6d, 0x12, 0x29, 0x0a, + 0x11, 0x6d, 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x5f, 0x63, + 0x6e, 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x57, 0x61, 0x6c, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0d, 0x6d, 0x5f, 0x77, 0x61, + 0x6c, 0x5f, 0x66, 0x70, 0x69, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x23, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x0a, 0x6d, 0x57, 0x61, 0x6c, 0x46, 0x70, 0x69, 0x53, 0x75, 0x6d, 0x12, 0x21, 0x0a, 0x0d, 0x6d, + 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x66, 0x70, 0x69, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x24, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x0a, 0x6d, 0x57, 0x61, 0x6c, 0x46, 0x70, 0x69, 0x43, 0x6e, 0x74, 0x12, 0x25, + 0x0a, 0x0f, 0x6d, 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x73, 0x75, + 0x6d, 0x18, 0x25, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x57, 0x61, 0x6c, 0x42, 0x79, 0x74, + 0x65, 0x73, 0x53, 0x75, 0x6d, 0x12, 0x25, 0x0a, 0x0f, 0x6d, 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x26, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, + 0x6d, 0x57, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x43, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0f, + 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, + 0x27, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x50, 0x6c, 0x61, 0x6e, 0x54, 0x69, 0x6d, 0x65, + 0x53, 0x75, 0x6d, 0x12, 0x25, 0x0a, 0x0f, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x50, + 0x6c, 0x61, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0f, 0x6d, 0x5f, + 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x29, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x50, 0x6c, 0x61, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x69, + 0x6e, 0x12, 0x25, 0x0a, 0x0f, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x50, 0x6c, 0x61, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x61, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x70, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x69, 0x64, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, + 0x6f, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x70, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, + 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x69, 0x64, 0x18, 0x2e, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x30, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x3d, 0x0a, 0x0f, 0x68, 0x69, 0x73, 0x74, + 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x31, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, + 0x72, 0x61, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0e, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, + 0x61, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x43, 0x0a, 0x0d, 0x48, 0x69, 0x73, 0x74, 0x6f, + 0x67, 0x72, 0x61, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x2a, 0x55, 0x0a, 0x0d, + 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1e, 0x0a, + 0x16, 0x45, 0x58, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, + 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0f, 0x0a, + 0x07, 0x45, 0x58, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x01, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x13, + 0x0a, 0x0b, 0x46, 0x49, 0x4e, 0x47, 0x45, 0x52, 0x50, 0x52, 0x49, 0x4e, 0x54, 0x10, 0x02, 0x1a, + 0x02, 0x08, 0x01, 0x2a, 0x5d, 0x0a, 0x0b, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x58, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, + 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x4c, 0x4f, 0x57, + 0x45, 0x53, 0x54, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x53, 0x54, 0x45, 0x53, 0x54, + 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x10, 0x04, 0x42, 0x73, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x42, + 0x0e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x65, + 0x72, 0x63, 0x6f, 0x6e, 0x61, 0x2f, 0x70, 0x6d, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x67, + 0x65, 0x6e, 0x74, 0x70, 0x62, 0xa2, 0x02, 0x03, 0x41, 0x58, 0x58, 0xaa, 0x02, 0x05, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0xca, 0x02, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0xe2, 0x02, 0x11, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/agentpb/collector.pb.validate.go b/api/agentpb/collector.pb.validate.go index c7d33c5c44..b494b361d6 100644 --- a/api/agentpb/collector.pb.validate.go +++ b/api/agentpb/collector.pb.validate.go @@ -1043,13 +1043,21 @@ func (m *MetricsBucket_PostgreSQL) validate(all bool) error { // no validation rules for MTempBlksWrittenSum - // no validation rules for MBlkReadTimeCnt + // no validation rules for MSharedBlkReadTimeCnt - // no validation rules for MBlkReadTimeSum + // no validation rules for MSharedBlkReadTimeSum - // no validation rules for MBlkWriteTimeCnt + // no validation rules for MSharedBlkWriteTimeCnt - // no validation rules for MBlkWriteTimeSum + // no validation rules for MSharedBlkWriteTimeSum + + // no validation rules for MLocalBlkReadTimeCnt + + // no validation rules for MLocalBlkReadTimeSum + + // no validation rules for MLocalBlkWriteTimeCnt + + // no validation rules for MLocalBlkWriteTimeSum // no validation rules for MCpuUserTimeCnt diff --git a/api/agentpb/collector.proto b/api/agentpb/collector.proto index 49803abcbc..6de1717f26 100644 --- a/api/agentpb/collector.proto +++ b/api/agentpb/collector.proto @@ -307,12 +307,18 @@ message MetricsBucket { float m_temp_blks_written_cnt = 21; // Total number of temp blocks written by the statement. float m_temp_blks_written_sum = 22; - float m_blk_read_time_cnt = 23; - // Total time the statement spent reading blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). - float m_blk_read_time_sum = 24; - float m_blk_write_time_cnt = 25; - // Total time the statement spent writing blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). - float m_blk_write_time_sum = 26; + float m_shared_blk_read_time_cnt = 23; + // Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + float m_shared_blk_read_time_sum = 24; + float m_shared_blk_write_time_cnt = 25; + // Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + float m_shared_blk_write_time_sum = 26; + float m_local_blk_read_time_cnt = 50; + // Total time the statement spent reading local blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + float m_local_blk_read_time_sum = 51; + float m_local_blk_write_time_cnt = 52; + // Total time the statement spent writing local blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + float m_local_blk_write_time_sum = 53; float m_cpu_user_time_cnt = 27; // Total time user spent in query. float m_cpu_user_time_sum = 28; diff --git a/api/qanpb/collector.pb.go b/api/qanpb/collector.pb.go index e89b0abc4f..0d62c9fc0d 100644 --- a/api/qanpb/collector.pb.go +++ b/api/qanpb/collector.pb.go @@ -364,13 +364,31 @@ type MetricsBucket struct { MTempBlksWrittenCnt float32 `protobuf:"fixed32,218,opt,name=m_temp_blks_written_cnt,json=mTempBlksWrittenCnt,proto3" json:"m_temp_blks_written_cnt,omitempty"` // Total number of temp blocks written by the statement. MTempBlksWrittenSum float32 `protobuf:"fixed32,219,opt,name=m_temp_blks_written_sum,json=mTempBlksWrittenSum,proto3" json:"m_temp_blks_written_sum,omitempty"` - MBlkReadTimeCnt float32 `protobuf:"fixed32,220,opt,name=m_blk_read_time_cnt,json=mBlkReadTimeCnt,proto3" json:"m_blk_read_time_cnt,omitempty"` + // Deprecated: Marked as deprecated in qanpb/collector.proto. + MBlkReadTimeCnt float32 `protobuf:"fixed32,220,opt,name=m_blk_read_time_cnt,json=mBlkReadTimeCnt,proto3" json:"m_blk_read_time_cnt,omitempty"` // Total time the statement spent reading blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). - MBlkReadTimeSum float32 `protobuf:"fixed32,221,opt,name=m_blk_read_time_sum,json=mBlkReadTimeSum,proto3" json:"m_blk_read_time_sum,omitempty"` + // + // Deprecated: Marked as deprecated in qanpb/collector.proto. + MBlkReadTimeSum float32 `protobuf:"fixed32,221,opt,name=m_blk_read_time_sum,json=mBlkReadTimeSum,proto3" json:"m_blk_read_time_sum,omitempty"` + // Deprecated: Marked as deprecated in qanpb/collector.proto. MBlkWriteTimeCnt float32 `protobuf:"fixed32,222,opt,name=m_blk_write_time_cnt,json=mBlkWriteTimeCnt,proto3" json:"m_blk_write_time_cnt,omitempty"` // Total time the statement spent writing blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). - MBlkWriteTimeSum float32 `protobuf:"fixed32,223,opt,name=m_blk_write_time_sum,json=mBlkWriteTimeSum,proto3" json:"m_blk_write_time_sum,omitempty"` - MCpuUserTimeCnt float32 `protobuf:"fixed32,230,opt,name=m_cpu_user_time_cnt,json=mCpuUserTimeCnt,proto3" json:"m_cpu_user_time_cnt,omitempty"` + // + // Deprecated: Marked as deprecated in qanpb/collector.proto. + MBlkWriteTimeSum float32 `protobuf:"fixed32,223,opt,name=m_blk_write_time_sum,json=mBlkWriteTimeSum,proto3" json:"m_blk_write_time_sum,omitempty"` + MSharedBlkReadTimeCnt float32 `protobuf:"fixed32,255,opt,name=m_shared_blk_read_time_cnt,json=mSharedBlkReadTimeCnt,proto3" json:"m_shared_blk_read_time_cnt,omitempty"` + // Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + MSharedBlkReadTimeSum float32 `protobuf:"fixed32,256,opt,name=m_shared_blk_read_time_sum,json=mSharedBlkReadTimeSum,proto3" json:"m_shared_blk_read_time_sum,omitempty"` + MSharedBlkWriteTimeCnt float32 `protobuf:"fixed32,257,opt,name=m_shared_blk_write_time_cnt,json=mSharedBlkWriteTimeCnt,proto3" json:"m_shared_blk_write_time_cnt,omitempty"` + // Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + MSharedBlkWriteTimeSum float32 `protobuf:"fixed32,258,opt,name=m_shared_blk_write_time_sum,json=mSharedBlkWriteTimeSum,proto3" json:"m_shared_blk_write_time_sum,omitempty"` + MLocalBlkReadTimeCnt float32 `protobuf:"fixed32,259,opt,name=m_local_blk_read_time_cnt,json=mLocalBlkReadTimeCnt,proto3" json:"m_local_blk_read_time_cnt,omitempty"` + // Total time the statement spent reading local blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + MLocalBlkReadTimeSum float32 `protobuf:"fixed32,260,opt,name=m_local_blk_read_time_sum,json=mLocalBlkReadTimeSum,proto3" json:"m_local_blk_read_time_sum,omitempty"` + MLocalBlkWriteTimeCnt float32 `protobuf:"fixed32,261,opt,name=m_local_blk_write_time_cnt,json=mLocalBlkWriteTimeCnt,proto3" json:"m_local_blk_write_time_cnt,omitempty"` + // Total time the statement spent writing local blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + MLocalBlkWriteTimeSum float32 `protobuf:"fixed32,262,opt,name=m_local_blk_write_time_sum,json=mLocalBlkWriteTimeSum,proto3" json:"m_local_blk_write_time_sum,omitempty"` + MCpuUserTimeCnt float32 `protobuf:"fixed32,230,opt,name=m_cpu_user_time_cnt,json=mCpuUserTimeCnt,proto3" json:"m_cpu_user_time_cnt,omitempty"` // Total time user spent in query. MCpuUserTimeSum float32 `protobuf:"fixed32,231,opt,name=m_cpu_user_time_sum,json=mCpuUserTimeSum,proto3" json:"m_cpu_user_time_sum,omitempty"` MCpuSysTimeCnt float32 `protobuf:"fixed32,232,opt,name=m_cpu_sys_time_cnt,json=mCpuSysTimeCnt,proto3" json:"m_cpu_sys_time_cnt,omitempty"` @@ -1800,6 +1818,7 @@ func (x *MetricsBucket) GetMTempBlksWrittenSum() float32 { return 0 } +// Deprecated: Marked as deprecated in qanpb/collector.proto. func (x *MetricsBucket) GetMBlkReadTimeCnt() float32 { if x != nil { return x.MBlkReadTimeCnt @@ -1807,6 +1826,7 @@ func (x *MetricsBucket) GetMBlkReadTimeCnt() float32 { return 0 } +// Deprecated: Marked as deprecated in qanpb/collector.proto. func (x *MetricsBucket) GetMBlkReadTimeSum() float32 { if x != nil { return x.MBlkReadTimeSum @@ -1814,6 +1834,7 @@ func (x *MetricsBucket) GetMBlkReadTimeSum() float32 { return 0 } +// Deprecated: Marked as deprecated in qanpb/collector.proto. func (x *MetricsBucket) GetMBlkWriteTimeCnt() float32 { if x != nil { return x.MBlkWriteTimeCnt @@ -1821,6 +1842,7 @@ func (x *MetricsBucket) GetMBlkWriteTimeCnt() float32 { return 0 } +// Deprecated: Marked as deprecated in qanpb/collector.proto. func (x *MetricsBucket) GetMBlkWriteTimeSum() float32 { if x != nil { return x.MBlkWriteTimeSum @@ -1828,6 +1850,62 @@ func (x *MetricsBucket) GetMBlkWriteTimeSum() float32 { return 0 } +func (x *MetricsBucket) GetMSharedBlkReadTimeCnt() float32 { + if x != nil { + return x.MSharedBlkReadTimeCnt + } + return 0 +} + +func (x *MetricsBucket) GetMSharedBlkReadTimeSum() float32 { + if x != nil { + return x.MSharedBlkReadTimeSum + } + return 0 +} + +func (x *MetricsBucket) GetMSharedBlkWriteTimeCnt() float32 { + if x != nil { + return x.MSharedBlkWriteTimeCnt + } + return 0 +} + +func (x *MetricsBucket) GetMSharedBlkWriteTimeSum() float32 { + if x != nil { + return x.MSharedBlkWriteTimeSum + } + return 0 +} + +func (x *MetricsBucket) GetMLocalBlkReadTimeCnt() float32 { + if x != nil { + return x.MLocalBlkReadTimeCnt + } + return 0 +} + +func (x *MetricsBucket) GetMLocalBlkReadTimeSum() float32 { + if x != nil { + return x.MLocalBlkReadTimeSum + } + return 0 +} + +func (x *MetricsBucket) GetMLocalBlkWriteTimeCnt() float32 { + if x != nil { + return x.MLocalBlkWriteTimeCnt + } + return 0 +} + +func (x *MetricsBucket) GetMLocalBlkWriteTimeSum() float32 { + if x != nil { + return x.MLocalBlkWriteTimeSum + } + return 0 +} + func (x *MetricsBucket) GetMCpuUserTimeCnt() float32 { if x != nil { return x.MCpuUserTimeCnt @@ -2038,7 +2116,7 @@ var file_qanpb_collector_proto_rawDesc = []byte{ 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x71, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, - 0x63, 0x6b, 0x65, 0x74, 0x22, 0x95, 0x50, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x63, 0x6b, 0x65, 0x74, 0x22, 0x85, 0x54, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x79, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x79, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x6e, 0x67, @@ -2599,18 +2677,49 @@ var file_qanpb_collector_proto_rawDesc = []byte{ 0x74, 0x74, 0x65, 0x6e, 0x43, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x17, 0x6d, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x62, 0x6c, 0x6b, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0xdb, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x6d, 0x54, 0x65, 0x6d, 0x70, - 0x42, 0x6c, 0x6b, 0x73, 0x57, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x53, 0x75, 0x6d, 0x12, 0x2d, + 0x42, 0x6c, 0x6b, 0x73, 0x57, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x53, 0x75, 0x6d, 0x12, 0x31, 0x0a, 0x13, 0x6d, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0xdc, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6d, 0x42, - 0x6c, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x2d, 0x0a, - 0x13, 0x6d, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x5f, 0x73, 0x75, 0x6d, 0x18, 0xdd, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6d, 0x42, 0x6c, - 0x6b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x12, 0x2f, 0x0a, 0x14, - 0x6d, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x5f, 0x63, 0x6e, 0x74, 0x18, 0xde, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6d, 0x42, 0x6c, - 0x6b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x2f, 0x0a, - 0x14, 0x6d, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0xdf, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6d, 0x42, + 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0xdc, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, + 0x52, 0x0f, 0x6d, 0x42, 0x6c, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, + 0x74, 0x12, 0x31, 0x0a, 0x13, 0x6d, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0xdd, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, + 0x02, 0x18, 0x01, 0x52, 0x0f, 0x6d, 0x42, 0x6c, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x53, 0x75, 0x6d, 0x12, 0x33, 0x0a, 0x14, 0x6d, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0xde, 0x01, 0x20, + 0x01, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x6d, 0x42, 0x6c, 0x6b, 0x57, 0x72, 0x69, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x14, 0x6d, 0x5f, 0x62, + 0x6c, 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, + 0x6d, 0x18, 0xdf, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x6d, 0x42, + 0x6c, 0x6b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x12, 0x3a, + 0x0a, 0x1a, 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x72, + 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0xff, 0x01, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x15, 0x6d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x42, 0x6c, 0x6b, 0x52, + 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x1a, 0x6d, 0x5f, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x80, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x15, 0x6d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x42, 0x6c, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x54, + 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x12, 0x3c, 0x0a, 0x1b, 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x81, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, 0x6d, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x64, 0x42, 0x6c, 0x6b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x43, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x1b, 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, + 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, + 0x73, 0x75, 0x6d, 0x18, 0x82, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, 0x6d, 0x53, 0x68, 0x61, + 0x72, 0x65, 0x64, 0x42, 0x6c, 0x6b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, + 0x75, 0x6d, 0x12, 0x38, 0x0a, 0x19, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x6c, + 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, + 0x83, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x14, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x6c, + 0x6b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x19, + 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x64, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x84, 0x02, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x14, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x6c, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x54, + 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x12, 0x3a, 0x0a, 0x1a, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x85, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x6d, 0x4c, 0x6f, + 0x63, 0x61, 0x6c, 0x42, 0x6c, 0x6b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x43, + 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x1a, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x6c, + 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, + 0x18, 0x86, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x6c, 0x6b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x12, 0x2d, 0x0a, 0x13, 0x6d, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0xe6, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6d, 0x43, diff --git a/api/qanpb/collector.pb.validate.go b/api/qanpb/collector.pb.validate.go index 4a86009d50..596d00a9bf 100644 --- a/api/qanpb/collector.pb.validate.go +++ b/api/qanpb/collector.pb.validate.go @@ -589,6 +589,22 @@ func (m *MetricsBucket) validate(all bool) error { // no validation rules for MBlkWriteTimeSum + // no validation rules for MSharedBlkReadTimeCnt + + // no validation rules for MSharedBlkReadTimeSum + + // no validation rules for MSharedBlkWriteTimeCnt + + // no validation rules for MSharedBlkWriteTimeSum + + // no validation rules for MLocalBlkReadTimeCnt + + // no validation rules for MLocalBlkReadTimeSum + + // no validation rules for MLocalBlkWriteTimeCnt + + // no validation rules for MLocalBlkWriteTimeSum + // no validation rules for MCpuUserTimeCnt // no validation rules for MCpuUserTimeSum diff --git a/api/qanpb/collector.proto b/api/qanpb/collector.proto index 3a02b9d478..9b32e07e90 100644 --- a/api/qanpb/collector.proto +++ b/api/qanpb/collector.proto @@ -333,18 +333,31 @@ message MetricsBucket { float m_temp_blks_written_cnt = 218; // Total number of temp blocks written by the statement. float m_temp_blks_written_sum = 219; - float m_blk_read_time_cnt = 220; + float m_blk_read_time_cnt = 220 [deprecated = true]; // Total time the statement spent reading blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). - float m_blk_read_time_sum = 221; - float m_blk_write_time_cnt = 222; + float m_blk_read_time_sum = 221 [deprecated = true]; + float m_blk_write_time_cnt = 222 [deprecated = true]; // Total time the statement spent writing blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). - float m_blk_write_time_sum = 223; + float m_blk_write_time_sum = 223 [deprecated = true]; + float m_shared_blk_read_time_cnt = 255; + // Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + float m_shared_blk_read_time_sum = 256; + float m_shared_blk_write_time_cnt = 257; + // Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + float m_shared_blk_write_time_sum = 258; + float m_local_blk_read_time_cnt = 259; + // Total time the statement spent reading local blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + float m_local_blk_read_time_sum = 260; + float m_local_blk_write_time_cnt = 261; + // Total time the statement spent writing local blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + float m_local_blk_write_time_sum = 262; float m_cpu_user_time_cnt = 230; // Total time user spent in query. float m_cpu_user_time_sum = 231; float m_cpu_sys_time_cnt = 232; // Total time system spent in query. float m_cpu_sys_time_sum = 233; + // Type of SQL command. string cmd_type = 246; // diff --git a/api/qanpb/json/client/object_details/get_metrics_responses.go b/api/qanpb/json/client/object_details/get_metrics_responses.go index 23bcd854fc..4b5d88287a 100644 --- a/api/qanpb/json/client/object_details/get_metrics_responses.go +++ b/api/qanpb/json/client/object_details/get_metrics_responses.go @@ -963,6 +963,18 @@ type GetMetricsOKBodySparklineItems0 struct { // Total time the statement spent writing blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). MBlkWriteTimeSumPerSec float32 `json:"m_blk_write_time_sum_per_sec,omitempty"` + // Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + MSharedBlkReadTimeSumPerSec float32 `json:"m_shared_blk_read_time_sum_per_sec,omitempty"` + + // Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + MSharedBlkWriteTimeSumPerSec float32 `json:"m_shared_blk_write_time_sum_per_sec,omitempty"` + + // Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + MLocalBlkReadTimeSumPerSec float32 `json:"m_local_blk_read_time_sum_per_sec,omitempty"` + + // Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + MLocalBlkWriteTimeSumPerSec float32 `json:"m_local_blk_write_time_sum_per_sec,omitempty"` + // Total time user spent in query. MCPUUserTimeSumPerSec float32 `json:"m_cpu_user_time_sum_per_sec,omitempty"` diff --git a/api/qanpb/json/client/profile/get_report_responses.go b/api/qanpb/json/client/profile/get_report_responses.go index d72cc8a69f..bd3baae1ed 100644 --- a/api/qanpb/json/client/profile/get_report_responses.go +++ b/api/qanpb/json/client/profile/get_report_responses.go @@ -1019,6 +1019,18 @@ type GetReportOKBodyRowsItems0SparklineItems0 struct { // Total time the statement spent writing blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). MBlkWriteTimeSumPerSec float32 `json:"m_blk_write_time_sum_per_sec,omitempty"` + // Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + MSharedBlkReadTimeSumPerSec float32 `json:"m_shared_blk_read_time_sum_per_sec,omitempty"` + + // Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + MSharedBlkWriteTimeSumPerSec float32 `json:"m_shared_blk_write_time_sum_per_sec,omitempty"` + + // Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + MLocalBlkReadTimeSumPerSec float32 `json:"m_local_blk_read_time_sum_per_sec,omitempty"` + + // Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + MLocalBlkWriteTimeSumPerSec float32 `json:"m_local_blk_write_time_sum_per_sec,omitempty"` + // Total time user spent in query. MCPUUserTimeSumPerSec float32 `json:"m_cpu_user_time_sum_per_sec,omitempty"` diff --git a/api/qanpb/json/qanpb.json b/api/qanpb/json/qanpb.json index 08adc4f289..61b0a7b75e 100644 --- a/api/qanpb/json/qanpb.json +++ b/api/qanpb/json/qanpb.json @@ -450,13 +450,13 @@ "description": "Total time system spent in query.", "type": "number", "format": "float", - "x-order": 56 + "x-order": 60 }, "m_cpu_user_time_sum_per_sec": { "description": "Total time user spent in query.", "type": "number", "format": "float", - "x-order": 55 + "x-order": 59 }, "m_docs_returned_sum_per_sec": { "description": "MongoDB metrics.\n\nThe number of returned documents.", @@ -530,6 +530,18 @@ "format": "float", "x-order": 17 }, + "m_local_blk_read_time_sum_per_sec": { + "description": "Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", + "type": "number", + "format": "float", + "x-order": 57 + }, + "m_local_blk_write_time_sum_per_sec": { + "description": "Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", + "type": "number", + "format": "float", + "x-order": 58 + }, "m_local_blks_dirtied_sum_per_sec": { "description": "Total number of local blocks dirtied by the statement.", "type": "number", @@ -582,14 +594,14 @@ "description": "Plan time in per seconds.", "type": "number", "format": "float", - "x-order": 61 + "x-order": 65 }, "m_plans_calls_sum_per_sec": { "description": "Total number of planned calls.", "type": "number", "format": "float", "title": "pg_stat_monitor 0.9 metrics", - "x-order": 57 + "x-order": 61 }, "m_qc_hit_sum_per_sec": { "description": "Boolean metrics:\n- *_sum_per_sec - how many times this matric was true.\n\nQuery Cache hits.", @@ -657,6 +669,18 @@ "format": "float", "x-order": 33 }, + "m_shared_blk_read_time_sum_per_sec": { + "description": "Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", + "type": "number", + "format": "float", + "x-order": 55 + }, + "m_shared_blk_write_time_sum_per_sec": { + "description": "Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", + "type": "number", + "format": "float", + "x-order": 56 + }, "m_shared_blks_dirtied_sum_per_sec": { "description": "Total number of shared blocks dirtied by the statement.", "type": "number", @@ -745,19 +769,19 @@ "description": "Total bytes of WAL (Write-ahead logging) records.", "type": "number", "format": "float", - "x-order": 60 + "x-order": 64 }, "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 + "x-order": 63 }, "m_wal_records_sum_per_sec": { "description": "Total number of WAL (Write-ahead logging) records.", "type": "number", "format": "float", - "x-order": 58 + "x-order": 62 }, "num_queries_per_sec": { "description": "number of queries in bucket.", @@ -1371,13 +1395,13 @@ "description": "Total time system spent in query.", "type": "number", "format": "float", - "x-order": 56 + "x-order": 60 }, "m_cpu_user_time_sum_per_sec": { "description": "Total time user spent in query.", "type": "number", "format": "float", - "x-order": 55 + "x-order": 59 }, "m_docs_returned_sum_per_sec": { "description": "MongoDB metrics.\n\nThe number of returned documents.", @@ -1451,6 +1475,18 @@ "format": "float", "x-order": 17 }, + "m_local_blk_read_time_sum_per_sec": { + "description": "Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", + "type": "number", + "format": "float", + "x-order": 57 + }, + "m_local_blk_write_time_sum_per_sec": { + "description": "Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", + "type": "number", + "format": "float", + "x-order": 58 + }, "m_local_blks_dirtied_sum_per_sec": { "description": "Total number of local blocks dirtied by the statement.", "type": "number", @@ -1503,14 +1539,14 @@ "description": "Plan time in per seconds.", "type": "number", "format": "float", - "x-order": 61 + "x-order": 65 }, "m_plans_calls_sum_per_sec": { "description": "Total number of planned calls.", "type": "number", "format": "float", "title": "pg_stat_monitor 0.9 metrics", - "x-order": 57 + "x-order": 61 }, "m_qc_hit_sum_per_sec": { "description": "Boolean metrics:\n- *_sum_per_sec - how many times this matric was true.\n\nQuery Cache hits.", @@ -1578,6 +1614,18 @@ "format": "float", "x-order": 33 }, + "m_shared_blk_read_time_sum_per_sec": { + "description": "Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", + "type": "number", + "format": "float", + "x-order": 55 + }, + "m_shared_blk_write_time_sum_per_sec": { + "description": "Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", + "type": "number", + "format": "float", + "x-order": 56 + }, "m_shared_blks_dirtied_sum_per_sec": { "description": "Total number of shared blocks dirtied by the statement.", "type": "number", @@ -1666,19 +1714,19 @@ "description": "Total bytes of WAL (Write-ahead logging) records.", "type": "number", "format": "float", - "x-order": 60 + "x-order": 64 }, "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 + "x-order": 63 }, "m_wal_records_sum_per_sec": { "description": "Total number of WAL (Write-ahead logging) records.", "type": "number", "format": "float", - "x-order": 58 + "x-order": 62 }, "num_queries_per_sec": { "description": "number of queries in bucket.", diff --git a/api/qanpb/qan.pb.go b/api/qanpb/qan.pb.go index 6779e3a894..6e9938e5d8 100644 --- a/api/qanpb/qan.pb.go +++ b/api/qanpb/qan.pb.go @@ -253,9 +253,21 @@ type Point struct { // Total number of temp blocks written by the statement. MTempBlksWrittenSumPerSec float32 `protobuf:"fixed32,50,opt,name=m_temp_blks_written_sum_per_sec,json=mTempBlksWrittenSumPerSec,proto3" json:"m_temp_blks_written_sum_per_sec,omitempty"` // Total time the statement spent reading blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + // + // Deprecated: Marked as deprecated in qanpb/qan.proto. MBlkReadTimeSumPerSec float32 `protobuf:"fixed32,51,opt,name=m_blk_read_time_sum_per_sec,json=mBlkReadTimeSumPerSec,proto3" json:"m_blk_read_time_sum_per_sec,omitempty"` // Total time the statement spent writing blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + // + // Deprecated: Marked as deprecated in qanpb/qan.proto. MBlkWriteTimeSumPerSec float32 `protobuf:"fixed32,52,opt,name=m_blk_write_time_sum_per_sec,json=mBlkWriteTimeSumPerSec,proto3" json:"m_blk_write_time_sum_per_sec,omitempty"` + // Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + MSharedBlkReadTimeSumPerSec float32 `protobuf:"fixed32,63,opt,name=m_shared_blk_read_time_sum_per_sec,json=mSharedBlkReadTimeSumPerSec,proto3" json:"m_shared_blk_read_time_sum_per_sec,omitempty"` + // Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + MSharedBlkWriteTimeSumPerSec float32 `protobuf:"fixed32,64,opt,name=m_shared_blk_write_time_sum_per_sec,json=mSharedBlkWriteTimeSumPerSec,proto3" json:"m_shared_blk_write_time_sum_per_sec,omitempty"` + // Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + MLocalBlkReadTimeSumPerSec float32 `protobuf:"fixed32,65,opt,name=m_local_blk_read_time_sum_per_sec,json=mLocalBlkReadTimeSumPerSec,proto3" json:"m_local_blk_read_time_sum_per_sec,omitempty"` + // Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + MLocalBlkWriteTimeSumPerSec float32 `protobuf:"fixed32,66,opt,name=m_local_blk_write_time_sum_per_sec,json=mLocalBlkWriteTimeSumPerSec,proto3" json:"m_local_blk_write_time_sum_per_sec,omitempty"` // Total time user spent in query. MCpuUserTimeSumPerSec float32 `protobuf:"fixed32,56,opt,name=m_cpu_user_time_sum_per_sec,json=mCpuUserTimeSumPerSec,proto3" json:"m_cpu_user_time_sum_per_sec,omitempty"` // Total time system spent in query. @@ -675,6 +687,7 @@ func (x *Point) GetMTempBlksWrittenSumPerSec() float32 { return 0 } +// Deprecated: Marked as deprecated in qanpb/qan.proto. func (x *Point) GetMBlkReadTimeSumPerSec() float32 { if x != nil { return x.MBlkReadTimeSumPerSec @@ -682,6 +695,7 @@ func (x *Point) GetMBlkReadTimeSumPerSec() float32 { return 0 } +// Deprecated: Marked as deprecated in qanpb/qan.proto. func (x *Point) GetMBlkWriteTimeSumPerSec() float32 { if x != nil { return x.MBlkWriteTimeSumPerSec @@ -689,6 +703,34 @@ func (x *Point) GetMBlkWriteTimeSumPerSec() float32 { return 0 } +func (x *Point) GetMSharedBlkReadTimeSumPerSec() float32 { + if x != nil { + return x.MSharedBlkReadTimeSumPerSec + } + return 0 +} + +func (x *Point) GetMSharedBlkWriteTimeSumPerSec() float32 { + if x != nil { + return x.MSharedBlkWriteTimeSumPerSec + } + return 0 +} + +func (x *Point) GetMLocalBlkReadTimeSumPerSec() float32 { + if x != nil { + return x.MLocalBlkReadTimeSumPerSec + } + return 0 +} + +func (x *Point) GetMLocalBlkWriteTimeSumPerSec() float32 { + if x != nil { + return x.MLocalBlkWriteTimeSumPerSec + } + return 0 +} + func (x *Point) GetMCpuUserTimeSumPerSec() float32 { if x != nil { return x.MCpuUserTimeSumPerSec @@ -796,8 +838,8 @@ var File_qanpb_qan_proto protoreflect.FileDescriptor var file_qanpb_qan_proto_rawDesc = []byte{ 0x0a, 0x0f, 0x71, 0x61, 0x6e, 0x70, 0x62, 0x2f, 0x71, 0x61, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x0b, 0x71, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x22, 0xc6, - 0x1c, 0x0a, 0x05, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x69, 0x6e, + 0x6f, 0x12, 0x0b, 0x71, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x22, 0xf2, + 0x1e, 0x0a, 0x05, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, @@ -993,64 +1035,83 @@ var file_qanpb_qan_proto_rawDesc = []byte{ 0x5f, 0x62, 0x6c, 0x6b, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x32, 0x20, 0x01, 0x28, 0x02, 0x52, 0x19, 0x6d, 0x54, 0x65, 0x6d, 0x70, 0x42, 0x6c, 0x6b, 0x73, 0x57, 0x72, 0x69, 0x74, 0x74, 0x65, - 0x6e, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x3a, 0x0a, 0x1b, 0x6d, 0x5f, + 0x6e, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x3e, 0x0a, 0x1b, 0x6d, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, - 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x33, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x15, 0x6d, 0x42, 0x6c, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, - 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x3c, 0x0a, 0x1c, 0x6d, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, - 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x34, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, 0x6d, 0x42, - 0x6c, 0x6b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x50, 0x65, - 0x72, 0x53, 0x65, 0x63, 0x12, 0x3a, 0x0a, 0x1b, 0x6d, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, - 0x73, 0x65, 0x63, 0x18, 0x38, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x6d, 0x43, 0x70, 0x75, 0x55, - 0x73, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, - 0x12, 0x38, 0x0a, 0x1a, 0x6d, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x73, 0x79, 0x73, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x39, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x14, 0x6d, 0x43, 0x70, 0x75, 0x53, 0x79, 0x73, 0x54, 0x69, 0x6d, - 0x65, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x37, 0x0a, 0x19, 0x6d, 0x5f, - 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x5f, - 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x14, 0x6d, - 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, - 0x53, 0x65, 0x63, 0x12, 0x37, 0x0a, 0x19, 0x6d, 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, - 0x18, 0x3b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x14, 0x6d, 0x57, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x73, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x2f, 0x0a, 0x15, - 0x6d, 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x66, 0x70, 0x69, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, - 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6d, 0x57, 0x61, - 0x6c, 0x46, 0x70, 0x69, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x33, 0x0a, - 0x17, 0x6d, 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x73, 0x75, 0x6d, - 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, - 0x6d, 0x57, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, - 0x65, 0x63, 0x12, 0x33, 0x0a, 0x17, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x3e, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x12, 0x6d, 0x50, 0x6c, 0x61, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, - 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x22, 0x37, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x2a, 0x55, 0x0a, 0x0d, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x12, 0x1e, 0x0a, 0x16, 0x45, 0x58, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x46, 0x4f, 0x52, - 0x4d, 0x41, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, - 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x45, 0x58, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x01, 0x1a, 0x02, - 0x08, 0x01, 0x12, 0x13, 0x0a, 0x0b, 0x46, 0x49, 0x4e, 0x47, 0x45, 0x52, 0x50, 0x52, 0x49, 0x4e, - 0x54, 0x10, 0x02, 0x1a, 0x02, 0x08, 0x01, 0x2a, 0x5d, 0x0a, 0x0b, 0x45, 0x78, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x58, 0x41, 0x4d, 0x50, 0x4c, - 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, - 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, - 0x53, 0x4c, 0x4f, 0x57, 0x45, 0x53, 0x54, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x53, - 0x54, 0x45, 0x53, 0x54, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x42, 0x95, 0x01, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x2e, 0x71, - 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x08, 0x51, 0x61, 0x6e, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x61, 0x2f, 0x70, 0x6d, 0x6d, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x71, 0x61, 0x6e, 0x70, 0x62, 0x3b, 0x71, 0x61, 0x6e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x51, 0x58, 0x58, 0xaa, 0x02, 0x0b, 0x51, 0x61, 0x6e, 0x2e, - 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x0b, 0x51, 0x61, 0x6e, 0x5c, 0x56, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x17, 0x51, 0x61, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x0c, 0x51, 0x61, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x33, 0x20, 0x01, 0x28, 0x02, 0x42, + 0x02, 0x18, 0x01, 0x52, 0x15, 0x6d, 0x42, 0x6c, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x40, 0x0a, 0x1c, 0x6d, 0x5f, + 0x62, 0x6c, 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, + 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x34, 0x20, 0x01, 0x28, 0x02, + 0x42, 0x02, 0x18, 0x01, 0x52, 0x16, 0x6d, 0x42, 0x6c, 0x6b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x47, 0x0a, 0x22, + 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x72, 0x65, 0x61, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, + 0x65, 0x63, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1b, 0x6d, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x64, 0x42, 0x6c, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x50, + 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x49, 0x0a, 0x23, 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x64, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x40, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x1c, 0x6d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x42, 0x6c, 0x6b, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, + 0x12, 0x45, 0x0a, 0x21, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, + 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, + 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x41, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1a, 0x6d, 0x4c, 0x6f, + 0x63, 0x61, 0x6c, 0x42, 0x6c, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, + 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x47, 0x0a, 0x22, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x42, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x1b, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x6c, 0x6b, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, + 0x12, 0x3a, 0x0a, 0x1b, 0x6d, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, + 0x38, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x6d, 0x43, 0x70, 0x75, 0x55, 0x73, 0x65, 0x72, 0x54, + 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x38, 0x0a, 0x1a, + 0x6d, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x73, 0x79, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, + 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x39, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x14, 0x6d, 0x43, 0x70, 0x75, 0x53, 0x79, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, + 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x37, 0x0a, 0x19, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x6e, + 0x73, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, + 0x73, 0x65, 0x63, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x14, 0x6d, 0x50, 0x6c, 0x61, 0x6e, + 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, + 0x37, 0x0a, 0x19, 0x6d, 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, + 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x3b, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x14, 0x6d, 0x57, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x53, + 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x2f, 0x0a, 0x15, 0x6d, 0x5f, 0x77, 0x61, + 0x6c, 0x5f, 0x66, 0x70, 0x69, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, + 0x63, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6d, 0x57, 0x61, 0x6c, 0x46, 0x70, 0x69, + 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x33, 0x0a, 0x17, 0x6d, 0x5f, 0x77, + 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, + 0x5f, 0x73, 0x65, 0x63, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x6d, 0x57, 0x61, 0x6c, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x33, + 0x0a, 0x17, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, + 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x12, 0x6d, 0x50, 0x6c, 0x61, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, + 0x53, 0x65, 0x63, 0x22, 0x37, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2a, 0x55, 0x0a, 0x0d, + 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1e, 0x0a, + 0x16, 0x45, 0x58, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, + 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0f, 0x0a, + 0x07, 0x45, 0x58, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x01, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x13, + 0x0a, 0x0b, 0x46, 0x49, 0x4e, 0x47, 0x45, 0x52, 0x50, 0x52, 0x49, 0x4e, 0x54, 0x10, 0x02, 0x1a, + 0x02, 0x08, 0x01, 0x2a, 0x5d, 0x0a, 0x0b, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x58, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, + 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x4c, 0x4f, 0x57, + 0x45, 0x53, 0x54, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x53, 0x54, 0x45, 0x53, 0x54, + 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x10, 0x04, 0x42, 0x95, 0x01, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x2e, 0x71, 0x61, 0x6e, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x08, 0x51, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, + 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x61, 0x2f, 0x70, 0x6d, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x71, + 0x61, 0x6e, 0x70, 0x62, 0x3b, 0x71, 0x61, 0x6e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, + 0x02, 0x03, 0x51, 0x58, 0x58, 0xaa, 0x02, 0x0b, 0x51, 0x61, 0x6e, 0x2e, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0xca, 0x02, 0x0b, 0x51, 0x61, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0xe2, 0x02, 0x17, 0x51, 0x61, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, + 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0c, 0x51, 0x61, + 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( diff --git a/api/qanpb/qan.pb.validate.go b/api/qanpb/qan.pb.validate.go index af061f436d..0955decf9d 100644 --- a/api/qanpb/qan.pb.validate.go +++ b/api/qanpb/qan.pb.validate.go @@ -166,6 +166,14 @@ func (m *Point) validate(all bool) error { // no validation rules for MBlkWriteTimeSumPerSec + // no validation rules for MSharedBlkReadTimeSumPerSec + + // no validation rules for MSharedBlkWriteTimeSumPerSec + + // no validation rules for MLocalBlkReadTimeSumPerSec + + // no validation rules for MLocalBlkWriteTimeSumPerSec + // no validation rules for MCpuUserTimeSumPerSec // no validation rules for MCpuSysTimeSumPerSec diff --git a/api/qanpb/qan.proto b/api/qanpb/qan.proto index 7bbb75dd03..8a3bd64dab 100644 --- a/api/qanpb/qan.proto +++ b/api/qanpb/qan.proto @@ -142,9 +142,17 @@ message Point { // Total number of temp blocks written by the statement. float m_temp_blks_written_sum_per_sec = 50; // Total time the statement spent reading blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). - float m_blk_read_time_sum_per_sec = 51; + float m_blk_read_time_sum_per_sec = 51 [deprecated = true]; // Total time the statement spent writing blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). - float m_blk_write_time_sum_per_sec = 52; + float m_blk_write_time_sum_per_sec = 52 [deprecated = true]; + // Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + float m_shared_blk_read_time_sum_per_sec = 63; + // Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + float m_shared_blk_write_time_sum_per_sec = 64; + // Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + float m_local_blk_read_time_sum_per_sec = 65; + // Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). + float m_local_blk_write_time_sum_per_sec = 66; // Total time user spent in query. float m_cpu_user_time_sum_per_sec = 56; // Total time system spent in query. diff --git a/api/swagger/swagger-dev.json b/api/swagger/swagger-dev.json index ff8fe38d6e..cb544a74eb 100644 --- a/api/swagger/swagger-dev.json +++ b/api/swagger/swagger-dev.json @@ -786,48 +786,72 @@ "format": "float", "x-order": 54 }, + "m_shared_blk_read_time_sum_per_sec": { + "description": "Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", + "type": "number", + "format": "float", + "x-order": 55 + }, + "m_shared_blk_write_time_sum_per_sec": { + "description": "Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", + "type": "number", + "format": "float", + "x-order": 56 + }, + "m_local_blk_read_time_sum_per_sec": { + "description": "Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", + "type": "number", + "format": "float", + "x-order": 57 + }, + "m_local_blk_write_time_sum_per_sec": { + "description": "Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", + "type": "number", + "format": "float", + "x-order": 58 + }, "m_cpu_user_time_sum_per_sec": { "description": "Total time user spent in query.", "type": "number", "format": "float", - "x-order": 55 + "x-order": 59 }, "m_cpu_sys_time_sum_per_sec": { "description": "Total time system spent in query.", "type": "number", "format": "float", - "x-order": 56 + "x-order": 60 }, "m_plans_calls_sum_per_sec": { "description": "Total number of planned calls.", "type": "number", "format": "float", "title": "pg_stat_monitor 0.9 metrics", - "x-order": 57 + "x-order": 61 }, "m_wal_records_sum_per_sec": { "description": "Total number of WAL (Write-ahead logging) records.", "type": "number", "format": "float", - "x-order": 58 + "x-order": 62 }, "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 + "x-order": 63 }, "m_wal_bytes_sum_per_sec": { "description": "Total bytes of WAL (Write-ahead logging) records.", "type": "number", "format": "float", - "x-order": 60 + "x-order": 64 }, "m_plan_time_sum_per_sec": { "description": "Plan time in per seconds.", "type": "number", "format": "float", - "x-order": 61 + "x-order": 65 } } }, @@ -1669,48 +1693,72 @@ "format": "float", "x-order": 54 }, + "m_shared_blk_read_time_sum_per_sec": { + "description": "Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", + "type": "number", + "format": "float", + "x-order": 55 + }, + "m_shared_blk_write_time_sum_per_sec": { + "description": "Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", + "type": "number", + "format": "float", + "x-order": 56 + }, + "m_local_blk_read_time_sum_per_sec": { + "description": "Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", + "type": "number", + "format": "float", + "x-order": 57 + }, + "m_local_blk_write_time_sum_per_sec": { + "description": "Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", + "type": "number", + "format": "float", + "x-order": 58 + }, "m_cpu_user_time_sum_per_sec": { "description": "Total time user spent in query.", "type": "number", "format": "float", - "x-order": 55 + "x-order": 59 }, "m_cpu_sys_time_sum_per_sec": { "description": "Total time system spent in query.", "type": "number", "format": "float", - "x-order": 56 + "x-order": 60 }, "m_plans_calls_sum_per_sec": { "description": "Total number of planned calls.", "type": "number", "format": "float", "title": "pg_stat_monitor 0.9 metrics", - "x-order": 57 + "x-order": 61 }, "m_wal_records_sum_per_sec": { "description": "Total number of WAL (Write-ahead logging) records.", "type": "number", "format": "float", - "x-order": 58 + "x-order": 62 }, "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 + "x-order": 63 }, "m_wal_bytes_sum_per_sec": { "description": "Total bytes of WAL (Write-ahead logging) records.", "type": "number", "format": "float", - "x-order": 60 + "x-order": 64 }, "m_plan_time_sum_per_sec": { "description": "Plan time in per seconds.", "type": "number", "format": "float", - "x-order": 61 + "x-order": 65 } } }, diff --git a/descriptor.bin b/descriptor.bin index 857e9d4320b2ef384099d19ca2eedd06fea50be7..20c48812ffcfbb40c5051d01f345f91e1d731f6c 100644 GIT binary patch delta 7120 zcmaKxd2kg)9>?k5Yv5&uD?>tFUJh~}j~qM_2!s$0_o&@f5wO;>)-?s1S`VTu#C89$ z_PNL*Tb65CmJ?V+Ek#$+QrxwktEDRoA}Ry|fj~k+FcAScBw)#U?S6kV)6$` zoMwcZ8kXI$aB1W1cGvSVJ(k+Ez$wjHeE0mug}2{$XH(-f_cU7x?HU#>zPn*5Vhzm* zHY~fZDHO^PB{csk=z{y2tm#IEO5vdQFTJz5(PeMDr#Y1Fu;aY6G33388>qxTLUZQu zC3GUpscVe%riR7$-nMY@Wu4~4lN>aq=~|Af;l{l24oY&;s;iLzIi)jEI^|`9t#-&% zKj$SwWwbbWaq{Od(S$;v{OuY70d2EU} z5zpYEvPm7sj|6rTJ zVcvalq{RG{eZv_Uv~N8vLwVYg21}eRqdZB-l5dfmV7Ht`wn9H!2<_gYl8DZhZppXN z(9KqId7_*nr+D~By~r!FK0IJqw%>$mDiQrVV2wu zhrJ|X7R^+B$%P2DT9gaX_C!%GMB7;ioRbFi@fApa{cgBSR~SplD;otzOb% zOYXC`oRhcME6!sWX}+r%E%#A4(;r5OCEH16+3%glFm$^Tv}@;f*LcQKOCBIO-oE82 za|(|j7%N4$P^G(7if$bsBi&C{3dsS=%=VK-EZG5x-yi}7DzqX3MMt6{0!0Tas=a

RV0UA_l%>-x;C2A%>b11PVWtQwr>`56EsL+ZsC^{1rWl(e` zD#|U{BUN!C~o zMeqwE%L@viC=OReCmI~7ia=vu(3oV8B}<+n8s|j`EQ(302=){i$*KtU6s4qkC`zY^ zGQD5`D2gLg5$I_enWl4cvfRZhzM}iPMPvquA2`GvR>T$K0?#cvpX z!|@B^mlW^0Xlxsr|HAK#(Z64K&yq!z__t!o(tDflwM_o+AEJvIn-@m&2D0NH{9ycY zgs8X2m}Y*~9100+Wz~kz-PYaExO73|ZPqONTGK3$+{9jDn&~(G+{n9RZ+pqMxM4}- z(uQS?w}oapJGYE0ch=Z2dgfmk`ATHZHOoJ5p+vm$}cwqNxx)DJmu^(KJi82&x>kThm}e17({ATZ;&m zdbVk>wTQ9`WvjL1I)9Lfd*yl2T8I!+qFRX7>G9P zHXYb{5zP1UPY1SMV5b{(usTa_u$v-gWpy2}4H~Nhwm}5*Jgg4b22ogST<2gjEcu+E zVte+Na!###HD`cFo$Boj@Xv{0uE);+|C}f&GUhmZy(Kp?uQpVX>U!X)Qg}V^jT)~9 zzLD`;9DJrFUlf#YKf2zWXOAi~hgHu6jw*%E1pcB3W_j6X0)J6puRGhpXIb(kL51!< zi1Fww;HXmgEZ{GR;CK(81^gv}Poq)?pKZxa_M2s9@ubh?5?ky1zxp$bx?$9v#{LNH`QHWH;Zt_qG8UWS!KL@!8R+*7ii^;@qbj9p?ndw zcg{02)0_o!bmD@^2L@65+p7n$?pRfJWWJdda>y}E`imQ*RrYTXja?ZSnJMV`wksPx11h3}`PEOjh|m0M*VE-g3`-sXkz;T~jE7YG=w#wH?rYqEh?8 zwdVMI_fuTZcHaH$r$XmQgCE`x(X0c_26^S+_@>1iW}jGVhP=;tM&RgRhnr~!6bFeS zcJ4Z4%6DG5f_8ALgH+_4XK<#E(5w^9u6#>+Ngi2eh88LOBgQ)!cawY!x{Js?MG^Ed z@9|I`?q&O!7oje~JHfpYA2Z%X1;zX>-1@{{oz_OFSeU4s8*KUZ0XaM-E8S&i#s!W5bh^Zmtzm(C@Xvqfb7X2Ik(wxC*B+SqbTTiV!ij4g$ZWiP@f>@Dleys3K`J;C1u z?xonv=m|s$IA7Fey;|CZYVEngEM>-I`fbYHV_1?vJa=ke>*1;B3 zD@zAkF7Vf!J6j!Wxj>-|?~XW#@K^lR=!Oq6jJB0<8z!&976bOqU>;$ z*NNMoGOJ^U*n(A{Z*?aQGmf&t4>SI)#t$?8 zt;V|%{!ZiFG3HUB_-^LE(|kAc-)X)F;qNuy!#K(c?_vCVjrTDAJ>yT4GYLl!UlE{; z@LwtCy2j?E@!F@&WDz^U9@MKR>v`xjw?46@j#{cR%zZyfQ%Qp6z8EWrg=L zzA}KXcK3eiWqf5IHRRz(5ndJW@9Cq?ETBU1N10z0NK*cz%&!Xg59g-{ug0Gvh$e(uhi0Jhj}`hM1}30P`9?PuMZ0A54}_WwA_d1O>zNZ2rqfaJ4~ NM*{H!&zkGr|3B3rM8*IB delta 4513 zcmZ{nYiv}<6~{ftgT20EFdo0w>(}nu*ck8&90KOmKtH7lNlBCzH4Pyx9};krP@fPP6HLSLPHIgvE4Pk=49(-P#pvR{#8|7n;{B`^5%r3rgOVh5B2iCtq#WwdU=W zs$gEB4Nhh7N9$kMu*M^6t=#5S&#zm%>NU=;+5p2) zk}^tW^~)kR{$jhlN_3e__<6N2p0-cUoh$woUvxqKIv~o;fon1{t;EW*(q&3&D&?nY z`5}d))+S-4*_i?@<0Q*NuNW~V!zMf`17>cGder=CREDEISpYK5OOd^Uve45;Lv6i2ajG9lz;ar?(yBNC9s4Qa5ah*%F zJjlAi236@g|62yje4+%zK_)6)qEySz&E)H{qN#Ke{v>H7+)D)~RF0nj{5j`vrV9H?9K~|BUfJq0Hh7+?E*76Wc5`r)+knkGO?siqhy@r#-RS=&@Hl40z4~sY5l#!TkIvu*6WL>qEz0f7PtHvxM;m=|P!JkQ9)iZ&g zA(fwKawhOIR9KXl!dY6LB^gQxX2Ajpe`Cyo#aU9hz5*6!sh}`nQKRKKdpX72Pgo5+ zknufg;Bk(Wzb|UwaV~jD)@pg4q`xR?VS$8iQ45Rnq_Puj)WYIC<>n{asM9eyMA9Fm z4jxGO9(C{-B9)i$sDsB41w#psdM$@Z)+Yq@(oSUhi8M}3_UEe}p2Ji$gB3CRb6pS9 zVXCRKGA$`nC`HQ=qFigTHHjne2m@XSdW15vyb$OJ=^PhD@dA-{ivlRZbT724fyrJ7 zGAnOfLj_i6$3#p)C#- zSxYRE=|ZPnrIbu_IU(_zgkKtd>G%ck%ZO)ASO+K3$g`$P zs51JpI6fxSqnV<~G)+Lal`{PH1lMws+wG9YaZ6} zO+nSpQ5mgM#YN@rG(U_dds9?S$EnI|YMz!`&8Y@eXU^8C{L-kang`WZF|Epa%vR0U za+{zk=fHYnwn}T9kLg3oTSD_OecMDJ;^OmxZxa=j)>0d9(sDcFe`!+>n=!_lfFtGM zO~AMNcoXpLj6Y-J3$$zzRBoQwtA1$X4GVxH<>3o}w}?QAJNg3PEdm#ZM{IndmOIV< zIciD6LSQ?6Y$33nB2eaH3xVwv(F&{D#ujP0%S0OSncp&7P0M5tkOLq zWv>vSXToOxgsL{JjcP$`k4Rpxt%98G;jCAL-lF66+A1=f4S_1GTSeAXf4#N|ck^IH z;`@QnvYU05Z=1kJj6Vhl;nXIyv$*q|_1h*wMfUpL@X{Qs=aPBtA@v@;^+ddEt_qgR z8t-yzmakN4Ip4k9)|j;`Rq+D_zS`FD)wZN@#dmMDb^qs9dro-Q+Ww!Y4w?DKx7=&( zeF~Z1-&UpZL(i$F1^t)exYzbC7EyD1hib^)DC~#(2Oh4QDEi=rc+_<6RP|Gw8TbOC zm8r`Cz3r#Che8iUHz9R^}^IVw@a0kIH#DPFL~qlQfb7hw}M@ir^ZDhJ zk1>we!;dk3*~gDDewp#5b`#wwUm+?D&2gKkY*&r3ZgxT1bLnQ6D-*Zd}WP#*Q0=wTeOhxaf(>f=3(kNS8o%40s>8)F^`kMCuE%;$TVAM^P> zl*fI(k8#8v-pBa3kM}V?&Ug#ilhBX)Eux~(?8;d-wq3cliqF)q&q7o#zgJ8s&RL-bd%Oh=E7K z<4-exk1}#x{xlDNkMav$eh}peqUmmVkWVDURw9Po1mCNj;Ro4nf^;Mi!)}5qsw@j9 bCoYxur%+1BQdX+utJ!^u|7oB4^TGcC(bD6N diff --git a/managed/services/qan/client.go b/managed/services/qan/client.go index b84f4b87e8..0ad26286fb 100644 --- a/managed/services/qan/client.go +++ b/managed/services/qan/client.go @@ -541,10 +541,14 @@ func fillPostgreSQL(mb *qanpb.MetricsBucket, bp *agentpb.MetricsBucket_PostgreSQ mb.MTempBlksWrittenCnt = bp.MTempBlksWrittenCnt mb.MTempBlksWrittenSum = bp.MTempBlksWrittenSum - mb.MBlkReadTimeCnt = bp.MBlkReadTimeCnt - mb.MBlkReadTimeSum = bp.MBlkReadTimeSum - mb.MBlkWriteTimeCnt = bp.MBlkWriteTimeCnt - mb.MBlkWriteTimeSum = bp.MBlkWriteTimeSum + mb.MSharedBlkReadTimeCnt = bp.MSharedBlkReadTimeCnt + mb.MSharedBlkReadTimeSum = bp.MSharedBlkReadTimeSum + mb.MSharedBlkWriteTimeCnt = bp.MSharedBlkWriteTimeCnt + mb.MSharedBlkWriteTimeSum = bp.MSharedBlkWriteTimeSum + mb.MLocalBlkReadTimeCnt = bp.MLocalBlkReadTimeCnt + mb.MLocalBlkReadTimeSum = bp.MLocalBlkReadTimeSum + mb.MLocalBlkWriteTimeCnt = bp.MLocalBlkWriteTimeCnt + mb.MLocalBlkWriteTimeSum = bp.MLocalBlkWriteTimeSum mb.MCpuSysTimeCnt = bp.MCpuSysTimeCnt mb.MCpuSysTimeSum = bp.MCpuSysTimeSum diff --git a/managed/services/qan/client_test.go b/managed/services/qan/client_test.go index 700840abd2..d12fbd2f69 100644 --- a/managed/services/qan/client_test.go +++ b/managed/services/qan/client_test.go @@ -301,36 +301,40 @@ func TestClient(t *testing.T) { MQueryTimeSum: 55, }, Postgresql: &agentpb.MetricsBucket_PostgreSQL{ - MRowsCnt: 1, - MRowsSum: 4079, - MSharedBlksHitCnt: 1, - MSharedBlksHitSum: 33, - MSharedBlksReadCnt: 1, - MSharedBlksReadSum: 2, - MSharedBlksDirtiedCnt: 3, - MSharedBlksDirtiedSum: 4, - MSharedBlksWrittenCnt: 5, - MSharedBlksWrittenSum: 6, - MLocalBlksHitCnt: 7, - MLocalBlksHitSum: 8, - MLocalBlksReadCnt: 9, - MLocalBlksReadSum: 10, - MLocalBlksDirtiedCnt: 11, - MLocalBlksDirtiedSum: 12, - MLocalBlksWrittenCnt: 13, - MLocalBlksWrittenSum: 14, - MTempBlksReadCnt: 15, - MTempBlksReadSum: 16, - MTempBlksWrittenCnt: 17, - MTempBlksWrittenSum: 18, - MBlkReadTimeCnt: 19, - MBlkReadTimeSum: 20, - MBlkWriteTimeCnt: 21, - MBlkWriteTimeSum: 22, - MCpuSysTimeCnt: 23, - MCpuSysTimeSum: 24, - MCpuUserTimeCnt: 25, - MCpuUserTimeSum: 26, + MRowsCnt: 1, + MRowsSum: 4079, + MSharedBlksHitCnt: 1, + MSharedBlksHitSum: 33, + MSharedBlksReadCnt: 1, + MSharedBlksReadSum: 2, + MSharedBlksDirtiedCnt: 3, + MSharedBlksDirtiedSum: 4, + MSharedBlksWrittenCnt: 5, + MSharedBlksWrittenSum: 6, + MLocalBlksHitCnt: 7, + MLocalBlksHitSum: 8, + MLocalBlksReadCnt: 9, + MLocalBlksReadSum: 10, + MLocalBlksDirtiedCnt: 11, + MLocalBlksDirtiedSum: 12, + MLocalBlksWrittenCnt: 13, + MLocalBlksWrittenSum: 14, + MTempBlksReadCnt: 15, + MTempBlksReadSum: 16, + MTempBlksWrittenCnt: 17, + MTempBlksWrittenSum: 18, + MSharedBlkReadTimeCnt: 19, + MSharedBlkReadTimeSum: 20, + MSharedBlkWriteTimeCnt: 21, + MSharedBlkWriteTimeSum: 22, + MLocalBlkReadTimeCnt: 23, + MLocalBlkReadTimeSum: 24, + MLocalBlkWriteTimeCnt: 25, + MLocalBlkWriteTimeSum: 26, + MCpuSysTimeCnt: 27, + MCpuSysTimeSum: 28, + MCpuUserTimeCnt: 29, + MCpuUserTimeSum: 30, }, }, } @@ -364,37 +368,41 @@ func TestClient(t *testing.T) { "_service_label": "bar", }, - MRowsSentCnt: 1, - MRowsSentSum: 4079, - MSharedBlksHitCnt: 1, - MSharedBlksHitSum: 33, - MSharedBlksReadCnt: 1, - MSharedBlksReadSum: 2, - MSharedBlksDirtiedCnt: 3, - MSharedBlksDirtiedSum: 4, - MSharedBlksWrittenCnt: 5, - MSharedBlksWrittenSum: 6, - MLocalBlksHitCnt: 7, - MLocalBlksHitSum: 8, - MLocalBlksReadCnt: 9, - MLocalBlksReadSum: 10, - MLocalBlksDirtiedCnt: 11, - MLocalBlksDirtiedSum: 12, - MLocalBlksWrittenCnt: 13, - MLocalBlksWrittenSum: 14, - MTempBlksReadCnt: 15, - MTempBlksReadSum: 16, - MTempBlksWrittenCnt: 17, - MTempBlksWrittenSum: 18, - MBlkReadTimeCnt: 19, - MBlkReadTimeSum: 20, - MBlkWriteTimeCnt: 21, - MBlkWriteTimeSum: 22, - MCpuSysTimeCnt: 23, - MCpuSysTimeSum: 24, - MCpuUserTimeCnt: 25, - MCpuUserTimeSum: 26, - HistogramItems: []string{}, + MRowsSentCnt: 1, + MRowsSentSum: 4079, + MSharedBlksHitCnt: 1, + MSharedBlksHitSum: 33, + MSharedBlksReadCnt: 1, + MSharedBlksReadSum: 2, + MSharedBlksDirtiedCnt: 3, + MSharedBlksDirtiedSum: 4, + MSharedBlksWrittenCnt: 5, + MSharedBlksWrittenSum: 6, + MLocalBlksHitCnt: 7, + MLocalBlksHitSum: 8, + MLocalBlksReadCnt: 9, + MLocalBlksReadSum: 10, + MLocalBlksDirtiedCnt: 11, + MLocalBlksDirtiedSum: 12, + MLocalBlksWrittenCnt: 13, + MLocalBlksWrittenSum: 14, + MTempBlksReadCnt: 15, + MTempBlksReadSum: 16, + MTempBlksWrittenCnt: 17, + MTempBlksWrittenSum: 18, + MSharedBlkReadTimeCnt: 19, + MSharedBlkReadTimeSum: 20, + MSharedBlkWriteTimeCnt: 21, + MSharedBlkWriteTimeSum: 22, + MLocalBlkReadTimeCnt: 23, + MLocalBlkReadTimeSum: 24, + MLocalBlkWriteTimeCnt: 25, + MLocalBlkWriteTimeSum: 26, + MCpuSysTimeCnt: 27, + MCpuSysTimeSum: 28, + MCpuUserTimeCnt: 29, + MCpuUserTimeSum: 30, + HistogramItems: []string{}, }, }} c.AssertCalled(t, "Collect", ctx, expectedRequest) diff --git a/qan-api2/migrations/sql/17_shared_blk_columns.down.sql b/qan-api2/migrations/sql/17_shared_blk_columns.down.sql new file mode 100644 index 0000000000..ed66b42396 --- /dev/null +++ b/qan-api2/migrations/sql/17_shared_blk_columns.down.sql @@ -0,0 +1,11 @@ +ALTER TABLE metrics + DROP COLUMN m_local_blk_read_time_cnt, + DROP COLUMN m_local_blk_read_time_sum, + DROP COLUMN m_local_blk_write_time_cnt, + DROP COLUMN m_local_blk_write_time_sum, + RENAME COLUMN m_shared_blk_read_time_cnt to m_blk_read_time_cnt, + RENAME COLUMN m_shared_blk_read_time_sum to m_blk_read_time_sum, + COMMENT COLUMN m_blk_read_time_sum 'Total time the statement spent reading blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).', + RENAME COLUMN m_shared_blk_write_time_cnt to m_blk_write_time_cnt, + RENAME COLUMN m_shared_blk_write_time_sum to m_blk_write_time_sum, + COMMENT COLUMN m_blk_write_time_sum 'Total time the statement spent writing blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).'; \ No newline at end of file diff --git a/qan-api2/migrations/sql/17_shared_blk_columns.up.sql b/qan-api2/migrations/sql/17_shared_blk_columns.up.sql new file mode 100644 index 0000000000..01a7707f0a --- /dev/null +++ b/qan-api2/migrations/sql/17_shared_blk_columns.up.sql @@ -0,0 +1,11 @@ +ALTER TABLE metrics + RENAME COLUMN m_blk_read_time_cnt to m_shared_blk_read_time_cnt, + RENAME COLUMN m_blk_read_time_sum to m_shared_blk_read_time_sum, + COMMENT COLUMN m_shared_blk_read_time_sum 'Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).', + RENAME COLUMN m_blk_write_time_cnt to m_shared_blk_write_time_cnt, + RENAME COLUMN m_blk_write_time_sum to m_shared_blk_write_time_sum, + COMMENT COLUMN m_shared_blk_write_time_sum 'Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).', + ADD COLUMN m_local_blk_read_time_cnt Float32, + ADD COLUMN m_local_blk_read_time_sum Float32 COMMENT 'Total time the statement spent reading local blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).', + ADD COLUMN m_local_blk_write_time_cnt Float32, + ADD COLUMN m_local_blk_write_time_sum Float32 COMMENT 'Total time the statement spent writing local blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).'; \ No newline at end of file diff --git a/qan-api2/models/base.go b/qan-api2/models/base.go index 45a3493b98..19fae7aa33 100644 --- a/qan-api2/models/base.go +++ b/qan-api2/models/base.go @@ -79,8 +79,10 @@ var sparklinePointAllFields = []string{ "m_local_blks_written_sum_per_sec", "m_temp_blks_read_sum_per_sec", "m_temp_blks_written_sum_per_sec", - "m_blk_read_time_sum_per_sec", - "m_blk_write_time_sum_per_sec", + "m_shared_blk_read_time_sum_per_sec", + "m_shared_blk_write_time_sum_per_sec", + "m_local_blk_read_time_sum_per_sec", + "m_local_blk_write_time_sum_per_sec", "m_cpu_user_time_sum_per_sec", "m_cpu_sys_time_sum_per_sec", "m_plans_calls_sum_per_sec", @@ -145,8 +147,10 @@ func getPointFieldsList(point *qanpb.Point, fields []string) []interface{} { "m_local_blks_written_sum_per_sec": &point.MLocalBlksWrittenSumPerSec, "m_temp_blks_read_sum_per_sec": &point.MTempBlksReadSumPerSec, "m_temp_blks_written_sum_per_sec": &point.MTempBlksWrittenSumPerSec, - "m_blk_read_time_sum_per_sec": &point.MBlkReadTimeSumPerSec, - "m_blk_write_time_sum_per_sec": &point.MBlkWriteTimeSumPerSec, + "m_shared_blk_read_time_sum_per_sec": &point.MSharedBlkReadTimeSumPerSec, + "m_shared_blk_write_time_sum_per_sec": &point.MSharedBlkWriteTimeSumPerSec, + "m_local_blk_read_time_sum_per_sec": &point.MLocalBlkReadTimeSumPerSec, + "m_local_blk_write_time_sum_per_sec": &point.MLocalBlkWriteTimeSumPerSec, "m_cpu_user_time_sum_per_sec": &point.MCpuUserTimeSumPerSec, "m_cpu_sys_time_sum_per_sec": &point.MCpuSysTimeSumPerSec, "m_plans_calls_sum_per_sec": &point.MPlansCallsSumPerSec, @@ -325,10 +329,14 @@ func isValidMetricColumn(name string) bool { "m_temp_blks_read_sum": {}, "m_temp_blks_written_cnt": {}, "m_temp_blks_written_sum": {}, - "m_blk_read_time_cnt": {}, - "m_blk_read_time_sum": {}, - "m_blk_write_time_cnt": {}, - "m_blk_write_time_sum": {}, + "m_shared_blk_read_time_cnt": {}, + "m_shared_blk_read_time_sum": {}, + "m_shared_blk_write_time_cnt": {}, + "m_shared_blk_write_time_sum": {}, + "m_local_blk_read_time_cnt": {}, + "m_local_blk_read_time_sum": {}, + "m_local_blk_write_time_cnt": {}, + "m_local_blk_write_time_sum": {}, "m_cpu_user_time_cnt": {}, "m_cpu_sys_time_cnt": {}, "m_cpu_user_time_sum": {}, diff --git a/qan-api2/models/data_ingestion.go b/qan-api2/models/data_ingestion.go index d530832078..a5552b3a56 100644 --- a/qan-api2/models/data_ingestion.go +++ b/qan-api2/models/data_ingestion.go @@ -237,10 +237,14 @@ const insertSQL = ` m_temp_blks_read_sum, m_temp_blks_written_cnt, m_temp_blks_written_sum, - m_blk_read_time_cnt, - m_blk_read_time_sum, - m_blk_write_time_cnt, - m_blk_write_time_sum, + m_shared_blk_read_time_cnt, + m_shared_blk_read_time_sum, + m_shared_blk_write_time_cnt, + m_shared_blk_write_time_sum, + m_local_blk_read_time_cnt, + m_local_blk_read_time_sum, + m_local_blk_write_time_cnt, + m_local_blk_write_time_sum, m_cpu_user_time_cnt, m_cpu_user_time_sum, m_cpu_sys_time_cnt, @@ -463,10 +467,14 @@ const insertSQL = ` :m_temp_blks_read_sum, :m_temp_blks_written_cnt, :m_temp_blks_written_sum, - :m_blk_read_time_cnt, - :m_blk_read_time_sum, - :m_blk_write_time_cnt, - :m_blk_write_time_sum, + :m_shared_blk_read_time_cnt, + :m_shared_blk_read_time_sum, + :m_shared_blk_write_time_cnt, + :m_shared_blk_write_time_sum, + :m_local_blk_read_time_cnt, + :m_local_blk_read_time_sum, + :m_local_blk_write_time_cnt, + :m_local_blk_write_time_sum, :m_cpu_user_time_cnt, :m_cpu_user_time_sum, :m_cpu_sys_time_cnt, diff --git a/qan-api2/models/metrics.go b/qan-api2/models/metrics.go index 6db8380acf..3932927bc2 100644 --- a/qan-api2/models/metrics.go +++ b/qan-api2/models/metrics.go @@ -290,8 +290,10 @@ SUM(m_local_blks_written_sum) AS m_local_blks_written_sum, SUM(m_temp_blks_read_sum) AS m_temp_blks_read_sum, SUM(m_temp_blks_written_sum) AS m_temp_blks_written_sum, -SUM(m_blk_read_time_sum) AS m_blk_read_time_sum, -SUM(m_blk_write_time_sum) AS m_blk_write_time_sum, +SUM(m_shared_blk_read_time_sum) AS m_shared_blk_read_time_sum, +SUM(m_shared_blk_write_time_sum) AS m_shared_blk_write_time_sum, +SUM(m_local_blk_read_time_sum) AS m_local_blk_read_time_sum, +SUM(m_local_blk_write_time_sum) AS m_local_blk_write_time_sum, SUM(m_cpu_user_time_sum) AS m_cpu_user_time_sum, SUM(m_cpu_sys_time_sum) AS m_cpu_sys_time_sum, @@ -389,8 +391,10 @@ if(SUM(m_local_blks_dirtied_cnt) == 0, NaN, SUM(m_local_blks_dirtied_sum) / time if(SUM(m_local_blks_written_cnt) == 0, NaN, SUM(m_local_blks_written_sum) / time_frame) AS m_local_blks_written_sum_per_sec, if(SUM(m_temp_blks_read_cnt) == 0, NaN, SUM(m_temp_blks_read_sum) / time_frame) AS m_temp_blks_read_sum_per_sec, if(SUM(m_temp_blks_written_cnt) == 0, NaN, SUM(m_temp_blks_written_sum) / time_frame) AS m_temp_blks_written_sum_per_sec, -if(SUM(m_blk_read_time_cnt) == 0, NaN, SUM(m_blk_read_time_sum) / time_frame) AS m_blk_read_time_sum_per_sec, -if(SUM(m_blk_write_time_cnt) == 0, NaN, SUM(m_blk_write_time_sum) / time_frame) AS m_blk_write_time_sum_per_sec, +if(SUM(m_shared_blk_read_time_cnt) == 0, NaN, SUM(m_shared_blk_read_time_sum) / time_frame) AS m_shared_blk_read_time_sum_per_sec, +if(SUM(m_shared_blk_write_time_cnt) == 0, NaN, SUM(m_shared_blk_write_time_sum) / time_frame) AS m_shared_blk_write_time_sum_per_sec, +if(SUM(m_local_blk_read_time_cnt) == 0, NaN, SUM(m_local_blk_read_time_sum) / time_frame) AS m_local_blk_read_time_sum_per_sec, +if(SUM(m_local_blk_write_time_cnt) == 0, NaN, SUM(m_local_blk_write_time_sum) / time_frame) AS m_local_blk_write_time_sum_per_sec, if(SUM(m_cpu_user_time_cnt) == 0, NaN, SUM(m_cpu_user_time_sum) / time_frame) AS m_cpu_user_time_sum_per_sec, if(SUM(m_cpu_sys_time_cnt) == 0, NaN, SUM(m_cpu_sys_time_sum) / time_frame) AS m_cpu_sys_time_sum_per_sec, if(SUM(m_plans_calls_cnt) == 0, NaN, SUM(m_plans_calls_sum) / time_frame) AS m_plans_calls_sum_per_sec, @@ -500,6 +504,11 @@ func (m *Metrics) SelectSparklines(ctx context.Context, periodStartFromSec, peri if err != nil { return nil, errors.Wrap(err, "DimensionReport scan error") } + + // Fill deprecated fields for compatibility + p.MBlkReadTimeSumPerSec = p.MSharedBlksReadSumPerSec + p.MBlkWriteTimeSumPerSec = p.MSharedBlkWriteTimeSumPerSec + resultsWithGaps[p.Point] = &p } diff --git a/qan-api2/services/analytics/base.go b/qan-api2/services/analytics/base.go index 5d91cf5014..184f8626d8 100644 --- a/qan-api2/services/analytics/base.go +++ b/qan-api2/services/analytics/base.go @@ -77,6 +77,10 @@ var sumColumnNames = map[string]struct{}{ "temp_blks_written": {}, "blk_read_time": {}, "blk_write_time": {}, + "shared_blk_read_time": {}, + "shared_blk_write_time": {}, + "local_blk_read_time": {}, + "local_blk_write_time": {}, "cpu_user_time": {}, "cpu_sys_time": {}, "plans_calls": {}, @@ -191,16 +195,20 @@ func isDimension(name string) bool { // isTimeMetric checks if a metric in the time metrics group. func isTimeMetric(name string) bool { timeColumnNames := map[string]struct{}{ - "query_time": {}, - "lock_time": {}, - "innodb_io_r_wait": {}, - "innodb_rec_lock_wait": {}, - "innodb_queue_wait": {}, - "blk_read_time": {}, - "blk_write_time": {}, - "cpu_user_time": {}, - "cpu_sys_time": {}, - "plan_time": {}, + "query_time": {}, + "lock_time": {}, + "innodb_io_r_wait": {}, + "innodb_rec_lock_wait": {}, + "innodb_queue_wait": {}, + "blk_read_time": {}, + "blk_write_time": {}, + "shared_blk_read_time": {}, + "shared_blk_write_time": {}, + "local_blk_read_time": {}, + "local_blk_write_time": {}, + "cpu_user_time": {}, + "cpu_sys_time": {}, + "plan_time": {}, } _, ok := timeColumnNames[name] diff --git a/qan-api2/services/analytics/metrics_names.go b/qan-api2/services/analytics/metrics_names.go index 4f913d80dd..e5090b64b5 100644 --- a/qan-api2/services/analytics/metrics_names.go +++ b/qan-api2/services/analytics/metrics_names.go @@ -23,69 +23,73 @@ import ( // metricsNames is a map of metrics names and keys. var metricsNames = map[string]string{ - "load": "Load", - "count": "Count", - "latency": "Latency", - "query_time": "Query Time", - "lock_time": "Lock Time", - "rows_sent": "Rows Sent", - "rows_examined": "Rows Examined", - "rows_affected": "Rows Affected", - "rows_read": "Rows Read", - "merge_passes": "Merge Passes", - "innodb_io_r_ops": "Innodb IO R Ops", - "innodb_io_r_bytes": "Innodb IO R Bytes", - "innodb_io_r_wait": "Innodb IO R Wait", - "innodb_rec_lock_wait": "Innodb Rec Lock Wait", - "innodb_queue_wait": "Innodb Queue Wait", - "innodb_pages_distinct": "Innodb Pages Distinct", - "query_length": "Query Length", - "bytes_sent": "Bytes Sent", - "tmp_tables": "Tmp Tables", - "tmp_disk_tables": "Tmp Disk Tables", - "tmp_table_sizes": "Tmp Table Sizes", - "qc_hit": "Query Cache Hit", - "full_scan": "Full Scan", - "full_join": "Full Join", - "tmp_table": "Tmp Table", - "tmp_table_on_disk": "Tmp Table on Disk", - "filesort": "Filesort", - "filesort_on_disk": "Filesort on Disk", - "select_full_range_join": "Select Full Range Join", - "select_range": "Select Range", - "select_range_check": "Select Range Check", - "sort_range": "Sort Range", - "sort_rows": "Sort Rows", - "sort_scan": "Sort Scan", - "no_index_used": "No Index Used", - "no_good_index_used": "No Good Index Used", - "docs_returned": "Docs Returned", - "response_length": "Response Length", - "docs_scanned": "Docs Scanned", - "m_shared_blks_hit": "Shared blocks cache hits", - "m_shared_blks_read": "Shared blocks read", - "m_shared_blks_dirtied": "Shared blocks dirtied", - "m_shared_blks_written": "Shared blocks written", - "m_local_blks_hit": "Local blocks cache hits", - "m_local_blks_read": "Local blocks read", - "m_local_blks_dirtied": "Local blocks dirtied", - "m_local_blks_written": "Local blocks written", - "m_temp_blks_read": "Temp blocks read", - "m_temp_blks_written": "Temp blocks written", - "m_blk_read_time": "Time the statement spent reading blocks", - "m_blk_write_time": "Time the statement spent writing blocks", - "m_cpu_user_time": "Total time user spent in query", - "m_cpu_sys_time": "Total time system spent in query", - "m_plans_calls": "Total number of planned calls", - "m_wal_records": "Total number of WAL (Write-ahead logging) records", - "m_wal_fpi": "Total number of FPI (full page images) in WAL (Write-ahead logging) records", - "m_wal_bytes": "Total bytes of WAL (Write-ahead logging) records", - "m_plan_time": "Total plan time spent in query", - "cmd_type": "Type of SQL command used in the query", - "top_queryid": "Top parent query ID", - "top_query": "Top query plain text", - "application_name": "Name provided by pg_stat_monitor", - "planid": "Plan ID for query", + "load": "Load", + "count": "Count", + "latency": "Latency", + "query_time": "Query Time", + "lock_time": "Lock Time", + "rows_sent": "Rows Sent", + "rows_examined": "Rows Examined", + "rows_affected": "Rows Affected", + "rows_read": "Rows Read", + "merge_passes": "Merge Passes", + "innodb_io_r_ops": "Innodb IO R Ops", + "innodb_io_r_bytes": "Innodb IO R Bytes", + "innodb_io_r_wait": "Innodb IO R Wait", + "innodb_rec_lock_wait": "Innodb Rec Lock Wait", + "innodb_queue_wait": "Innodb Queue Wait", + "innodb_pages_distinct": "Innodb Pages Distinct", + "query_length": "Query Length", + "bytes_sent": "Bytes Sent", + "tmp_tables": "Tmp Tables", + "tmp_disk_tables": "Tmp Disk Tables", + "tmp_table_sizes": "Tmp Table Sizes", + "qc_hit": "Query Cache Hit", + "full_scan": "Full Scan", + "full_join": "Full Join", + "tmp_table": "Tmp Table", + "tmp_table_on_disk": "Tmp Table on Disk", + "filesort": "Filesort", + "filesort_on_disk": "Filesort on Disk", + "select_full_range_join": "Select Full Range Join", + "select_range": "Select Range", + "select_range_check": "Select Range Check", + "sort_range": "Sort Range", + "sort_rows": "Sort Rows", + "sort_scan": "Sort Scan", + "no_index_used": "No Index Used", + "no_good_index_used": "No Good Index Used", + "docs_returned": "Docs Returned", + "response_length": "Response Length", + "docs_scanned": "Docs Scanned", + "m_shared_blks_hit": "Shared blocks cache hits", + "m_shared_blks_read": "Shared blocks read", + "m_shared_blks_dirtied": "Shared blocks dirtied", + "m_shared_blks_written": "Shared blocks written", + "m_local_blks_hit": "Local blocks cache hits", + "m_local_blks_read": "Local blocks read", + "m_local_blks_dirtied": "Local blocks dirtied", + "m_local_blks_written": "Local blocks written", + "m_temp_blks_read": "Temp blocks read", + "m_temp_blks_written": "Temp blocks written", + "m_blk_read_time": "Time the statement spent reading blocks [deprecated]", + "m_blk_write_time": "Time the statement spent writing blocks [deprecated]", + "m_shared_blk_read_time": "Time the statement spent reading shared blocks", + "m_shared_blk_write_time": "Time the statement spent writing shared blocks", + "m_local_blk_read_time": "Time the statement spent reading local_blocks", + "m_local_blk_write_time": "Time the statement spent writing local_blocks", + "m_cpu_user_time": "Total time user spent in query", + "m_cpu_sys_time": "Total time system spent in query", + "m_plans_calls": "Total number of planned calls", + "m_wal_records": "Total number of WAL (Write-ahead logging) records", + "m_wal_fpi": "Total number of FPI (full page images) in WAL (Write-ahead logging) records", + "m_wal_bytes": "Total bytes of WAL (Write-ahead logging) records", + "m_plan_time": "Total plan time spent in query", + "cmd_type": "Type of SQL command used in the query", + "top_queryid": "Top parent query ID", + "top_query": "Top query plain text", + "application_name": "Name provided by pg_stat_monitor", + "planid": "Plan ID for query", } // GetMetricsNames implements rpc to get list of available metrics. diff --git a/qan-api2/test_data/GetMetrics_group_by_queryid.json b/qan-api2/test_data/GetMetrics_group_by_queryid.json index c383b330df..3d7856ba32 100644 --- a/qan-api2/test_data/GetMetrics_group_by_queryid.json +++ b/qan-api2/test_data/GetMetrics_group_by_queryid.json @@ -5,6 +5,18 @@ }, "blk_write_time": { + }, + "shared_blk_read_time": { + + }, + "shared_blk_write_time": { + + }, + "local_blk_read_time": { + + }, + "local_blk_write_time": { + }, "bytes_sent": { "rate": 2.1030555, @@ -250,6 +262,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -304,6 +320,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -363,6 +383,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -417,6 +441,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -491,6 +519,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -545,6 +577,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -599,6 +635,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -663,6 +703,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -712,6 +756,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -776,6 +824,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -830,6 +882,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -884,6 +940,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -933,6 +993,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -992,6 +1056,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1046,6 +1114,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1095,6 +1167,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1159,6 +1235,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1208,6 +1288,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1257,6 +1341,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1311,6 +1399,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1360,6 +1452,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1409,6 +1505,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1458,6 +1558,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1522,6 +1626,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1576,6 +1684,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1630,6 +1742,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1699,6 +1815,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1763,6 +1883,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1817,6 +1941,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1866,6 +1994,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1925,6 +2057,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1999,6 +2135,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2053,6 +2193,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2112,6 +2256,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2161,6 +2309,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2215,6 +2367,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2264,6 +2420,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2313,6 +2473,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2362,6 +2526,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2411,6 +2579,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2480,6 +2652,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2534,6 +2710,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2588,6 +2768,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2637,6 +2821,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2686,6 +2874,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2735,6 +2927,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2799,6 +2995,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2853,6 +3053,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2902,6 +3106,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2956,6 +3164,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3005,6 +3217,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3054,6 +3270,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3103,6 +3323,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3157,6 +3381,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3211,6 +3439,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3226,6 +3458,18 @@ }, "blk_write_time": { + }, + "shared_blk_read_time": { + + }, + "shared_blk_write_time": { + + }, + "local_blk_read_time": { + + }, + "local_blk_write_time": { + }, "bytes_sent": { "rate": 593.79974, diff --git a/qan-api2/test_data/GetMetrics_sparklines_90_points.json b/qan-api2/test_data/GetMetrics_sparklines_90_points.json index 91cedf727d..c64546e030 100644 --- a/qan-api2/test_data/GetMetrics_sparklines_90_points.json +++ b/qan-api2/test_data/GetMetrics_sparklines_90_points.json @@ -5,6 +5,18 @@ }, "blk_write_time": { + }, + "shared_blk_read_time": { + + }, + "shared_blk_write_time": { + + }, + "local_blk_read_time": { + + }, + "local_blk_write_time": { + }, "bytes_sent": { "rate": 2.7203703, @@ -255,6 +267,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -309,6 +325,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -463,6 +483,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -547,6 +571,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -616,6 +644,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -670,6 +702,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -769,6 +805,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -823,6 +863,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -897,6 +941,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -961,6 +1009,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1020,6 +1072,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1114,6 +1170,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1203,6 +1263,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1228,6 +1292,18 @@ }, "blk_write_time": { + }, + "shared_blk_read_time": { + + }, + "shared_blk_write_time": { + + }, + "local_blk_read_time": { + + }, + "local_blk_write_time": { + }, "bytes_sent": { "rate": 604.05927, diff --git a/qan-api2/test_data/GetMetrics_total.json b/qan-api2/test_data/GetMetrics_total.json index d144f24dd5..9530cfd8dc 100644 --- a/qan-api2/test_data/GetMetrics_total.json +++ b/qan-api2/test_data/GetMetrics_total.json @@ -49,6 +49,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -103,6 +107,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -157,6 +165,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -211,6 +223,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -265,6 +281,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -319,6 +339,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -373,6 +397,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -427,6 +455,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -481,6 +513,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -535,6 +571,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -589,6 +629,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -643,6 +687,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -697,6 +745,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -751,6 +803,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -805,6 +861,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -859,6 +919,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -913,6 +977,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -967,6 +1035,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1021,6 +1093,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1075,6 +1151,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1129,6 +1209,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1183,6 +1267,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1237,6 +1325,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1291,6 +1383,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1345,6 +1441,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1399,6 +1499,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1453,6 +1557,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1507,6 +1615,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1561,6 +1673,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1615,6 +1731,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1669,6 +1789,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1723,6 +1847,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1777,6 +1905,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1831,6 +1963,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1885,6 +2021,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1939,6 +2079,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -1993,6 +2137,11 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2047,6 +2196,11 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2101,6 +2255,11 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2155,6 +2314,11 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2209,6 +2373,11 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2263,6 +2432,11 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2317,6 +2491,11 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2371,6 +2550,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2425,6 +2608,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2479,6 +2666,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2533,6 +2724,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2587,6 +2782,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2641,6 +2840,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2695,6 +2898,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2749,6 +2956,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2803,6 +3014,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2857,6 +3072,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2911,6 +3130,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -2965,6 +3188,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3019,6 +3246,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3073,6 +3304,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3127,6 +3362,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3181,6 +3420,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3235,6 +3478,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3289,6 +3536,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3343,6 +3594,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3397,6 +3652,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3451,6 +3710,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3505,6 +3768,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3559,6 +3826,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3613,6 +3884,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3667,6 +3942,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3721,6 +4000,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3775,6 +4058,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3829,6 +4116,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3883,6 +4174,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3937,6 +4232,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -3991,6 +4290,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -4045,6 +4348,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -4099,6 +4406,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -4153,6 +4464,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -4207,6 +4522,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -4261,6 +4580,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -4315,6 +4638,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -4369,6 +4696,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -4423,6 +4754,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -4477,6 +4812,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -4531,6 +4870,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -4585,6 +4928,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -4639,6 +4986,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -4693,6 +5044,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -4747,6 +5102,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -4801,6 +5160,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -4855,6 +5218,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -4909,6 +5276,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -4963,6 +5334,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -5017,6 +5392,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -5071,6 +5450,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -5125,6 +5508,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -5179,6 +5566,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -5233,6 +5624,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -5287,6 +5682,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -5341,6 +5740,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -5395,6 +5798,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -5449,6 +5856,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -5503,6 +5914,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -5557,6 +5972,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -5611,6 +6030,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -5665,6 +6088,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -5719,6 +6146,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -5773,6 +6204,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -5827,6 +6262,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -5881,6 +6320,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -5935,6 +6378,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -5989,6 +6436,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -6043,6 +6494,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -6097,6 +6552,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -6151,6 +6610,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -6205,6 +6668,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -6259,6 +6726,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -6313,6 +6784,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -6367,6 +6842,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -6421,6 +6900,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -6475,6 +6958,10 @@ "mTempBlksWrittenSumPerSec": "NaN", "mBlkReadTimeSumPerSec": "NaN", "mBlkWriteTimeSumPerSec": "NaN", + "mSharedBlkReadTimeSumPerSec": "NaN", + "mSharedBlkWriteTimeSumPerSec": "NaN", + "mLocalBlkReadTimeSumPerSec": "NaN", + "mLocalBlkWriteTimeSumPerSec": "NaN", "mCpuUserTimeSumPerSec": "NaN", "mCpuSysTimeSumPerSec": "NaN", "mPlansCallsSumPerSec": "NaN", @@ -6490,6 +6977,18 @@ }, "blk_write_time": { + }, + "shared_blk_read_time": { + + }, + "shared_blk_write_time": { + + }, + "local_blk_read_time": { + + }, + "local_blk_write_time": { + }, "bytes_sent": { "rate": 593.79974, From 2842c7d76d66761a80389688da80e78ef4c87e03 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 21:22:26 +0300 Subject: [PATCH 04/24] Bump eslint-plugin-playwright from 1.6.0 to 1.7.0 in /cli-tests (#3237) Bumps [eslint-plugin-playwright](https://github.com/playwright-community/eslint-plugin-playwright) from 1.6.0 to 1.7.0. - [Release notes](https://github.com/playwright-community/eslint-plugin-playwright/releases) - [Changelog](https://github.com/playwright-community/eslint-plugin-playwright/blob/main/CHANGELOG.md) - [Commits](https://github.com/playwright-community/eslint-plugin-playwright/compare/v1.6.0...v1.7.0) --- updated-dependencies: - dependency-name: eslint-plugin-playwright dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- cli-tests/package-lock.json | 8 ++++---- cli-tests/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cli-tests/package-lock.json b/cli-tests/package-lock.json index 6fa3ad7535..b5284989f6 100644 --- a/cli-tests/package-lock.json +++ b/cli-tests/package-lock.json @@ -26,7 +26,7 @@ "eslint-config-airbnb-base": "^15.0.0", "eslint-config-airbnb-typescript": "^18.0.0", "eslint-plugin-import": "^2.31.0", - "eslint-plugin-playwright": "^1.6.0" + "eslint-plugin-playwright": "^1.7.0" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -1514,9 +1514,9 @@ } }, "node_modules/eslint-plugin-playwright": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-1.6.0.tgz", - "integrity": "sha512-tI1E/EDbHT4Fx5KvukUG3RTIT0gk44gvTP8bNwxLCFsUXVM98ZJG5zWU6Om5JOzH9FrmN4AhMu/UKyEsu0ZoDA==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-1.7.0.tgz", + "integrity": "sha512-pDp2jFeWbBmlwDfZ39Ypdlz1+IafmRKvFTnnonX0TbS7hAByy4oh7Y6ioZRKvLGE+djd/e2VbqOo9sxgZSY2ow==", "dev": true, "dependencies": { "globals": "^13.23.0" diff --git a/cli-tests/package.json b/cli-tests/package.json index 867f774c20..3d8dfbb1e7 100644 --- a/cli-tests/package.json +++ b/cli-tests/package.json @@ -30,6 +30,6 @@ "eslint-config-airbnb-base": "^15.0.0", "eslint-config-airbnb-typescript": "^18.0.0", "eslint-plugin-import": "^2.31.0", - "eslint-plugin-playwright": "^1.6.0" + "eslint-plugin-playwright": "^1.7.0" } } From 1360266000a17faf31434e8f757ddbe80dc223c0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 13:11:57 +0300 Subject: [PATCH 05/24] Bump @typescript-eslint/eslint-plugin from 8.8.0 to 8.9.0 in /cli-tests (#3240) Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 8.8.0 to 8.9.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.9.0/packages/eslint-plugin) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- cli-tests/package-lock.json | 120 ++++++++++++++++++------------------ cli-tests/package.json | 2 +- 2 files changed, 61 insertions(+), 61 deletions(-) diff --git a/cli-tests/package-lock.json b/cli-tests/package-lock.json index b5284989f6..5ef36d02ec 100644 --- a/cli-tests/package-lock.json +++ b/cli-tests/package-lock.json @@ -20,7 +20,7 @@ "devDependencies": { "@types/promise-retry": "^1.1.3", "@types/shelljs": "^0.8.12", - "@typescript-eslint/eslint-plugin": "^8.8.0", + "@typescript-eslint/eslint-plugin": "^8.9.0", "@typescript-eslint/parser": "^7.18.0", "eslint": "8.57", "eslint-config-airbnb-base": "^15.0.0", @@ -257,16 +257,16 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.8.0.tgz", - "integrity": "sha512-wORFWjU30B2WJ/aXBfOm1LX9v9nyt9D3jsSOxC3cCaTQGCW5k4jNpmjFv3U7p/7s4yvdjHzwtv2Sd2dOyhjS0A==", + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.9.0.tgz", + "integrity": "sha512-Y1n621OCy4m7/vTXNlCbMVp87zSd7NH0L9cXD8aIpOaNlzeWxIK4+Q19A68gSmTNRZn92UjocVUWDthGxtqHFg==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.8.0", - "@typescript-eslint/type-utils": "8.8.0", - "@typescript-eslint/utils": "8.8.0", - "@typescript-eslint/visitor-keys": "8.8.0", + "@typescript-eslint/scope-manager": "8.9.0", + "@typescript-eslint/type-utils": "8.9.0", + "@typescript-eslint/utils": "8.9.0", + "@typescript-eslint/visitor-keys": "8.9.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -290,13 +290,13 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.8.0.tgz", - "integrity": "sha512-EL8eaGC6gx3jDd8GwEFEV091210U97J0jeEHrAYvIYosmEGet4wJ+g0SYmLu+oRiAwbSA5AVrt6DxLHfdd+bUg==", + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.9.0.tgz", + "integrity": "sha512-bZu9bUud9ym1cabmOYH9S6TnbWRzpklVmwqICeOulTCZ9ue2/pczWzQvt/cGj2r2o1RdKoZbuEMalJJSYw3pHQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "8.8.0", - "@typescript-eslint/visitor-keys": "8.8.0" + "@typescript-eslint/types": "8.9.0", + "@typescript-eslint/visitor-keys": "8.9.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -307,9 +307,9 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.8.0.tgz", - "integrity": "sha512-QJwc50hRCgBd/k12sTykOJbESe1RrzmX6COk8Y525C9l7oweZ+1lw9JiU56im7Amm8swlz00DRIlxMYLizr2Vw==", + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.9.0.tgz", + "integrity": "sha512-SjgkvdYyt1FAPhU9c6FiYCXrldwYYlIQLkuc+LfAhCna6ggp96ACncdtlbn8FmnG72tUkXclrDExOpEYf1nfJQ==", "dev": true, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -320,12 +320,12 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.8.0.tgz", - "integrity": "sha512-8mq51Lx6Hpmd7HnA2fcHQo3YgfX1qbccxQOgZcb4tvasu//zXRaA1j5ZRFeCw/VRAdFi4mRM9DnZw0Nu0Q2d1g==", + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.9.0.tgz", + "integrity": "sha512-Ht4y38ubk4L5/U8xKUBfKNYGmvKvA1CANoxiTRMM+tOLk3lbF3DvzZCxJCRSE+2GdCMSh6zq9VZJc3asc1XuAA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "8.8.0", + "@typescript-eslint/types": "8.9.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -382,13 +382,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.8.0.tgz", - "integrity": "sha512-IKwJSS7bCqyCeG4NVGxnOP6lLT9Okc3Zj8hLO96bpMkJab+10HIfJbMouLrlpyOr3yrQ1cA413YPFiGd1mW9/Q==", + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.9.0.tgz", + "integrity": "sha512-JD+/pCqlKqAk5961vxCluK+clkppHY07IbV3vett97KOV+8C6l+CPEPwpUuiMwgbOz/qrN3Ke4zzjqbT+ls+1Q==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "8.8.0", - "@typescript-eslint/utils": "8.8.0", + "@typescript-eslint/typescript-estree": "8.9.0", + "@typescript-eslint/utils": "8.9.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -406,9 +406,9 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.8.0.tgz", - "integrity": "sha512-QJwc50hRCgBd/k12sTykOJbESe1RrzmX6COk8Y525C9l7oweZ+1lw9JiU56im7Amm8swlz00DRIlxMYLizr2Vw==", + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.9.0.tgz", + "integrity": "sha512-SjgkvdYyt1FAPhU9c6FiYCXrldwYYlIQLkuc+LfAhCna6ggp96ACncdtlbn8FmnG72tUkXclrDExOpEYf1nfJQ==", "dev": true, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -419,13 +419,13 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.8.0.tgz", - "integrity": "sha512-ZaMJwc/0ckLz5DaAZ+pNLmHv8AMVGtfWxZe/x2JVEkD5LnmhWiQMMcYT7IY7gkdJuzJ9P14fRy28lUrlDSWYdw==", + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.9.0.tgz", + "integrity": "sha512-9iJYTgKLDG6+iqegehc5+EqE6sqaee7kb8vWpmHZ86EqwDjmlqNNHeqDVqb9duh+BY6WCNHfIGvuVU3Tf9Db0g==", "dev": true, "dependencies": { - "@typescript-eslint/types": "8.8.0", - "@typescript-eslint/visitor-keys": "8.8.0", + "@typescript-eslint/types": "8.9.0", + "@typescript-eslint/visitor-keys": "8.9.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -447,12 +447,12 @@ } }, "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.8.0.tgz", - "integrity": "sha512-8mq51Lx6Hpmd7HnA2fcHQo3YgfX1qbccxQOgZcb4tvasu//zXRaA1j5ZRFeCw/VRAdFi4mRM9DnZw0Nu0Q2d1g==", + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.9.0.tgz", + "integrity": "sha512-Ht4y38ubk4L5/U8xKUBfKNYGmvKvA1CANoxiTRMM+tOLk3lbF3DvzZCxJCRSE+2GdCMSh6zq9VZJc3asc1XuAA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "8.8.0", + "@typescript-eslint/types": "8.9.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -553,15 +553,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.8.0.tgz", - "integrity": "sha512-QE2MgfOTem00qrlPgyByaCHay9yb1+9BjnMFnSFkUKQfu7adBXDTnCAivURnuPPAG/qiB+kzKkZKmKfaMT0zVg==", + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.9.0.tgz", + "integrity": "sha512-PKgMmaSo/Yg/F7kIZvrgrWa1+Vwn036CdNUvYFEkYbPwOH4i8xvkaRlu148W3vtheWK9ckKRIz7PBP5oUlkrvQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.8.0", - "@typescript-eslint/types": "8.8.0", - "@typescript-eslint/typescript-estree": "8.8.0" + "@typescript-eslint/scope-manager": "8.9.0", + "@typescript-eslint/types": "8.9.0", + "@typescript-eslint/typescript-estree": "8.9.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -575,13 +575,13 @@ } }, "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.8.0.tgz", - "integrity": "sha512-EL8eaGC6gx3jDd8GwEFEV091210U97J0jeEHrAYvIYosmEGet4wJ+g0SYmLu+oRiAwbSA5AVrt6DxLHfdd+bUg==", + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.9.0.tgz", + "integrity": "sha512-bZu9bUud9ym1cabmOYH9S6TnbWRzpklVmwqICeOulTCZ9ue2/pczWzQvt/cGj2r2o1RdKoZbuEMalJJSYw3pHQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "8.8.0", - "@typescript-eslint/visitor-keys": "8.8.0" + "@typescript-eslint/types": "8.9.0", + "@typescript-eslint/visitor-keys": "8.9.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -592,9 +592,9 @@ } }, "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.8.0.tgz", - "integrity": "sha512-QJwc50hRCgBd/k12sTykOJbESe1RrzmX6COk8Y525C9l7oweZ+1lw9JiU56im7Amm8swlz00DRIlxMYLizr2Vw==", + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.9.0.tgz", + "integrity": "sha512-SjgkvdYyt1FAPhU9c6FiYCXrldwYYlIQLkuc+LfAhCna6ggp96ACncdtlbn8FmnG72tUkXclrDExOpEYf1nfJQ==", "dev": true, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -605,13 +605,13 @@ } }, "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.8.0.tgz", - "integrity": "sha512-ZaMJwc/0ckLz5DaAZ+pNLmHv8AMVGtfWxZe/x2JVEkD5LnmhWiQMMcYT7IY7gkdJuzJ9P14fRy28lUrlDSWYdw==", + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.9.0.tgz", + "integrity": "sha512-9iJYTgKLDG6+iqegehc5+EqE6sqaee7kb8vWpmHZ86EqwDjmlqNNHeqDVqb9duh+BY6WCNHfIGvuVU3Tf9Db0g==", "dev": true, "dependencies": { - "@typescript-eslint/types": "8.8.0", - "@typescript-eslint/visitor-keys": "8.8.0", + "@typescript-eslint/types": "8.9.0", + "@typescript-eslint/visitor-keys": "8.9.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -633,12 +633,12 @@ } }, "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.8.0.tgz", - "integrity": "sha512-8mq51Lx6Hpmd7HnA2fcHQo3YgfX1qbccxQOgZcb4tvasu//zXRaA1j5ZRFeCw/VRAdFi4mRM9DnZw0Nu0Q2d1g==", + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.9.0.tgz", + "integrity": "sha512-Ht4y38ubk4L5/U8xKUBfKNYGmvKvA1CANoxiTRMM+tOLk3lbF3DvzZCxJCRSE+2GdCMSh6zq9VZJc3asc1XuAA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "8.8.0", + "@typescript-eslint/types": "8.9.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { diff --git a/cli-tests/package.json b/cli-tests/package.json index 3d8dfbb1e7..6d674c50a7 100644 --- a/cli-tests/package.json +++ b/cli-tests/package.json @@ -24,7 +24,7 @@ "devDependencies": { "@types/promise-retry": "^1.1.3", "@types/shelljs": "^0.8.12", - "@typescript-eslint/eslint-plugin": "^8.8.0", + "@typescript-eslint/eslint-plugin": "^8.9.0", "@typescript-eslint/parser": "^7.18.0", "eslint": "8.57", "eslint-config-airbnb-base": "^15.0.0", From 766d5c7eb7da0f0bf35baf4264996b39237414b5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 14:14:19 +0300 Subject: [PATCH 06/24] Bump google.golang.org/grpc from 1.65.0 to 1.67.1 (#3233) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.65.0 to 1.67.1. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.65.0...v1.67.1) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index 14c67d0dc2..acdeaaa28d 100644 --- a/go.mod +++ b/go.mod @@ -80,9 +80,9 @@ require ( golang.org/x/sys v0.24.0 golang.org/x/text v0.17.0 golang.org/x/tools v0.24.0 - google.golang.org/genproto/googleapis/api v0.0.0-20240723171418-e6d459c13d2a - google.golang.org/genproto/googleapis/rpc v0.0.0-20240723171418-e6d459c13d2a - google.golang.org/grpc v1.65.0 + google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 + google.golang.org/grpc v1.67.1 google.golang.org/protobuf v1.34.2 gopkg.in/alecthomas/kingpin.v2 v2.2.6 gopkg.in/reform.v1 v1.5.1 @@ -261,7 +261,7 @@ require ( go.opentelemetry.io/otel/trace v1.26.0 // indirect golang.org/x/mod v0.20.0 // indirect golang.org/x/net v0.28.0 // indirect - golang.org/x/oauth2 v0.21.0 // indirect + golang.org/x/oauth2 v0.22.0 // indirect golang.org/x/term v0.23.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gotest.tools/v3 v3.3.0 // indirect diff --git a/go.sum b/go.sum index 79d5ab4d66..ba1e91dbed 100644 --- a/go.sum +++ b/go.sum @@ -940,8 +940,8 @@ 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-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs= -golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= +golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 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= @@ -1172,10 +1172,10 @@ 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/googleapis/api v0.0.0-20240723171418-e6d459c13d2a h1:YIa/rzVqMEokBkPtydCkx1VLmv3An1Uw7w1P1m6EhOY= -google.golang.org/genproto/googleapis/api v0.0.0-20240723171418-e6d459c13d2a/go.mod h1:AHT0dDg3SoMOgZGnZk29b5xTbPHMoEC8qthmBLJCpys= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240723171418-e6d459c13d2a h1:hqK4+jJZXCU4pW7jsAdGOVFIfLHQeV7LaizZKnZ84HI= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240723171418-e6d459c13d2a/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= +google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 h1:wKguEg1hsxI2/L3hUYrpo1RVi48K+uTyzKqprwLXsb8= +google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142/go.mod h1:d6be+8HhtEtucleCbxpPW9PA9XwISACu8nvpPqF0BVo= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -1188,8 +1188,8 @@ 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.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= -google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= From af76cddef975aff212eeafa53e3aedb8162873e5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 19:24:47 +0000 Subject: [PATCH 07/24] Bump github.com/go-sql-driver/mysql from 1.7.1 to 1.8.1 (#2932) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Bump github.com/go-sql-driver/mysql from 1.7.1 to 1.8.1 Bumps [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql) from 1.7.1 to 1.8.1. - [Release notes](https://github.com/go-sql-driver/mysql/releases) - [Changelog](https://github.com/go-sql-driver/mysql/blob/v1.8.1/CHANGELOG.md) - [Commits](https://github.com/go-sql-driver/mysql/compare/v1.7.1...v1.8.1) --- updated-dependencies: - dependency-name: github.com/go-sql-driver/mysql dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * PMM-7 Fix tests. * PMM-12155 fix tests. * PMM-7 fix tests. --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jiří Čtvrtka <62988319+JiriCtvrtka@users.noreply.github.com> Co-authored-by: Nurlan Moldomurov Co-authored-by: Nurlan Moldomurov --- .../runner/actions/mysql_explain_action_test.go | 6 +++--- .../actions/mysql_show_index_action_test.go | 16 ++++++++-------- go.mod | 3 ++- go.sum | 6 ++++-- 4 files changed, 17 insertions(+), 14 deletions(-) diff --git a/agent/runner/actions/mysql_explain_action_test.go b/agent/runner/actions/mysql_explain_action_test.go index ecc628fbe4..1d381b6ece 100644 --- a/agent/runner/actions/mysql_explain_action_test.go +++ b/agent/runner/actions/mysql_explain_action_test.go @@ -161,9 +161,9 @@ func TestMySQLExplain(t *testing.T) { assert.Contains(t, actual[0], "Extra") // Checks some stable values - assert.Equal(t, actual[1][0], "1") // id - assert.Equal(t, actual[1][1], "SIMPLE") // select_type - assert.Equal(t, actual[1][2], "city") // table + assert.Equal(t, float64(1), actual[1][0]) // id + assert.Equal(t, "SIMPLE", actual[1][1]) // select_type + assert.Equal(t, "city", actual[1][2]) // table }) t.Run("Error", func(t *testing.T) { diff --git a/agent/runner/actions/mysql_show_index_action_test.go b/agent/runner/actions/mysql_show_index_action_test.go index 00fdbf83b9..25fd424d1e 100644 --- a/agent/runner/actions/mysql_show_index_action_test.go +++ b/agent/runner/actions/mysql_show_index_action_test.go @@ -70,32 +70,32 @@ func TestMySQLShowIndex(t *testing.T) { "Table", "Non_unique", "Key_name", "Seq_in_index", "Column_name", "Collation", "Cardinality", "Sub_part", "Packed", "Null", "Index_type", "Comment", "Index_comment", "Ignored", }, actual[0]) - assert.Equal(t, []interface{}{"city", "0", "PRIMARY", "1", "ID", "A", "CARDINALITY", nil, nil, "", "BTREE", "", "", "NO"}, actual[1]) - assert.Equal(t, []interface{}{"city", "1", "CountryCode", "1", "CountryCode", "A", "CARDINALITY", nil, nil, "", "BTREE", "", "", "NO"}, actual[2]) + assert.Equal(t, []interface{}{"city", float64(0), "PRIMARY", float64(1), "ID", "A", "CARDINALITY", nil, nil, "", "BTREE", "", "", "NO"}, actual[1]) + assert.Equal(t, []interface{}{"city", float64(1), "CountryCode", float64(1), "CountryCode", "A", "CARDINALITY", nil, nil, "", "BTREE", "", "", "NO"}, actual[2]) case mySQLVersion.String() == "5.6" || mySQLVendor == version.MariaDBVendor: assert.Equal(t, []interface{}{ "Table", "Non_unique", "Key_name", "Seq_in_index", "Column_name", "Collation", "Cardinality", "Sub_part", "Packed", "Null", "Index_type", "Comment", "Index_comment", }, actual[0]) - assert.Equal(t, []interface{}{"city", "0", "PRIMARY", "1", "ID", "A", "CARDINALITY", nil, nil, "", "BTREE", "", ""}, actual[1]) - assert.Equal(t, []interface{}{"city", "1", "CountryCode", "1", "CountryCode", "A", "CARDINALITY", nil, nil, "", "BTREE", "", ""}, actual[2]) + assert.Equal(t, []interface{}{"city", float64(0), "PRIMARY", float64(1), "ID", "A", "CARDINALITY", nil, nil, "", "BTREE", "", ""}, actual[1]) + assert.Equal(t, []interface{}{"city", float64(1), "CountryCode", float64(1), "CountryCode", "A", "CARDINALITY", nil, nil, "", "BTREE", "", ""}, actual[2]) case mySQLVersion.String() == "5.7": assert.Equal(t, []interface{}{ "Table", "Non_unique", "Key_name", "Seq_in_index", "Column_name", "Collation", "Cardinality", "Sub_part", "Packed", "Null", "Index_type", "Comment", "Index_comment", }, actual[0]) - assert.Equal(t, []interface{}{"city", "0", "PRIMARY", "1", "ID", "A", "CARDINALITY", nil, nil, "", "BTREE", "", ""}, actual[1]) - assert.Equal(t, []interface{}{"city", "1", "CountryCode", "1", "CountryCode", "A", "CARDINALITY", nil, nil, "", "BTREE", "", ""}, actual[2]) + assert.Equal(t, []interface{}{"city", float64(0), "PRIMARY", float64(1), "ID", "A", "CARDINALITY", nil, nil, "", "BTREE", "", ""}, actual[1]) + assert.Equal(t, []interface{}{"city", float64(1), "CountryCode", float64(1), "CountryCode", "A", "CARDINALITY", nil, nil, "", "BTREE", "", ""}, actual[2]) case mySQLVersion.String() == "8.0": assert.Equal(t, []interface{}{ "Table", "Non_unique", "Key_name", "Seq_in_index", "Column_name", "Collation", "Cardinality", "Sub_part", "Packed", "Null", "Index_type", "Comment", "Index_comment", "Visible", "Expression", }, actual[0]) - assert.Equal(t, []interface{}{"city", "0", "PRIMARY", "1", "ID", "A", "CARDINALITY", nil, nil, "", "BTREE", "", "", "YES", nil}, actual[1]) - assert.Equal(t, []interface{}{"city", "1", "CountryCode", "1", "CountryCode", "A", "CARDINALITY", nil, nil, "", "BTREE", "", "", "YES", nil}, actual[2]) + assert.Equal(t, []interface{}{"city", float64(0), "PRIMARY", float64(1), "ID", "A", "CARDINALITY", nil, nil, "", "BTREE", "", "", "YES", nil}, actual[1]) + assert.Equal(t, []interface{}{"city", float64(1), "CountryCode", float64(1), "CountryCode", "A", "CARDINALITY", nil, nil, "", "BTREE", "", "", "YES", nil}, actual[2]) default: t.Fatal("Unhandled version.") diff --git a/go.mod b/go.mod index acdeaaa28d..83990675c6 100644 --- a/go.mod +++ b/go.mod @@ -39,7 +39,7 @@ require ( github.com/go-openapi/strfmt v0.23.0 github.com/go-openapi/swag v0.23.0 github.com/go-openapi/validate v0.24.0 - github.com/go-sql-driver/mysql v1.7.1 + github.com/go-sql-driver/mysql v1.8.1 github.com/golang-migrate/migrate/v4 v4.17.0 github.com/google/uuid v1.6.0 github.com/grafana/grafana-api-golang-client v0.27.0 @@ -97,6 +97,7 @@ require ( ) require ( + filippo.io/edwards25519 v1.1.0 // indirect github.com/Azure/azure-pipeline-go v0.2.3 // indirect github.com/Azure/azure-storage-blob-go v0.14.0 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect diff --git a/go.sum b/go.sum index ba1e91dbed..54c2bbefae 100644 --- a/go.sum +++ b/go.sum @@ -31,6 +31,8 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl 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= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= +filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/3rf/mongo-lint v0.0.0-20140604191638-3550fdcf1f43/go.mod h1:ggh9ZlgUveoGPv/xlt2+6f/bGVEl/h+WlV4LX/dyxEI= github.com/AlekSi/pointer v1.1.0/go.mod h1:y7BvfRI3wXPWKXEBhU71nbnIEEZX0QTSB2Bj48UJIZE= github.com/AlekSi/pointer v1.2.0 h1:glcy/gc4h8HnG2Z3ZECSzZ1IX1x2JxRVuDzaJwQE0+w= @@ -283,8 +285,8 @@ github.com/go-openapi/validate v0.24.0/go.mod h1:iyeX1sEufmv3nPbBdX3ieNviWnOZaJ1 github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI= -github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= +github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y= +github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= From a53c6bafadae13e8e3f4491673755f725f647f6a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 21:12:52 +0100 Subject: [PATCH 08/24] Bump k8s.io/apiextensions-apiserver from 0.30.3 to 0.31.1 (#3241) Bumps [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) from 0.30.3 to 0.31.1. - [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases) - [Commits](https://github.com/kubernetes/apiextensions-apiserver/compare/v0.30.3...v0.31.1) --- updated-dependencies: - dependency-name: k8s.io/apiextensions-apiserver dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 19 ++++++++++--------- go.sum | 56 ++++++++++++++++++++++++++++---------------------------- 2 files changed, 38 insertions(+), 37 deletions(-) diff --git a/go.mod b/go.mod index 83990675c6..78eac484dc 100644 --- a/go.mod +++ b/go.mod @@ -87,11 +87,11 @@ require ( gopkg.in/alecthomas/kingpin.v2 v2.2.6 gopkg.in/reform.v1 v1.5.1 gopkg.in/yaml.v3 v3.0.1 - k8s.io/api v0.31.0 - k8s.io/apiextensions-apiserver v0.30.3 - k8s.io/apimachinery v0.31.0 + k8s.io/api v0.31.1 + k8s.io/apiextensions-apiserver v0.31.1 + k8s.io/apimachinery v0.31.1 k8s.io/cli-runtime v0.30.3 - k8s.io/client-go v0.31.0 + k8s.io/client-go v0.31.1 k8s.io/kubectl v0.30.3 sigs.k8s.io/controller-runtime v0.14.6 ) @@ -142,6 +142,7 @@ require ( github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/mwitkow/go-proto-validators v0.3.2 // indirect + github.com/onsi/gomega v1.33.1 // indirect github.com/percona/percona-backup-mongodb v1.8.1 // indirect github.com/pierrec/lz4 v2.6.1+incompatible // indirect github.com/posener/complete v1.2.3 // indirect @@ -151,9 +152,9 @@ require ( github.com/x448/float16 v0.8.4 // indirect github.com/xlab/treeprint v1.2.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/contrib/instrumentation/net/http/otelhttp v0.53.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.22.0 // indirect - go.opentelemetry.io/otel/metric v1.26.0 // indirect + go.opentelemetry.io/otel/metric v1.28.0 // indirect go.uber.org/atomic v1.11.0 // indirect golang.org/x/time v0.3.0 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect @@ -183,7 +184,7 @@ require ( 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 - github.com/cenkalti/backoff/v4 v4.2.1 // indirect + github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/charmbracelet/harmonica v0.2.0 // indirect github.com/cloudflare/golz4 v0.0.0-20150217214814-ef862a3cdc58 // indirect @@ -258,8 +259,8 @@ require ( github.com/xdg-go/scram v1.1.2 // indirect github.com/xdg-go/stringprep v1.0.4 // indirect github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a // indirect - go.opentelemetry.io/otel v1.26.0 // indirect - go.opentelemetry.io/otel/trace v1.26.0 // indirect + go.opentelemetry.io/otel v1.28.0 // indirect + go.opentelemetry.io/otel/trace v1.28.0 // indirect golang.org/x/mod v0.20.0 // indirect golang.org/x/net v0.28.0 // indirect golang.org/x/oauth2 v0.22.0 // indirect diff --git a/go.sum b/go.sum index 54c2bbefae..145cf9d257 100644 --- a/go.sum +++ b/go.sum @@ -142,8 +142,8 @@ github.com/brianvoe/gofakeit v3.18.0+incompatible h1:wDOmHc9DLG4nRjUVVaxA+CEglKO github.com/brianvoe/gofakeit v3.18.0+incompatible/go.mod h1:kfwdRA90vvNhPutZWfH7WPaDzUjz+CZFqG+rPkOjGOc= github.com/brianvoe/gofakeit/v6 v6.28.0 h1:Xib46XXuQfmlLS2EXRuJpqcw8St6qSZz75OUo0tgAW4= github.com/brianvoe/gofakeit/v6 v6.28.0/go.mod h1:Xj58BMSnFqcn/fAQeSK+/PLtC5kSb7FJIq4JyGa8vEs= -github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= -github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= +github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= +github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= @@ -629,8 +629,8 @@ github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo/v2 v2.19.0 h1:9Cnnf7UHo57Hy3k6/m5k3dRfGTMXGvxhHFvkDTCTpvA= github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To= -github.com/onsi/gomega v1.31.0 h1:54UJxxj6cPInHS3a35wm6BK/F9nHYueZ1NVujHDrnXE= -github.com/onsi/gomega v1.31.0/go.mod h1:DW9aCi7U6Yi40wNVAvT6kzFnEVEI5n3DloYBiKiT6zk= +github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk= +github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0= github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= @@ -822,23 +822,23 @@ 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.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= -go.opentelemetry.io/otel v1.26.0 h1:LQwgL5s/1W7YiiRwxf03QGnWLb2HW4pLiAhaA5cZXBs= -go.opentelemetry.io/otel v1.26.0/go.mod h1:UmLkJHUAidDval2EICqBMbnAd0/m2vmpf/dAM+fvFs4= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 h1:4K4tsIXefpVJtvA/8srF4V4y0akAoPHkIslgAkjixJA= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0/go.mod h1:jjdQuTGVsXV4vSs+CJ2qYDeDPf9yIJV23qlIzBm73Vg= +go.opentelemetry.io/otel v1.28.0 h1:/SqNcYk+idO0CxKEUOtKQClMK/MimZihKYMruSMViUo= +go.opentelemetry.io/otel v1.28.0/go.mod h1:q68ijF8Fc8CnMHKyzqL6akLO46ePnjkgfIMIjUIX9z4= go.opentelemetry.io/otel/exporters/otlp v0.20.0 h1:PTNgq9MRmQqqJY0REVbZFvwkYOA85vbdQU/nVfxDyqg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.22.0 h1:9M3+rhx7kZCIQQhQRYaZCdNu1V73tm4TvXs2ntl98C4= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.22.0/go.mod h1:noq80iT8rrHP1SfybmPiRGc9dc5M8RPmGvtwo7Oo7tc= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0 h1:3Q/xZUyC1BBkualc9ROb4G8qkH90LXEIICcs5zv1OYY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0/go.mod h1:s75jGIWA9OfCMzF0xr+ZgfrB5FEbbV7UuYo32ahUiFI= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.22.0 h1:FyjCyI9jVEfqhUh2MoSkmolPjfh5fp2hnV0b0irxH4Q= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.22.0/go.mod h1:hYwym2nDEeZfG/motx0p7L7J1N1vyzIThemQsb4g2qY= -go.opentelemetry.io/otel/metric v1.26.0 h1:7S39CLuY5Jgg9CrnA9HHiEjGMF/X2VHvoXGgSllRz30= -go.opentelemetry.io/otel/metric v1.26.0/go.mod h1:SY+rHOI4cEawI9a7N1A4nIg/nTQXe1ccCNWYOJUrpX4= -go.opentelemetry.io/otel/sdk v1.24.0 h1:YMPPDNymmQN3ZgczicBY3B6sf9n62Dlj9pWD3ucgoDw= -go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg= -go.opentelemetry.io/otel/trace v1.26.0 h1:1ieeAUb4y0TE26jUFrCIXKpTuVK7uJGN9/Z/2LP5sQA= -go.opentelemetry.io/otel/trace v1.26.0/go.mod h1:4iDxvGDQuUkHve82hJJ8UqrwswHYsZuWCBllGV2U2y0= -go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= -go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= +go.opentelemetry.io/otel/metric v1.28.0 h1:f0HGvSl1KRAU1DLgLGFjrwVyismPlnuU6JD6bOeuA5Q= +go.opentelemetry.io/otel/metric v1.28.0/go.mod h1:Fb1eVBFZmLVTMb6PPohq3TO9IIhUisDsbJoL/+uQW4s= +go.opentelemetry.io/otel/sdk v1.28.0 h1:b9d7hIry8yZsgtbmM0DKyPWMMUMlK9NEKuIG4aBqWyE= +go.opentelemetry.io/otel/sdk v1.28.0/go.mod h1:oYj7ClPUA7Iw3m+r7GeEjz0qckQRJK2B8zjcZEfu7Pg= +go.opentelemetry.io/otel/trace v1.28.0 h1:GhQ9cUuQGmNDd5BTCP2dAvv75RdMxEfTmYejp+lkx9g= +go.opentelemetry.io/otel/trace v1.28.0/go.mod h1:jPyXzNPg6da9+38HEwElrQiHlVMTnVfM3/yv2OlIHaI= +go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= +go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.starlark.net v0.0.0-20230717150657-8a3343210976 h1:7ljYNcZU84T2N0tZdDgvL7U3M4iFmglAUUU1gRFE/2Q= go.starlark.net v0.0.0-20230717150657-8a3343210976/go.mod h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= @@ -867,8 +867,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -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-20230515195305-f3d0a9c9a5cc h1:mCRnTeVUjcrhlRmO0VK8a6k6Rrf6TF9htwo2pJVSjIU= +golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc/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= @@ -1246,16 +1246,16 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.31.0 h1:b9LiSjR2ym/SzTOlfMHm1tr7/21aD7fSkqgD/CVJBCo= -k8s.io/api v0.31.0/go.mod h1:0YiFF+JfFxMM6+1hQei8FY8M7s1Mth+z/q7eF1aJkTE= -k8s.io/apiextensions-apiserver v0.30.3 h1:oChu5li2vsZHx2IvnGP3ah8Nj3KyqG3kRSaKmijhB9U= -k8s.io/apiextensions-apiserver v0.30.3/go.mod h1:uhXxYDkMAvl6CJw4lrDN4CPbONkF3+XL9cacCT44kV4= -k8s.io/apimachinery v0.31.0 h1:m9jOiSr3FoSSL5WO9bjm1n6B9KROYYgNZOb4tyZ1lBc= -k8s.io/apimachinery v0.31.0/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= +k8s.io/api v0.31.1 h1:Xe1hX/fPW3PXYYv8BlozYqw63ytA92snr96zMW9gWTU= +k8s.io/api v0.31.1/go.mod h1:sbN1g6eY6XVLeqNsZGLnI5FwVseTrZX7Fv3O26rhAaI= +k8s.io/apiextensions-apiserver v0.31.1 h1:L+hwULvXx+nvTYX/MKM3kKMZyei+UiSXQWciX/N6E40= +k8s.io/apiextensions-apiserver v0.31.1/go.mod h1:tWMPR3sgW+jsl2xm9v7lAyRF1rYEK71i9G5dRtkknoQ= +k8s.io/apimachinery v0.31.1 h1:mhcUBbj7KUjaVhyXILglcVjuS4nYXiwC+KKFBgIVy7U= +k8s.io/apimachinery v0.31.1/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= k8s.io/cli-runtime v0.30.3 h1:aG69oRzJuP2Q4o8dm+f5WJIX4ZBEwrvdID0+MXyUY6k= k8s.io/cli-runtime v0.30.3/go.mod h1:hwrrRdd9P84CXSKzhHxrOivAR9BRnkMt0OeP5mj7X30= -k8s.io/client-go v0.31.0 h1:QqEJzNjbN2Yv1H79SsS+SWnXkBgVu4Pj3CJQgbx0gI8= -k8s.io/client-go v0.31.0/go.mod h1:Y9wvC76g4fLjmU0BA+rV+h2cncoadjvjjkkIGoTLcGU= +k8s.io/client-go v0.31.1 h1:f0ugtWSbWpxHR7sjVpQwuvw9a3ZKLXX0u0itkFXufb0= +k8s.io/client-go v0.31.1/go.mod h1:sKI8871MJN2OyeqRlmA4W4KM9KBdBUpDLu/43eGemCg= k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag= From 1141b6e5930fb68a49d9cd9416bd284a012302ac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 16 Oct 2024 11:31:11 +0300 Subject: [PATCH 09/24] Bump golang.org/x/tools from 0.24.0 to 0.26.0 (#3243) Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.24.0 to 0.26.0. - [Release notes](https://github.com/golang/tools/releases) - [Commits](https://github.com/golang/tools/compare/v0.24.0...v0.26.0) --- updated-dependencies: - dependency-name: golang.org/x/tools dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 14 +++++++------- go.sum | 24 ++++++++++++------------ 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/go.mod b/go.mod index 78eac484dc..7612476757 100644 --- a/go.mod +++ b/go.mod @@ -75,11 +75,11 @@ require ( github.com/stretchr/testify v1.9.0 go.mongodb.org/mongo-driver v1.16.1 go.starlark.net v0.0.0-20230717150657-8a3343210976 - golang.org/x/crypto v0.26.0 + golang.org/x/crypto v0.28.0 golang.org/x/sync v0.8.0 - golang.org/x/sys v0.24.0 - golang.org/x/text v0.17.0 - golang.org/x/tools v0.24.0 + golang.org/x/sys v0.26.0 + golang.org/x/text v0.19.0 + golang.org/x/tools v0.26.0 google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 google.golang.org/grpc v1.67.1 @@ -261,10 +261,10 @@ require ( github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a // indirect go.opentelemetry.io/otel v1.28.0 // indirect go.opentelemetry.io/otel/trace v1.28.0 // indirect - golang.org/x/mod v0.20.0 // indirect - golang.org/x/net v0.28.0 // indirect + golang.org/x/mod v0.21.0 // indirect + golang.org/x/net v0.30.0 // indirect golang.org/x/oauth2 v0.22.0 // indirect - golang.org/x/term v0.23.0 // indirect + golang.org/x/term v0.25.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gotest.tools/v3 v3.3.0 // indirect ) diff --git a/go.sum b/go.sum index 145cf9d257..8e0d0b2361 100644 --- a/go.sum +++ b/go.sum @@ -893,8 +893,8 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/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.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0= -golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0= +golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -934,8 +934,8 @@ golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1022,16 +1022,16 @@ 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.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +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-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.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= -golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= +golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= +golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1045,8 +1045,8 @@ golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1109,8 +1109,8 @@ golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= 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.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24= -golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= +golang.org/x/tools v0.26.0 h1:v/60pFQmzmT9ExmjDv2gGIfi3OqfKoEP6I5+umXlbnQ= +golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From 4948fe686e3a85e4b521f71319f04e9eacb2ccad Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 16 Oct 2024 08:43:46 +0000 Subject: [PATCH 10/24] Bump github.com/charmbracelet/bubbles from 0.18.0 to 0.20.0 (#3242) Bumps [github.com/charmbracelet/bubbles](https://github.com/charmbracelet/bubbles) from 0.18.0 to 0.20.0. - [Release notes](https://github.com/charmbracelet/bubbles/releases) - [Changelog](https://github.com/charmbracelet/bubbles/blob/master/.goreleaser.yml) - [Commits](https://github.com/charmbracelet/bubbles/compare/v0.18.0...v0.20.0) --- updated-dependencies: - dependency-name: github.com/charmbracelet/bubbles dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 16 ++++++---------- go.sum | 34 ++++++++++++---------------------- 2 files changed, 18 insertions(+), 32 deletions(-) diff --git a/go.mod b/go.mod index 7612476757..3f732cb4b1 100644 --- a/go.mod +++ b/go.mod @@ -26,9 +26,9 @@ require ( github.com/aws/aws-sdk-go v1.55.3 github.com/blang/semver v3.5.1+incompatible github.com/brianvoe/gofakeit/v6 v6.28.0 - github.com/charmbracelet/bubbles v0.18.0 - github.com/charmbracelet/bubbletea v0.26.6 - github.com/charmbracelet/lipgloss v0.12.1 + github.com/charmbracelet/bubbles v0.20.0 + github.com/charmbracelet/bubbletea v1.1.0 + github.com/charmbracelet/lipgloss v0.13.0 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc github.com/docker/docker v27.3.0+incompatible github.com/docker/go-connections v0.5.0 @@ -103,10 +103,8 @@ require ( github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/blang/semver/v4 v4.0.0 // indirect - github.com/charmbracelet/x/ansi v0.1.4 // indirect - github.com/charmbracelet/x/input v0.1.0 // indirect - github.com/charmbracelet/x/term v0.1.1 // indirect - github.com/charmbracelet/x/windows v0.1.0 // indirect + github.com/charmbracelet/x/ansi v0.2.3 // indirect + github.com/charmbracelet/x/term v0.2.0 // indirect github.com/coreos/go-systemd/v22 v22.5.0 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/emicklei/go-restful/v3 v3.11.0 // indirect @@ -151,7 +149,6 @@ require ( github.com/spf13/pflag v1.0.5 // indirect github.com/x448/float16 v0.8.4 // indirect github.com/xlab/treeprint v1.2.0 // indirect - github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.22.0 // indirect go.opentelemetry.io/otel/metric v1.28.0 // indirect @@ -222,7 +219,7 @@ require ( github.com/mailru/easyjson v0.7.7 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-localereader v0.0.1 // indirect - github.com/mattn/go-runewidth v0.0.15 // indirect + github.com/mattn/go-runewidth v0.0.16 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/miekg/dns v1.1.50 // indirect github.com/minio/md5-simd v1.1.2 // indirect @@ -233,7 +230,6 @@ require ( github.com/montanaflynn/stats v0.7.1 // indirect github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect github.com/muesli/cancelreader v0.2.2 // indirect - github.com/muesli/reflow v0.3.0 // indirect github.com/muesli/termenv v0.15.2 // indirect github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect github.com/oklog/run v1.1.0 // indirect diff --git a/go.sum b/go.sum index 8e0d0b2361..742663c033 100644 --- a/go.sum +++ b/go.sum @@ -148,22 +148,18 @@ github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/charmbracelet/bubbles v0.18.0 h1:PYv1A036luoBGroX6VWjQIE9Syf2Wby2oOl/39KLfy0= -github.com/charmbracelet/bubbles v0.18.0/go.mod h1:08qhZhtIwzgrtBjAcJnij1t1H0ZRjwHyGsy6AL11PSw= -github.com/charmbracelet/bubbletea v0.26.6 h1:zTCWSuST+3yZYZnVSvbXwKOPRSNZceVeqpzOLN2zq1s= -github.com/charmbracelet/bubbletea v0.26.6/go.mod h1:dz8CWPlfCCGLFbBlTY4N7bjLiyOGDJEnd2Muu7pOWhk= +github.com/charmbracelet/bubbles v0.20.0 h1:jSZu6qD8cRQ6k9OMfR1WlM+ruM8fkPWkHvQWD9LIutE= +github.com/charmbracelet/bubbles v0.20.0/go.mod h1:39slydyswPy+uVOHZ5x/GjwVAFkCsV8IIVy+4MhzwwU= +github.com/charmbracelet/bubbletea v1.1.0 h1:FjAl9eAL3HBCHenhz/ZPjkKdScmaS5SK69JAK2YJK9c= +github.com/charmbracelet/bubbletea v1.1.0/go.mod h1:9Ogk0HrdbHolIKHdjfFpyXJmiCzGwy+FesYkZr7hYU4= github.com/charmbracelet/harmonica v0.2.0 h1:8NxJWRWg/bzKqqEaaeFNipOu77YR5t8aSwG4pgaUBiQ= github.com/charmbracelet/harmonica v0.2.0/go.mod h1:KSri/1RMQOZLbw7AHqgcBycp8pgJnQMYYT8QZRqZ1Ao= -github.com/charmbracelet/lipgloss v0.12.1 h1:/gmzszl+pedQpjCOH+wFkZr/N90Snz40J/NR7A0zQcs= -github.com/charmbracelet/lipgloss v0.12.1/go.mod h1:V2CiwIuhx9S1S1ZlADfOj9HmxeMAORuz5izHb0zGbB8= -github.com/charmbracelet/x/ansi v0.1.4 h1:IEU3D6+dWwPSgZ6HBH+v6oUuZ/nVawMiWj5831KfiLM= -github.com/charmbracelet/x/ansi v0.1.4/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw= -github.com/charmbracelet/x/input v0.1.0 h1:TEsGSfZYQyOtp+STIjyBq6tpRaorH0qpwZUj8DavAhQ= -github.com/charmbracelet/x/input v0.1.0/go.mod h1:ZZwaBxPF7IG8gWWzPUVqHEtWhc1+HXJPNuerJGRGZ28= -github.com/charmbracelet/x/term v0.1.1 h1:3cosVAiPOig+EV4X9U+3LDgtwwAoEzJjNdwbXDjF6yI= -github.com/charmbracelet/x/term v0.1.1/go.mod h1:wB1fHt5ECsu3mXYusyzcngVWWlu1KKUmmLhfgr/Flxw= -github.com/charmbracelet/x/windows v0.1.0 h1:gTaxdvzDM5oMa/I2ZNF7wN78X/atWemG9Wph7Ika2k4= -github.com/charmbracelet/x/windows v0.1.0/go.mod h1:GLEO/l+lizvFDBPLIOk+49gdX49L9YWMB5t+DZd0jkQ= +github.com/charmbracelet/lipgloss v0.13.0 h1:4X3PPeoWEDCMvzDvGmTajSyYPcZM4+y8sCA/SsA3cjw= +github.com/charmbracelet/lipgloss v0.13.0/go.mod h1:nw4zy0SBX/F/eAO1cWdcvy6qnkDUxr8Lw7dvFrAIbbY= +github.com/charmbracelet/x/ansi v0.2.3 h1:VfFN0NUpcjBRd4DnKfRaIRo53KRgey/nhOoEqosGDEY= +github.com/charmbracelet/x/ansi v0.2.3/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw= +github.com/charmbracelet/x/term v0.2.0 h1:cNB9Ot9q8I711MyZ7myUR5HFWL/lc3OpU8jZ4hwm0x0= +github.com/charmbracelet/x/term v0.2.0/go.mod h1:GVxgxAbjUrmpvIINHIQnJJKpMlHiZ4cktEQCN6GWyF0= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= @@ -558,9 +554,8 @@ github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4= github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= -github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= -github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc= +github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.14.0/go.mod h1:JIl7NbARA7phWnGvh0LKTyg7S9BA+6gx71ShQilpsus= github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= @@ -609,8 +604,6 @@ github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 h1:ZK8zHtRHOkbHy6Mmr5D github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6/go.mod h1:CJlz5H+gyd6CUWT45Oy4q24RdLyn7Md9Vj2/ldJBSIo= github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA= github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo= -github.com/muesli/reflow v0.3.0 h1:IFsN6K9NfGtjeggFP+68I4chLZV2yIKsXJFNZ+eWh6s= -github.com/muesli/reflow v0.3.0/go.mod h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8= github.com/muesli/termenv v0.15.2 h1:GohcuySI0QmI3wN8Ok9PtKGkgkFIk7y6Vpb5PvrY+Wo= github.com/muesli/termenv v0.15.2/go.mod h1:Epx+iuz8sNs7mNKhxzH4fWXGNpZwUaJKRS1noLXviQ8= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= @@ -725,7 +718,6 @@ github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0leargg github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/ramr/go-reaper v0.2.1 h1:zww+wlQOvTjBZuk1920R/e0GFEb6O7+B0WQLV6dM924= github.com/ramr/go-reaper v0.2.1/go.mod h1:AVypdzrcCXjSc/JYnlXl8TsB+z84WyFzxWE8Jh0MOJc= -github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= @@ -801,8 +793,6 @@ github.com/xdg-go/stringprep v1.0.4 h1:XLI/Ng3O1Atzq0oBs3TWm+5ZVgkq2aqdlvP9JtoZ6 github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM= github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ= github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= -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= github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a h1:fZHgsYlfvtyqToslyjUt3VOPF4J7aK/3MPcK7xp3PDk= github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a/go.mod h1:ul22v+Nro/R083muKhosV54bj5niojjWZvU8xrevuH4= From 7735139aa736ae974c309f4e3155b77cacb6f184 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 16 Oct 2024 08:51:51 +0000 Subject: [PATCH 11/24] Bump k8s.io/cli-runtime from 0.30.3 to 0.31.1 (#3244) Bumps [k8s.io/cli-runtime](https://github.com/kubernetes/cli-runtime) from 0.30.3 to 0.31.1. - [Commits](https://github.com/kubernetes/cli-runtime/compare/v0.30.3...v0.31.1) --- updated-dependencies: - dependency-name: k8s.io/cli-runtime dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 9 +++------ go.sum | 14 ++++++-------- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/go.mod b/go.mod index 3f732cb4b1..a85053f780 100644 --- a/go.mod +++ b/go.mod @@ -90,7 +90,7 @@ require ( k8s.io/api v0.31.1 k8s.io/apiextensions-apiserver v0.31.1 k8s.io/apimachinery v0.31.1 - k8s.io/cli-runtime v0.30.3 + k8s.io/cli-runtime v0.31.1 k8s.io/client-go v0.31.1 k8s.io/kubectl v0.30.3 sigs.k8s.io/controller-runtime v0.14.6 @@ -109,7 +109,6 @@ require ( github.com/distribution/reference v0.6.0 // indirect github.com/emicklei/go-restful/v3 v3.11.0 // indirect github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect - github.com/evanphx/json-patch v5.6.0+incompatible // indirect github.com/evanphx/json-patch/v5 v5.6.0 // indirect github.com/fatih/color v1.13.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect @@ -140,12 +139,10 @@ require ( github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/mwitkow/go-proto-validators v0.3.2 // indirect - github.com/onsi/gomega v1.33.1 // indirect github.com/percona/percona-backup-mongodb v1.8.1 // indirect github.com/pierrec/lz4 v2.6.1+incompatible // indirect github.com/posener/complete v1.2.3 // indirect github.com/riywo/loginshell v0.0.0-20200815045211-7d26008be1ab // indirect - github.com/sergi/go-diff v1.2.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/x448/float16 v0.8.4 // indirect github.com/xlab/treeprint v1.2.0 // indirect @@ -161,8 +158,8 @@ require ( k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 // indirect - sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 // indirect + sigs.k8s.io/kustomize/api v0.17.2 // indirect + sigs.k8s.io/kustomize/kyaml v0.17.1 // indirect sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect sigs.k8s.io/yaml v1.4.0 // indirect ) diff --git a/go.sum b/go.sum index 742663c033..fcf466e640 100644 --- a/go.sum +++ b/go.sum @@ -209,8 +209,6 @@ github.com/envoyproxy/protoc-gen-validate v1.1.0 h1:tntQDh69XqOCOZsDz0lVJQez/2L6 github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4= github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f h1:Y/CXytFA4m6baUTXGLOoWe4PQhGxaX0KpnayAqC48p4= github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f/go.mod h1:vw97MGsxSvLiUE2X8qFplwetxpGLQrlU1Q9AUEIzCaM= -github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U= -github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch/v5 v5.6.0 h1:b91NhWfaz02IuVxO9faSllyAtNXHMPkC5J8sJCLunww= github.com/evanphx/json-patch/v5 v5.6.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= @@ -1242,8 +1240,8 @@ k8s.io/apiextensions-apiserver v0.31.1 h1:L+hwULvXx+nvTYX/MKM3kKMZyei+UiSXQWciX/ k8s.io/apiextensions-apiserver v0.31.1/go.mod h1:tWMPR3sgW+jsl2xm9v7lAyRF1rYEK71i9G5dRtkknoQ= k8s.io/apimachinery v0.31.1 h1:mhcUBbj7KUjaVhyXILglcVjuS4nYXiwC+KKFBgIVy7U= k8s.io/apimachinery v0.31.1/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= -k8s.io/cli-runtime v0.30.3 h1:aG69oRzJuP2Q4o8dm+f5WJIX4ZBEwrvdID0+MXyUY6k= -k8s.io/cli-runtime v0.30.3/go.mod h1:hwrrRdd9P84CXSKzhHxrOivAR9BRnkMt0OeP5mj7X30= +k8s.io/cli-runtime v0.31.1 h1:/ZmKhmZ6hNqDM+yf9s3Y4KEYakNXUn5sod2LWGGwCuk= +k8s.io/cli-runtime v0.31.1/go.mod h1:pKv1cDIaq7ehWGuXQ+A//1OIF+7DI+xudXtExMCbe9U= k8s.io/client-go v0.31.1 h1:f0ugtWSbWpxHR7sjVpQwuvw9a3ZKLXX0u0itkFXufb0= k8s.io/client-go v0.31.1/go.mod h1:sKI8871MJN2OyeqRlmA4W4KM9KBdBUpDLu/43eGemCg= k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= @@ -1262,10 +1260,10 @@ sigs.k8s.io/controller-runtime v0.14.6 h1:oxstGVvXGNnMvY7TAESYk+lzr6S3V5VFxQ6d92 sigs.k8s.io/controller-runtime v0.14.6/go.mod h1:WqIdsAY6JBsjfc/CqO0CORmNtoCtE4S6qbPc9s68h+0= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 h1:XX3Ajgzov2RKUdc5jW3t5jwY7Bo7dcRm+tFxT+NfgY0= -sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3/go.mod h1:9n16EZKMhXBNSiUC5kSdFQJkdH3zbxS/JoO619G1VAY= -sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 h1:W6cLQc5pnqM7vh3b7HvGNfXrJ/xL6BDMS0v1V/HHg5U= -sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3/go.mod h1:JWP1Fj0VWGHyw3YUPjXSQnRnrwezrZSrApfX5S0nIag= +sigs.k8s.io/kustomize/api v0.17.2 h1:E7/Fjk7V5fboiuijoZHgs4aHuexi5Y2loXlVOAVAG5g= +sigs.k8s.io/kustomize/api v0.17.2/go.mod h1:UWTz9Ct+MvoeQsHcJ5e+vziRRkwimm3HytpZgIYqye0= +sigs.k8s.io/kustomize/kyaml v0.17.1 h1:TnxYQxFXzbmNG6gOINgGWQt09GghzgTP6mIurOgrLCQ= +sigs.k8s.io/kustomize/kyaml v0.17.1/go.mod h1:9V0mCjIEYjlXuCdYsSXvyoy2BTsLESH7TlGV81S282U= sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4= sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08= sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= From ab83e33ab472f34bb2b1ffe88f001bce16b748f1 Mon Sep 17 00:00:00 2001 From: Nurlan Moldomurov Date: Wed, 16 Oct 2024 17:19:50 +0300 Subject: [PATCH 12/24] 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= From 6712d56199c6a80891358416c9e9268dd2032c5d Mon Sep 17 00:00:00 2001 From: Nurlan Moldomurov Date: Wed, 16 Oct 2024 17:54:02 +0300 Subject: [PATCH 13/24] PMM-13207 Update go version. (#3235) * PMM-13207 Update go version. (cherry picked from commit 0a3894bdcfbda537d2aab89438a0a1acbe2bfdfb) * PMM-13207 go mod tidy. --- .github/workflows/clean.yml | 2 +- build/docker/rpmbuild/Dockerfile | 2 +- build/docker/rpmbuild/Dockerfile.el9 | 2 +- devcontainer.Dockerfile | 2 +- go.mod | 4 ++-- go.sum | 4 ++-- tools/go.mod | 2 +- update/.devcontainer/install-dev-tools.sh | 2 +- update/docker-compose.yml | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/clean.yml b/.github/workflows/clean.yml index c3e0ad8709..0f7cf8fb07 100644 --- a/.github/workflows/clean.yml +++ b/.github/workflows/clean.yml @@ -13,7 +13,7 @@ jobs: fail-fast: false matrix: go: - - version: 1.22.x + - version: 1.23.x may-fail: false - version: tip may-fail: true diff --git a/build/docker/rpmbuild/Dockerfile b/build/docker/rpmbuild/Dockerfile index f6ddc34db3..98561c7831 100644 --- a/build/docker/rpmbuild/Dockerfile +++ b/build/docker/rpmbuild/Dockerfile @@ -23,7 +23,7 @@ RUN yum update -y && \ yum clean all && rm -rf /var/cache/yum # keep that format for easier search -ENV GO_VERSION 1.22.2 +ENV GO_VERSION 1.23.2 ENV GO_RELEASER_VERSION 1.24.0 RUN if [ `uname -i` == "x86_64" ]; then ARCH=amd64; else ARCH=arm64; fi && \ diff --git a/build/docker/rpmbuild/Dockerfile.el9 b/build/docker/rpmbuild/Dockerfile.el9 index aaee21b90a..be5f1458f7 100644 --- a/build/docker/rpmbuild/Dockerfile.el9 +++ b/build/docker/rpmbuild/Dockerfile.el9 @@ -28,7 +28,7 @@ RUN yum install -y gcc gcc-c++ \ yum clean all && rm -rf /var/cache/yum # keep that format for easier search -ENV GO_VERSION 1.22.3 +ENV GO_VERSION 1.23.2 ENV GO_RELEASER_VERSION 1.24.0 RUN if [ `uname -i` == "x86_64" ]; then ARCH=amd64; else ARCH=arm64; fi && \ diff --git a/devcontainer.Dockerfile b/devcontainer.Dockerfile index 10a3a94498..64e5ecb040 100644 --- a/devcontainer.Dockerfile +++ b/devcontainer.Dockerfile @@ -2,7 +2,7 @@ ARG PMM_SERVER_IMAGE="perconalab/pmm-server:dev-latest" FROM $PMM_SERVER_IMAGE ARG PMM_SERVER_IMAGE -ARG GO_VERSION="1.22.x" +ARG GO_VERSION="1.23.x" RUN echo "Building with: GO: $GO_VERSION, PMM: $PMM_SERVER_IMAGE" ENV GOPATH=/root/go diff --git a/go.mod b/go.mod index a85053f780..b44df65a24 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/percona/pmm -go 1.22.7 +go 1.23.2 // Update saas with // go get -v github.com/percona-platform/saas@latest @@ -23,7 +23,7 @@ require ( github.com/alecthomas/kong v0.9.0 github.com/alecthomas/units v0.0.0-20231202071711-9a357b53e9c9 github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 - github.com/aws/aws-sdk-go v1.55.3 + github.com/aws/aws-sdk-go v1.55.5 github.com/blang/semver v3.5.1+incompatible github.com/brianvoe/gofakeit/v6 v6.28.0 github.com/charmbracelet/bubbles v0.20.0 diff --git a/go.sum b/go.sum index fcf466e640..2b73851556 100644 --- a/go.sum +++ b/go.sum @@ -121,8 +121,8 @@ github.com/aws/aws-sdk-go v1.22.1/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48= github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/aws/aws-sdk-go v1.40.7/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= -github.com/aws/aws-sdk-go v1.55.3 h1:0B5hOX+mIx7I5XPOrjrHlKSDQV/+ypFZpIHOx5LOk3E= -github.com/aws/aws-sdk-go v1.55.3/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= +github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU= +github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= diff --git a/tools/go.mod b/tools/go.mod index d6ff51b44c..c0c01ff7d9 100644 --- a/tools/go.mod +++ b/tools/go.mod @@ -1,6 +1,6 @@ module github.com/percona/pmm/tools -go 1.22.7 +go 1.23.2 replace github.com/go-openapi/spec => github.com/Percona-Lab/spec v0.20.5-percona diff --git a/update/.devcontainer/install-dev-tools.sh b/update/.devcontainer/install-dev-tools.sh index c5e9b3faa5..a2618ac3db 100755 --- a/update/.devcontainer/install-dev-tools.sh +++ b/update/.devcontainer/install-dev-tools.sh @@ -8,7 +8,7 @@ set -o errexit set -o xtrace # download (in the background) the same verison as used by PMM build process -curl -sSL https://dl.google.com/go/go1.22.5.linux-amd64.tar.gz -o /tmp/golang.tar.gz & +curl -sSL https://dl.google.com/go/go1.23.2.linux-amd64.tar.gz -o /tmp/golang.tar.gz & # to install man pages sed -i '/nodocs/d' /etc/yum.conf diff --git a/update/docker-compose.yml b/update/docker-compose.yml index dab0b29593..ed9e2adf71 100644 --- a/update/docker-compose.yml +++ b/update/docker-compose.yml @@ -6,7 +6,7 @@ services: environment: # for tests - PMM_SERVER_IMAGE=${PMM_SERVER_IMAGE:-percona/pmm-server:2} - - GO_VERSION=${GO_VERSION:-1.22.x} + - GO_VERSION=${GO_VERSION:-1.23.x} - PATH=/root/go/bin:$PATH - REVIEWDOG_GITHUB_API_TOKEN=${REVIEWDOG_GITHUB_API_TOKEN} volumes: From 7cdb65929767e8b71913f5519a6c67e005bba104 Mon Sep 17 00:00:00 2001 From: Alex Demidoff Date: Thu, 17 Oct 2024 17:03:30 +0300 Subject: [PATCH 14/24] PMM-7 Update default RPM build vars (#3245) * PMM-7 Update default RPM build vars * PMM-7 remove Dockerfile(s) for RHEL7 * PMM-7 remove submodules update * PMM-7 revert the default docker image value --- build/docker/rpmbuild/Dockerfile | 52 -------------------------------- build/docker/server/Dockerfile | 36 ---------------------- build/scripts/build-submodules | 3 -- build/scripts/vars | 2 +- 4 files changed, 1 insertion(+), 92 deletions(-) delete mode 100644 build/docker/rpmbuild/Dockerfile delete mode 100644 build/docker/server/Dockerfile diff --git a/build/docker/rpmbuild/Dockerfile b/build/docker/rpmbuild/Dockerfile deleted file mode 100644 index 98561c7831..0000000000 --- a/build/docker/rpmbuild/Dockerfile +++ /dev/null @@ -1,52 +0,0 @@ -FROM centos:7 - -# enable nodesource repo for nodejs -RUN curl -sL https://rpm.nodesource.com/setup_16.x | bash - -RUN curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | tee /etc/yum.repos.d/yarn.repo - -RUN yum update -y && \ - yum install -y --setopt=skip_missing_names_on_install=False \ - gcc gcc-c++ \ - nodejs \ - libtool libtool-ltdl \ - make cmake \ - git \ - pkgconfig \ - sudo \ - automake autoconf \ - rpmdevtools createrepo_c epel-release \ - yum-utils rpm-build \ - wget \ - glibc-static \ - yarn && \ - yum -y remove nodesource-release-el7-1.noarch && \ - yum clean all && rm -rf /var/cache/yum - -# keep that format for easier search -ENV GO_VERSION 1.23.2 -ENV GO_RELEASER_VERSION 1.24.0 - -RUN if [ `uname -i` == "x86_64" ]; then ARCH=amd64; else ARCH=arm64; fi && \ - wget --progress=dot:giga https://dl.google.com/go/go${GO_VERSION}.linux-${ARCH}.tar.gz -O /tmp/golang.tar.gz && \ - wget --progress=dot:giga https://github.com/goreleaser/goreleaser/releases/download/v${GO_RELEASER_VERSION}/goreleaser-${GO_RELEASER_VERSION}-1.`uname -i`.rpm -O /tmp/goreleaser.rpm && \ - tar -C /usr/local -xzf /tmp/golang.tar.gz && \ - yum install -y /tmp/goreleaser.rpm && \ - rm /tmp/golang.tar.gz /tmp/goreleaser.rpm - -RUN update-alternatives --install "/usr/bin/go" "go" "/usr/local/go/bin/go" 0 -RUN update-alternatives --set go /usr/local/go/bin/go -RUN update-alternatives --install "/usr/bin/gofmt" "gofmt" "/usr/local/go/bin/gofmt" 0 -RUN update-alternatives --set gofmt /usr/local/go/bin/gofmt - -RUN useradd builder -u 1000 -m -G users,wheel && \ - echo "builder ALL=(ALL:ALL) NOPASSWD:ALL" >> /etc/sudoers && \ - echo "# macros" > /home/builder/.rpmmacros && \ - echo "%_topdir /home/builder/rpm" >> /home/builder/.rpmmacros && \ - mkdir /home/builder/rpm && \ - chmod 755 /home/builder && \ - chown -R builder:builder /home/builder - -USER builder - -ENV FLAVOR=rpmbuild OS=centos DIST=el7 -WORKDIR /home/builder/rpm diff --git a/build/docker/server/Dockerfile b/build/docker/server/Dockerfile deleted file mode 100644 index ca48e5d55e..0000000000 --- a/build/docker/server/Dockerfile +++ /dev/null @@ -1,36 +0,0 @@ -FROM centos:7 - -ARG VERSION -ARG BUILD_DATE - -LABEL org.opencontainers.image.created ${BUILD_DATE} -LABEL org.opencontainers.image.licenses AGPL-3.0 -LABEL org.opencontainers.image.title Percona Monitoring and Management -LABEL org.opencontainers.image.vendor Percona -LABEL org.opencontainers.image.version ${VERSION} - -EXPOSE 80 443 - -WORKDIR /opt - -# Disable fastestmirror plugin and update repo URLs -RUN sed -i 's/enabled=1/enabled=0/g' /etc/yum/pluginconf.d/fastestmirror.conf && \ - sed -i -e 's/^\(mirrorlist\)/#\1/g' /etc/yum.repos.d/CentOS-Base.repo && \ - sed -i -e 's|^#baseurl.*|baseurl=http://vault.centos.org/centos/\$releasever/os/\$basearch/|g' /etc/yum.repos.d/CentOS-Base.repo - -# Install EPEL repository and Ansible -RUN yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && \ - yum -y install ansible - -COPY RPMS /tmp/RPMS -COPY gitCommit /tmp/gitCommit - -COPY ansible /opt/ansible -RUN cp -r /opt/ansible/roles /opt/ansible/pmm2-docker/roles -RUN ansible-playbook -vvv -i 'localhost,' -c local /opt/ansible/pmm2-docker/main.yml \ - && ansible-playbook -vvv -i 'localhost,' -c local /usr/share/pmm-update/ansible/playbook/tasks/update.yml \ - && ansible-playbook -vvv -i 'localhost,' -c local /opt/ansible/pmm2/post-build-actions.yml - -COPY entrypoint.sh /opt/entrypoint.sh -HEALTHCHECK --interval=3s --timeout=2s --start-period=10s --retries=3 CMD curl -f http://127.0.0.1/v1/readyz || exit 1 -CMD ["/opt/entrypoint.sh"] diff --git a/build/scripts/build-submodules b/build/scripts/build-submodules index e7dc1d7c47..aabb5e66c6 100755 --- a/build/scripts/build-submodules +++ b/build/scripts/build-submodules @@ -1,9 +1,6 @@ #!/bin/bash set -o errexit -git submodule update --init --jobs 10 -git submodule status - if [ -s ci.yml ]; then if [ -f /home/ec2-user/venv/bin/activate ]; then source /home/ec2-user/venv/bin/activate diff --git a/build/scripts/vars b/build/scripts/vars index bf567ce109..26f95d44ac 100644 --- a/build/scripts/vars +++ b/build/scripts/vars @@ -45,7 +45,7 @@ echo -e "\n\n\n>>> full_pmm_version=${full_pmm_version} pmm_version=${pmm_versio rpmbuild_docker_image=${RPMBUILD_DOCKER_IMAGE:-public.ecr.aws/e7j3v3n0/rpmbuild:2} rpms_dir=${root_dir}/tmp/pmm-server/RPMS rpmbuild_dir=${root_dir}/sources/pmm/src/github.com/percona/pmm/build/packages/rpm/server -rpmbuild_dist=${RPMBUILD_DIST:-"el7"} +rpmbuild_dist=${RPMBUILD_DIST:-"el9"} source_dir=${root_dir}/tmp/source/pmm2-client-${pmm_version} binary_dir=${root_dir}/tmp/binary/pmm2-client-${pmm_version} client_properties=${root_dir}/results/pmm-client.properties From 191c89f0d941b18bc2436ef15e305262aad4c606 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 17 Oct 2024 14:11:53 +0000 Subject: [PATCH 15/24] Bump google.golang.org/protobuf from 1.34.2 to 1.35.1 (#3250) Bumps google.golang.org/protobuf from 1.34.2 to 1.35.1. --- updated-dependencies: - dependency-name: google.golang.org/protobuf dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b44df65a24..b85ea9695b 100644 --- a/go.mod +++ b/go.mod @@ -83,7 +83,7 @@ require ( google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 google.golang.org/grpc v1.67.1 - google.golang.org/protobuf v1.34.2 + google.golang.org/protobuf v1.35.1 gopkg.in/alecthomas/kingpin.v2 v2.2.6 gopkg.in/reform.v1 v1.5.1 gopkg.in/yaml.v3 v3.0.1 diff --git a/go.sum b/go.sum index 2b73851556..46c760827b 100644 --- a/go.sum +++ b/go.sum @@ -1193,8 +1193,8 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= 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= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= 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= From 5d78a4dcf3583e9675646a4be56c37cd1f4fd0ea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 17 Oct 2024 14:20:32 +0000 Subject: [PATCH 16/24] Bump github.com/alecthomas/kong from 0.9.0 to 1.2.1 (#3247) Bumps [github.com/alecthomas/kong](https://github.com/alecthomas/kong) from 0.9.0 to 1.2.1. - [Commits](https://github.com/alecthomas/kong/compare/v0.9.0...v1.2.1) --- updated-dependencies: - dependency-name: github.com/alecthomas/kong dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index b85ea9695b..d4279e0221 100644 --- a/go.mod +++ b/go.mod @@ -20,7 +20,7 @@ require ( github.com/ClickHouse/clickhouse-go/151 v0.0.0-00010101000000-000000000000 github.com/ClickHouse/clickhouse-go/v2 v2.29.0 github.com/DATA-DOG/go-sqlmock v1.5.0 - github.com/alecthomas/kong v0.9.0 + github.com/alecthomas/kong v1.2.1 github.com/alecthomas/units v0.0.0-20231202071711-9a357b53e9c9 github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 github.com/aws/aws-sdk-go v1.55.5 diff --git a/go.sum b/go.sum index 46c760827b..10313b18be 100644 --- a/go.sum +++ b/go.sum @@ -94,11 +94,11 @@ github.com/Percona-Lab/spec v0.20.5-percona h1:ViCJVq52QIZxpP8/Nv4/nIed+WnqUirNj github.com/Percona-Lab/spec v0.20.5-percona/go.mod h1:2OpW+JddWPrpXSCIX8eOx7lZ5iyuWj3RYR6VaaBKcWA= 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= -github.com/alecthomas/assert/v2 v2.6.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k= +github.com/alecthomas/assert/v2 v2.10.0 h1:jjRCHsj6hBJhkmhznrCzoNpbA3zqy0fYiUcYZP/GkPY= +github.com/alecthomas/assert/v2 v2.10.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k= github.com/alecthomas/kingpin v2.2.6+incompatible/go.mod h1:59OFYbFVLKQKq+mqrL6Rw5bR0c3ACQaawgXx0QYndlE= -github.com/alecthomas/kong v0.9.0 h1:G5diXxc85KvoV2f0ZRVuMsi45IrBgx9zDNGNj165aPA= -github.com/alecthomas/kong v0.9.0/go.mod h1:Y47y5gKfHp1hDc7CH7OeXgLIpp+Q2m1Ni0L5s3bI8Os= +github.com/alecthomas/kong v1.2.1 h1:E8jH4Tsgv6wCRX2nGrdPyHDUCSG83WH2qE4XLACD33Q= +github.com/alecthomas/kong v1.2.1/go.mod h1:rKTSFhbdp3Ryefn8x5MOEprnRFQ7nlmMC01GKhehhBM= 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= From 24586c6747b3541bbf5afd4e8882eb4ed9b928e1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 17 Oct 2024 14:29:18 +0000 Subject: [PATCH 17/24] Bump github.com/Azure/azure-sdk-for-go/sdk/azidentity (#3248) Bumps [github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://github.com/Azure/azure-sdk-for-go) from 1.7.0 to 1.8.0. - [Release notes](https://github.com/Azure/azure-sdk-for-go/releases) - [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/release.md) - [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.7.0...sdk/azcore/v1.8.0) --- updated-dependencies: - dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azidentity dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 6 +++--- go.sum | 22 ++++++++++++++++------ 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index d4279e0221..7bfeb71b82 100644 --- a/go.mod +++ b/go.mod @@ -165,9 +165,9 @@ require ( ) require ( - github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1 // indirect - github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 - github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.0 + github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resourcegraph/armresourcegraph v0.9.0 github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect github.com/ClickHouse/ch-go v0.61.5 // indirect diff --git a/go.sum b/go.sum index 10313b18be..9580dea724 100644 --- a/go.sum +++ b/go.sum @@ -39,12 +39,14 @@ github.com/AlekSi/pointer v1.2.0 h1:glcy/gc4h8HnG2Z3ZECSzZ1IX1x2JxRVuDzaJwQE0+w= github.com/AlekSi/pointer v1.2.0/go.mod h1:gZGfd3dpW4vEc/UlyfKKi1roIqcCgwOIvb0tSNSBle0= github.com/Azure/azure-pipeline-go v0.2.3 h1:7U9HBg1JFK3jHl5qmo4CTZKFTVgMwdFHMVtCdfBE21U= github.com/Azure/azure-pipeline-go v0.2.3/go.mod h1:x841ezTBIMG6O3lAcl8ATHnsOPVl2bqk7S3ta6S6u4k= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1 h1:E+OJmp2tPvt1W+amx48v1eqbjDYsgN+RzP4q16yV5eM= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1/go.mod h1:a6xsAQUZg+VsS3TJ05SRp524Hs4pZ/AeFSr5ENf0Yjo= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 h1:tfLQ34V6F7tVSwoTf/4lH5sE0o6eCJuNDTmH09nDpbc= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0/go.mod h1:9kIvujWAA58nmPmWB1m23fyWic1kYZMxD9CxaWn4Qpg= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0 h1:jBQA3cKT4L2rWMpgE7Yt3Hwh2aUj8KXjIGLxjHeYNNo= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0/go.mod h1:4OG6tQ9EOP/MT0NMjDlRzWoVFxfu9rN9B2X+tlSVktg= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0 h1:nyQWyZvwGTvunIMxi1Y9uXkcyr+I7TeNrr/foo4Kpk8= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0/go.mod h1:l38EPgmsp71HHLq9j7De57JcKOWPyhrsW1Awm1JS6K0= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.0 h1:B/dfvscEQtew9dVuoxqxrUKKv8Ih2f55PydknDamU+g= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.0/go.mod h1:fiPSssYvltE08HJchL04dOy+RD4hgrjph0cwGGMntdI= +github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.0 h1:+m0M/LFxN43KvULkDNfdXOgrjtg6UYJPFBJyuEcRCAw= +github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.0/go.mod h1:PwOyop78lveYMRs6oCxjiVyBdyCgIYH6XHIVZO9/SFQ= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 h1:ywEEhmNahHBihViHepv3xPBn1663uRv2t2q/ESv9seY= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0/go.mod h1:iZDifYGJTIgIIkYRNWPENUnqx6bJ2xnSDFI2tjwZNuY= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resourcegraph/armresourcegraph v0.9.0 h1:zLzoX5+W2l95UJoVwiyNS4dX8vHyQ6x2xRLoBBL9wMk= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resourcegraph/armresourcegraph v0.9.0/go.mod h1:wVEOJfGTj0oPAUGA1JuRAvz/lxXQsWW16axmHPP47Bk= github.com/Azure/azure-storage-blob-go v0.13.0/go.mod h1:pA9kNqtjUeQF2zOSu4s//nUdBD+e64lEuc4sVnuOfNs= @@ -66,6 +68,8 @@ github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+Z github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= +github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1 h1:WJTmL004Abzc5wDB5VtZG2PJk5ndYDgVacGqfirKxjM= +github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1/go.mod h1:tCcJZ0uHAmvjsVYzEFivsRTN00oz5BEsRgQHu5JZ9WE= github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 h1:XHOnouVk1mxXfQidrMEnLlPk9UMeRtyBTnEFtxkV0kU= github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= @@ -183,6 +187,8 @@ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8Yc github.com/denisenkom/go-mssqldb v0.9.0 h1:RSohk2RsiZqLZ0zCjtfn3S4Gp4exhpBWHyQ7D0yGjAk= github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/dhui/dktest v0.4.0 h1:z05UmuXZHO/bgj/ds2bGMBu8FI4WA+Ag/m3ghL+om7M= github.com/dhui/dktest v0.4.0/go.mod h1:v/Dbz1LgCBOi2Uki2nUqLBGa83hWBGFMu5MrgMDCc78= github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= @@ -493,6 +499,8 @@ github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8 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/keybase/go-keychain v0.0.0-20231219164618-57a3676c3af6 h1:IsMZxCuZqKuao2vNdfD82fjjgPLfyHLpR41Z88viRWs= +github.com/keybase/go-keychain v0.0.0-20231219164618-57a3676c3af6/go.mod h1:3VeWNIJaW+O5xpRQbPp0Ybqu1vJd/pm7s2F473HRrkw= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= @@ -716,6 +724,8 @@ github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0leargg github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/ramr/go-reaper v0.2.1 h1:zww+wlQOvTjBZuk1920R/e0GFEb6O7+B0WQLV6dM924= github.com/ramr/go-reaper v0.2.1/go.mod h1:AVypdzrcCXjSc/JYnlXl8TsB+z84WyFzxWE8Jh0MOJc= +github.com/redis/go-redis/v9 v9.6.1 h1:HHDteefn6ZkTtY5fGUE8tj8uy85AHk6zP7CpzIAM0y4= +github.com/redis/go-redis/v9 v9.6.1/go.mod h1:0C0c6ycQsdpVNQpxb1njEQIqkx5UcsM8FJCQLgE9+RA= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= From de95e53dc5b89172326766f8b42f45f7af15a141 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 17 Oct 2024 14:37:53 +0000 Subject: [PATCH 18/24] Bump github.com/prometheus/common from 0.55.0 to 0.60.0 (#3249) Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.55.0 to 0.60.0. - [Release notes](https://github.com/prometheus/common/releases) - [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md) - [Commits](https://github.com/prometheus/common/compare/v0.55.0...v0.60.0) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index 7bfeb71b82..7aaecde9b3 100644 --- a/go.mod +++ b/go.mod @@ -66,8 +66,8 @@ require ( github.com/pkg/sftp v1.13.6 github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 github.com/prometheus/alertmanager v0.27.0 - github.com/prometheus/client_golang v1.19.1 - github.com/prometheus/common v0.55.0 + github.com/prometheus/client_golang v1.20.4 + github.com/prometheus/common v0.60.0 github.com/ramr/go-reaper v0.2.1 github.com/robfig/cron/v3 v3.0.1 github.com/sirupsen/logrus v1.9.3 @@ -209,7 +209,7 @@ require ( github.com/josharian/intern v1.0.0 // indirect github.com/jpillora/backoff v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/compress v1.17.9 // indirect github.com/klauspost/cpuid/v2 v2.2.4 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/lucasb-eyer/go-colorful v1.2.0 // indirect @@ -256,7 +256,7 @@ require ( go.opentelemetry.io/otel/trace v1.28.0 // indirect golang.org/x/mod v0.21.0 // indirect golang.org/x/net v0.30.0 // indirect - golang.org/x/oauth2 v0.22.0 // indirect + golang.org/x/oauth2 v0.23.0 // indirect golang.org/x/term v0.25.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gotest.tools/v3 v3.3.0 // indirect diff --git a/go.sum b/go.sum index 9580dea724..e7584d08e6 100644 --- a/go.sum +++ b/go.sum @@ -508,8 +508,8 @@ github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0 github.com/klauspost/compress v1.10.1/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.13.1/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= -github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= +github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= +github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.1/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.2.4 h1:acbojRNwl3o09bUq+yDCtZFc1aiwaAAxtcn8YkZXnvk= github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= @@ -696,8 +696,8 @@ github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5Fsn github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE= -github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho= +github.com/prometheus/client_golang v1.20.4 h1:Tgh3Yr67PaOv/uTqloMsCEdeuFTatm5zIq5+qNN23vI= +github.com/prometheus/client_golang v1.20.4/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -709,8 +709,8 @@ github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8b github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.55.0 h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc= -github.com/prometheus/common v0.55.0/go.mod h1:2SECS4xJG1kd8XF9IcM1gMX6510RAEL65zxzNImwdc8= +github.com/prometheus/common v0.60.0 h1:+V9PAREWNvJMAuJ1x1BaWl9dewMW4YrHZQbx0sJNllA= +github.com/prometheus/common v0.60.0/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= github.com/prometheus/common/sigv4 v0.1.0 h1:qoVebwtwwEhS85Czm2dSROY5fTo2PAPEVdDeppTwGX4= github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI= github.com/prometheus/exporter-toolkit v0.11.0 h1:yNTsuZ0aNCNFQ3aFTD2uhPOvr4iD7fdBvKPAEGkNf+g= @@ -940,8 +940,8 @@ 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-20210514164344-f6687ab2804c/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= +golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs= +golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 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= From 4141b568f297f410795044d1cc34c49c34c4ba5e Mon Sep 17 00:00:00 2001 From: Nurlan Moldomurov Date: Fri, 18 Oct 2024 01:27:25 +0300 Subject: [PATCH 19/24] PMM-7 pull v2 changes. --- api/agent/v1/collector.pb.go | 206 +- api/descriptor.bin | Bin 705738 -> 709042 bytes api/qan/v1/collector.pb.go | 122 +- api/qan/v1/collector.proto | 22 +- .../qan_service/get_metrics_responses.go | 24 +- .../qan_service/get_report_responses.go | 24 +- api/qan/v1/json/v1.json | 2231 +- api/qan/v1/qan.pb.go | 234 +- api/qan/v1/qan.pb.validate.go | 16 +- api/qan/v1/qan.proto | 165 +- api/qanpb/collector.pb.go | 2879 -- api/qanpb/collector.proto | 397 - api/qanpb/qan.pb.go | 1172 - api/swagger/swagger-dev.json | 40132 +--------------- go.mod | 6 - go.sum | 587 +- 16 files changed, 1634 insertions(+), 46583 deletions(-) delete mode 100644 api/qanpb/collector.pb.go delete mode 100644 api/qanpb/collector.proto delete mode 100644 api/qanpb/qan.pb.go diff --git a/api/agent/v1/collector.pb.go b/api/agent/v1/collector.pb.go index 0b3bd9411c..ad7ce05e44 100644 --- a/api/agent/v1/collector.pb.go +++ b/api/agent/v1/collector.pb.go @@ -2133,7 +2133,7 @@ var file_agent_v1_collector_proto_rawDesc = []byte{ 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x1a, 0x19, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0xf8, 0x4c, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, 0x63, 0x6b, 0x65, + 0x94, 0x4f, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, @@ -2609,7 +2609,7 @@ var file_agent_v1_collector_proto_rawDesc = []byte{ 0x65, 0x64, 0x4d, 0x61, 0x78, 0x12, 0x2b, 0x0a, 0x12, 0x6d, 0x5f, 0x64, 0x6f, 0x63, 0x73, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x70, 0x39, 0x39, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6d, 0x44, 0x6f, 0x63, 0x73, 0x53, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x50, - 0x39, 0x39, 0x1a, 0xb5, 0x11, 0x0a, 0x0a, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x53, 0x51, + 0x39, 0x39, 0x1a, 0xd1, 0x13, 0x0a, 0x0a, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x53, 0x51, 0x4c, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x43, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x02, 0x20, @@ -2680,98 +2680,116 @@ var file_agent_v1_collector_proto_rawDesc = []byte{ 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x62, 0x6c, 0x6b, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x6d, 0x54, 0x65, 0x6d, 0x70, 0x42, 0x6c, 0x6b, 0x73, 0x57, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x53, 0x75, - 0x6d, 0x12, 0x2c, 0x0a, 0x13, 0x6d, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, - 0x6d, 0x42, 0x6c, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, - 0x2c, 0x0a, 0x13, 0x6d, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x18, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6d, 0x42, - 0x6c, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x12, 0x2e, 0x0a, - 0x14, 0x6d, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6d, 0x42, 0x6c, - 0x6b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x2e, 0x0a, - 0x14, 0x6d, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6d, 0x42, 0x6c, - 0x6b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x12, 0x2c, 0x0a, - 0x13, 0x6d, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6d, 0x43, 0x70, 0x75, - 0x55, 0x73, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x13, 0x6d, - 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, - 0x75, 0x6d, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6d, 0x43, 0x70, 0x75, 0x55, 0x73, - 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x12, 0x2a, 0x0a, 0x12, 0x6d, 0x5f, 0x63, - 0x70, 0x75, 0x5f, 0x73, 0x79, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, - 0x1d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x43, 0x70, 0x75, 0x53, 0x79, 0x73, 0x54, 0x69, - 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x12, 0x6d, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x73, - 0x79, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x1e, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x0e, 0x6d, 0x43, 0x70, 0x75, 0x53, 0x79, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, - 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6d, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x2b, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x11, - 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x5f, 0x73, 0x75, - 0x6d, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x43, - 0x61, 0x6c, 0x6c, 0x73, 0x53, 0x75, 0x6d, 0x12, 0x29, 0x0a, 0x11, 0x6d, 0x5f, 0x70, 0x6c, 0x61, - 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x20, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x43, - 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x11, 0x6d, 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x21, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, - 0x57, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x53, 0x75, 0x6d, 0x12, 0x29, 0x0a, - 0x11, 0x6d, 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x5f, 0x63, - 0x6e, 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x57, 0x61, 0x6c, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x73, 0x43, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0d, 0x6d, 0x5f, 0x77, 0x61, - 0x6c, 0x5f, 0x66, 0x70, 0x69, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x23, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x0a, 0x6d, 0x57, 0x61, 0x6c, 0x46, 0x70, 0x69, 0x53, 0x75, 0x6d, 0x12, 0x21, 0x0a, 0x0d, 0x6d, - 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x66, 0x70, 0x69, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x24, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x0a, 0x6d, 0x57, 0x61, 0x6c, 0x46, 0x70, 0x69, 0x43, 0x6e, 0x74, 0x12, 0x25, - 0x0a, 0x0f, 0x6d, 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x73, 0x75, - 0x6d, 0x18, 0x25, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x57, 0x61, 0x6c, 0x42, 0x79, 0x74, - 0x65, 0x73, 0x53, 0x75, 0x6d, 0x12, 0x25, 0x0a, 0x0f, 0x6d, 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x26, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, - 0x6d, 0x57, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x43, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0f, - 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, - 0x27, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x50, 0x6c, 0x61, 0x6e, 0x54, 0x69, 0x6d, 0x65, - 0x53, 0x75, 0x6d, 0x12, 0x25, 0x0a, 0x0f, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x50, - 0x6c, 0x61, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0f, 0x6d, 0x5f, - 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x29, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x50, 0x6c, 0x61, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x69, - 0x6e, 0x12, 0x25, 0x0a, 0x0f, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x50, 0x6c, 0x61, - 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x61, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x70, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x69, 0x64, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, - 0x6f, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x70, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, - 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x69, 0x64, 0x18, 0x2e, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x30, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x40, 0x0a, 0x0f, 0x68, 0x69, 0x73, 0x74, - 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x31, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x69, 0x73, - 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0e, 0x68, 0x69, 0x73, 0x74, - 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x43, 0x0a, 0x0d, 0x48, 0x69, - 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x72, - 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x2a, - 0x95, 0x01, 0x0a, 0x0b, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1c, 0x0a, 0x18, 0x45, 0x58, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, - 0x13, 0x45, 0x58, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, - 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x58, 0x41, 0x4d, 0x50, 0x4c, - 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x4c, 0x4f, 0x57, 0x45, 0x53, 0x54, 0x10, 0x02, - 0x12, 0x18, 0x0a, 0x14, 0x45, 0x58, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x46, 0x41, 0x53, 0x54, 0x45, 0x53, 0x54, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x58, - 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x42, 0x8c, 0x01, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x2e, - 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2b, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x61, 0x2f, 0x70, - 0x6d, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x3b, - 0x61, 0x67, 0x65, 0x6e, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x41, 0x58, 0x58, 0xaa, 0x02, 0x08, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x08, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x14, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x09, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6d, 0x12, 0x39, 0x0a, 0x1a, 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x6c, + 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, + 0x17, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x6d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x42, 0x6c, + 0x6b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x1a, + 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x72, 0x65, 0x61, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x18, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x15, 0x6d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x42, 0x6c, 0x6b, 0x52, 0x65, 0x61, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x12, 0x3b, 0x0a, 0x1b, 0x6d, 0x5f, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, 0x6d, 0x53, + 0x68, 0x61, 0x72, 0x65, 0x64, 0x42, 0x6c, 0x6b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x43, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x1b, 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, + 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, + 0x73, 0x75, 0x6d, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, 0x6d, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x64, 0x42, 0x6c, 0x6b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, + 0x6d, 0x12, 0x37, 0x0a, 0x19, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x6b, + 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x32, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x14, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x6c, 0x6b, 0x52, + 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x19, 0x6d, 0x5f, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x33, 0x20, 0x01, 0x28, 0x02, 0x52, 0x14, 0x6d, + 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x6c, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, + 0x53, 0x75, 0x6d, 0x12, 0x39, 0x0a, 0x1a, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x62, + 0x6c, 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6e, + 0x74, 0x18, 0x34, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, + 0x6c, 0x6b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x39, + 0x0a, 0x1a, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x35, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x15, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x6c, 0x6b, 0x57, 0x72, 0x69, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x12, 0x2c, 0x0a, 0x13, 0x6d, 0x5f, 0x63, + 0x70, 0x75, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6e, 0x74, + 0x18, 0x1b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6d, 0x43, 0x70, 0x75, 0x55, 0x73, 0x65, 0x72, + 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x13, 0x6d, 0x5f, 0x63, 0x70, 0x75, + 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x1c, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6d, 0x43, 0x70, 0x75, 0x55, 0x73, 0x65, 0x72, 0x54, 0x69, + 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x12, 0x2a, 0x0a, 0x12, 0x6d, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x73, + 0x79, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x0e, 0x6d, 0x43, 0x70, 0x75, 0x53, 0x79, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6e, + 0x74, 0x12, 0x2a, 0x0a, 0x12, 0x6d, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x73, 0x79, 0x73, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, + 0x43, 0x70, 0x75, 0x53, 0x79, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x12, 0x19, 0x0a, + 0x08, 0x63, 0x6d, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x11, 0x6d, 0x5f, 0x70, 0x6c, + 0x61, 0x6e, 0x73, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x1f, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x73, + 0x53, 0x75, 0x6d, 0x12, 0x29, 0x0a, 0x11, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x5f, 0x63, + 0x61, 0x6c, 0x6c, 0x73, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, + 0x6d, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x43, 0x6e, 0x74, 0x12, 0x29, + 0x0a, 0x11, 0x6d, 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x5f, + 0x73, 0x75, 0x6d, 0x18, 0x21, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x57, 0x61, 0x6c, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x53, 0x75, 0x6d, 0x12, 0x29, 0x0a, 0x11, 0x6d, 0x5f, 0x77, + 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x22, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x57, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x73, 0x43, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0d, 0x6d, 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x66, 0x70, + 0x69, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x23, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x6d, 0x57, 0x61, + 0x6c, 0x46, 0x70, 0x69, 0x53, 0x75, 0x6d, 0x12, 0x21, 0x0a, 0x0d, 0x6d, 0x5f, 0x77, 0x61, 0x6c, + 0x5f, 0x66, 0x70, 0x69, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x24, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, + 0x6d, 0x57, 0x61, 0x6c, 0x46, 0x70, 0x69, 0x43, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0f, 0x6d, 0x5f, + 0x77, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x25, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x57, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x53, 0x75, + 0x6d, 0x12, 0x25, 0x0a, 0x0f, 0x6d, 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x26, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x57, 0x61, 0x6c, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x43, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0f, 0x6d, 0x5f, 0x70, 0x6c, + 0x61, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x27, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x0c, 0x6d, 0x50, 0x6c, 0x61, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x12, + 0x25, 0x0a, 0x0f, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, + 0x6e, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x50, 0x6c, 0x61, 0x6e, 0x54, + 0x69, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0f, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x6e, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x29, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x0c, 0x6d, 0x50, 0x6c, 0x61, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x6e, 0x12, 0x25, 0x0a, + 0x0f, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x78, + 0x18, 0x2a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x50, 0x6c, 0x61, 0x6e, 0x54, 0x69, 0x6d, + 0x65, 0x4d, 0x61, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x70, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x69, 0x64, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, 0x70, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x70, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x69, 0x64, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, + 0x6c, 0x61, 0x6e, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, + 0x6c, 0x61, 0x6e, 0x18, 0x30, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x40, 0x0a, 0x0f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, + 0x6d, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x31, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, + 0x61, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0e, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, + 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x43, 0x0a, 0x0d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, + 0x72, 0x61, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x2a, 0x95, 0x01, 0x0a, 0x0b, + 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x45, + 0x58, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x58, 0x41, + 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, + 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x58, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x53, 0x4c, 0x4f, 0x57, 0x45, 0x53, 0x54, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, + 0x45, 0x58, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x41, 0x53, + 0x54, 0x45, 0x53, 0x54, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x58, 0x41, 0x4d, 0x50, 0x4c, + 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x10, 0x04, 0x42, 0x8c, 0x01, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x2e, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x61, 0x2f, 0x70, 0x6d, 0x6d, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x41, 0x58, 0x58, 0xaa, 0x02, 0x08, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x08, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0xe2, + 0x02, 0x14, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x09, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x3a, 0x3a, + 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/descriptor.bin b/api/descriptor.bin index 2b5e4a8770aa51df00da06e705c2165d7059bbe7..ce01ad42eb082a59587ad47eb63b53031c97c337 100644 GIT binary patch delta 6944 zcmaKxdvI697021Vdz0VZBqEn2B)`0VdA}3#0OTPgh_9+uz?pVBT1GIfC?N<@Yqb4| zfL0MuF|MG_Fw~(`1z(K6aqP6FT9FW5$~y!Ch@uwM)>nPde$RdF4@~?c!<;?m^F3$x z-rw%IOZNknFaN3Xp2ci2Uu-NEo6N=pvHmo()R~loOf@yZEa8t`9lJBZ?8@Q0hQ}rp znXMvetQBsZvEZf~=C|CaHk6r}1!=9*9c%KOTc)+#aO1VJTU#!g+iu6l^&&1hK-~1( zTJ7;xmajKs=A2t*+%bQ4d&`V=sLYr(w>={>!piuxbe-cDO1iaw3){Jl*9BsJ~ z6$Uh=9%E&;&Y06S>xMZ_=J}{zC$4wc)YdD>f6m+n1u1F6z+kk6QaY=mQ=T)~Mh8s` zat74~3pyZ5Sw{_qQr0SKcx!BSx%nHB^wCqyO0>-(Lq6oH?j18VcDmZUp7Enx&D$(r zh<#scwvS?mVz;)KcZXPoI^AmK7Z+JWtwb@zFnGFQi}k#;-1;N45}c6{ws@9{itz7L zO`91xkJfPZ+}}q07evV`)S5Okq&ChqGYYiO2nan(Lg#rp8Mb(ii%NBJE)o_82{RD) z951WT2{Uc60fBD9vV?OIMQ+k;CfE(c`Z>b3*vLhBARacI0jUQV4OoSG01_K{Ntt!O zKi@1{ya+9qzGtbTQJ@T~ZWz7NqO8m0s+F}zIx{zE<83TICxtQ`MZsi11&V|G#9x1Tu zyeE@qi&r6``k#7N+-eq$DFFOB7gms| z0PyQPX}BIhrq_9ThIO?E7uw57|@GXf*HKUEiF+3 ziML4N*IvF-TfD7?EikWByW25?5rI}IBH!lW>|h3Ew%E)?jymr)Ge1wql_733#a-kn zmfK>B`f!2S94$vVTjI+pM>$)#l^G-{2fT%6=LShCY|+g{UJy_L2@L2NRY0OUUZMgL z-6YZI<*&3w4s%^2|k%)R5Wi>P~qBW|au{~a+8XDWK%;O5lJ!6W4W#JxYJ_Gl&#It^sB=y>LbR7x*ILPz5JUJ7Tl8_B zYNc2vS>R!Yd=qpZmqUFMXdkzSdnlZTIk!D00}3F&AYm&u9BC`|T=R-bJ zx7}$@jK0r9t|Fr~IKlaFhk=FX0@Gasm{2^y<$1mriYNFm+bM=|I6vUrO$Q4oOdn;A zSGp?%FVGKoTKdd{dGp)uukSGNmw>;-Sbaw*@k_pHmKxtCv-rokv0t{yzgf{st%9>U zQr#D#(V8)@W&Vr>EweJ3oQ5k)H>T6P<`)guH7)a}x6HCHw+hb^itF~`m6{!;Y+tGR z>@L;Qy4cDeuvb;jb;z8`ALn)^F;KUtKJSpjhiCn`$5hE3vVu)fV>;wScCos>LrzY- z#3?PThW%Zps`ol%r8;w$OiuTFM*&=;87gD(GroW|H+Vn?I$SnALv%=wAb+D4R* z{Hew=xl@KC6?i4+H-tURh~oEkpG#v0TgZ6bkK4qlYGJ2L&#&}e)sc8R7P6X=K8I~< z5#zOkr=6<4BEHXgmu8YR;s#hw7|Fb^=ayO%goqinI1 z@tW`jYS&{jTU~pTnd2&*A*jrQMgdyNDyuzcv@Mp!LEjse3)PKA?eO@uk4EjwSjbly z4V7i2GTBKz#uh8oQ;*9gWv!CwSw&v1F^F2h(A-|^L|tHuM^uWE7pa>ms?>|R08x*y ziYhDWM2)q@O0`hQ-`9;r2`hC8V^P9N7Ao|xvA|X`bl5I7&K8}j_6cC)fOTqY9I#Fn z@@pCgtdnZ0b+V1Og;IS_$m+WBz?8scM$ilrio}a3Oe%`RjZk_%$q)@9`IcU&D$@ymg*v zi?u3qwQQ=J2yCs!CIVZlv5COe5_X-Fc9JcgQ4g+`ziONW>=}(s0`?3G<#^d90egm_ zgKu`QCR?myyjXp_z#Od(ua*gQO~5ha7uy7U9Sh}ocoXn-4Bvd^4&IC}N44ZhSz6x= zY`w;sfvwkAGqCl9-HfvXN5}JQ$P4Q5lX7 zs`n}RSN{C;*s7=Hio)nPeLFJ1ox;b=*(?XR384@C!C9OZ8J`Tw;=r*dxVI=#x|SK} z8s%RuJ=i^phYv(k?o)%)l>CC=9wj=!q))r>z&9xxJ%^;UpAJS+QfIZ!J>aId`}anl zx$Gc!DFea|OL;#(i&Yt2vXuQ>HFe1v_8-;OC9ByN>gg_7#lBSCU9y0E6+6`>PaDZg z{JWJ$jj%duTe&gwZ8@8)3>uGS@5d4=vLG2{QF*XbZHc5WBwb$c7H+ab=& z2RVFl60NCfXvoU&KB@_T!XZ*{-`C9$Kp$D5E)5}1q0_)JzL}!>c!_hXKzZIl82Uc% z(k3{h9Q~J}Khr1QA@T^3uKpH)==$7i492(6&jog(muL(9Uivw*bG+)pjWw-NpU&&{_+IxDmt?vud7`A#`=)X67gcGRtXJ88k`Yi%d3lUi## zX`Li3cWHLO{SoK>)7U{cY#-l2_(weCe&;a0gYb`dPQpH8xGy=6sHc*xyc|F3J&O90qAqgOb|dO* z^*?DfMR!vnU+X#Srb52vAs^jM=+`>I9=N|j0m=^M#iqrIf{EzijEp6NcgzoXAE*S(K$*gn3G z@b5IfkMQpZpX`*fAMPJG&kZ-I`;x42(f!0@z~}c9{{s(=@bvc+{{s)ZEdk>P;64N1 za~~iawvQhm{EWsA5PpX61}FVNxbHELz9@n%yegt5;oc^CkW?`2s~jYidyJrngQRkg z5fsr2_d=+6Mf4I5+sAteU#Rh3!WU}%5Zw1_{7{s54EX#Z;_ub`A>!}Vd>`D4G~Y)! zY#;9-Q7?kP-aoj>5eR{~_SXAEorLef%il%M9FMxap4)zRa-Gy!6N5UT$!I?>WYz z;4$Fy$B18U$l)G;jQHh7dZx!8hkJz)oJ7Z|kArP_;m4_*6$TnPH~n#vTVdG#UU;13 hRv0)%EOeQ;6?rtp7!tOUEJM)U!lSV>L#>`o{|8tq0@MHi delta 4590 zcmZXYdvKK18OC$Yo^P|~B!T3R>~1#6-m)S0Yyt#Jh=z;eOa(#ej5DovhK|}&g>VVj zcGL|QajfG|XF78j3@OOPj#R5vyB(+~qe2n_Bq1Rrph*9)S}0WNrA{5_bH4p9+xCx4 z@}BqkJ?Gu?o%4QY^M}3l1JBfVZzWslR?k-UrZLM)Z~Rrw_8Rl)zZR!|?lq29(6@@x z?FnNQBMoZ%aqbTWqNIi{pSo(nqmL|qXvKr~u3Yud!qr`}K^;N1EcpM~?`>Emn?&&{ zHQdLG)orzgcUqyQ?_0OB>meI&QsF)x@P$mga8-J3o$(8ncYX&ExzfnVxkS~`d%Tf! zNzzzO$oce7nvKM4ayI?k!^Y!2QmI6z5v!^YQ$;Sz@p!1;BiV0hG%hv~;WbABlD$k> zWoWIsXN?h6YdQ^|8tvuZRsEetH13iCkS}X;iUkHGJ4jhV<*mUCVP}RQbO&jy(w(7H zvR5F?%utgtAHZC37b*qxiiT|SkYul-DwV(1h(+8YLeRaci)gWmD3k0pwRpXeR3mGR zU{<+hP`;L3Znx@{u+$pyly4PtWCT3cW6_UN7b*oFnbQSKxYK*Kif)SUf z0P%(Q92OXGE#j~^l5G)(#Sv}sL#v2N$=;=`B6PQ! zx6!yy85{5@1J0+ag#29^DtA71Lb9WftBwuW9Ih?_-BGPuXxUat_MR$w%$To^YR6K? zu?oufXnELioG#h>ltt9PwWF(>4&D1&H_LLYmh6}se9V}k)W-jEtcLPfwquQC$F<|| zMkAJT9c!RFo~^5utPeV;v|6kl2He%F#p?A@;ab$fqA%N`PO|=Ni#k|fz_qBZgGYb1 zM;$!+wa0F1eX@GVhSE2GW`s$q9{f=DF0KbYMDzSkk@dibXla?VehrchQxNqAtu^+>{Fl;)K<9!YqN(qPE(XqIe@ zvSvrn%*=s&cfhL$3f%Q-hUXY9tJ8{<*_NAOIz}6lB403;Lvth>r?glU2t!BU5&G;9 z^f={H?GWfVmD4N~$#axSD@lMN%(X)^>npHBps91Tu*hPmWD}J7ttfG$sodWL6}(sgmAn_`4l?~$BVQ`n#B-`iT_95 zHS0Q`zW)gWKVJOgrtg2km-}U8*AGPD+7+vl8(Wh2)dW#jr}XMSH@3u&m8Una<41&g z@JSve^VCyM^4rLK_5PE5f%@hNUa0&jKAS95OHzD3xm|5f@pn>NnhB^@wVTSPHyFYDHeB{TO=txDfN#R zc*mT4bCY1>dQy1MRzwi_5_aT4R9%ZssW%t)>n1|$L#^r^AS)DOs(nVUgdiM`Wj2$0{s?J-)QM)NcNQ0->!~86}43} zpn6KH7MQLxC3~9CI=qQ~wc4mqhYLh7W8K=rs|)ThHM1mphR{Z}Y>H^hBwy-*W3@H! zEI2+x>Ka7KRJTg@ETOgkd$n0MyA>M%8T$~lVgo!&e3h0(`zi3*^)h{>oPA$ z=JjQndVUx8hZB~5HuTRCtY*@j^%lvtV^+0vy^&Dg?&9TTw(%_xZr8>wrtmwGJ+D^m z=1H}&7mF9S?7jol^Q5X8R|NfV=18_f9o@~Bw9G-(JKU=0pz0mO7qhTAz;=+tbZa%+ zB-^Pv_V9TvZNPTASR1gNF4hKYr^fC#XPYZok9utn|9;C{U_CB27g!JRRampl1=d4w z5u0yf?UMDXxi9jLmUdvhF4hjLm-r$U)()(f#1o>{#BP;rw>tPDuU1p`aDTb2x)rM3 zTJ=-319XFZB?btSd@|htp?#!vH`q^jrrjV5!~JAxq1z1(5UVxe zyrVlK6lRH;=5T=E6`@-#LO2~DGSfOrGTq?-36+`Mp{sMIc;ypC_VGW{!KLYU_VMkN zs%d}+$luhW0p3I|s|^FZkz7%G2Y3VdyBZqcadI{N&jEhblfU=Z)*XJEC!~tL^-lZa zY2HQfg+r}uHh!P38s^(NNL>A{P(-4cS1q9*=dRaZ2p!P#e@d-ALg)#kKZA)SKcR8NHhx0mpSk!6jen-`g=P(d zNMF`9%!=OI*|p+Pb=@yoQ-j(C!?w$ycDd}j3~HClZV@MuzTy^fQsani{G`UOxcEtp zU(xsjW)Y{5zKVBb=x(cs0|Bu#bxONn*mgOkU9RfaU}kwwX_u=sSY|!f(@0;_Z`w@y zw8jzJ_-Tz_bMey}zozj8W)VY3e@mG6zf*UkFFC@xI>a50ZxToc;#&1wwY^~Z^P2Zq_ zko9=Sk-kZ(eGbMoj@UkI;~Kw7aeK);{&9`pq$NQMKZkU;$2lkGQkutr&7aeJw};#Q z=QQ8#an9KU(wp#q1IvCw qan.v1beta1.MetricsBucket - 6, // 1: qan.v1beta1.MetricsBucket.agent_type:type_name -> inventory.AgentType - 3, // 2: qan.v1beta1.MetricsBucket.labels:type_name -> qan.v1beta1.MetricsBucket.LabelsEntry - 7, // 3: qan.v1beta1.MetricsBucket.example_format:type_name -> qan.v1beta1.ExampleFormat - 8, // 4: qan.v1beta1.MetricsBucket.example_type:type_name -> qan.v1beta1.ExampleType - 4, // 5: qan.v1beta1.MetricsBucket.warnings:type_name -> qan.v1beta1.MetricsBucket.WarningsEntry - 5, // 6: qan.v1beta1.MetricsBucket.errors:type_name -> qan.v1beta1.MetricsBucket.ErrorsEntry - 0, // 7: qan.v1beta1.Collector.Collect:input_type -> qan.v1beta1.CollectRequest - 2, // 8: qan.v1beta1.Collector.Collect:output_type -> qan.v1beta1.CollectResponse - 8, // [8:9] is the sub-list for method output_type - 7, // [7:8] is the sub-list for method input_type - 7, // [7:7] is the sub-list for extension type_name - 7, // [7:7] is the sub-list for extension extendee - 0, // [0:7] is the sub-list for field type_name -} - -func init() { file_qanpb_collector_proto_init() } -func file_qanpb_collector_proto_init() { - if File_qanpb_collector_proto != nil { - return - } - file_qanpb_qan_proto_init() - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_qanpb_collector_proto_rawDesc, - NumEnums: 0, - NumMessages: 6, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_qanpb_collector_proto_goTypes, - DependencyIndexes: file_qanpb_collector_proto_depIdxs, - MessageInfos: file_qanpb_collector_proto_msgTypes, - }.Build() - File_qanpb_collector_proto = out.File - file_qanpb_collector_proto_rawDesc = nil - file_qanpb_collector_proto_goTypes = nil - file_qanpb_collector_proto_depIdxs = nil -} diff --git a/api/qanpb/collector.proto b/api/qanpb/collector.proto deleted file mode 100644 index 9b32e07e90..0000000000 --- a/api/qanpb/collector.proto +++ /dev/null @@ -1,397 +0,0 @@ -syntax = "proto3"; - -package qan.v1beta1; - -import "inventorypb/agents.proto"; -import "qanpb/qan.proto"; - -option go_package = "api/qanpb;qanpb"; - -// Collector service accepts data from pmm-agent (via pmm-managed). -service Collector { - // Collect accepts data from pmm-agent (via pmm-managed). - rpc Collect(CollectRequest) returns (CollectResponse); -} - -message CollectRequest { - repeated MetricsBucket metrics_bucket = 1; -} - -// MetricsBucket is aggregated message created by pmm-agent. -// Contains information about one query selected in defined way from query class in specific period of time. -message MetricsBucket { - // md5 of digest_text/fingerprint. - string queryid = 1; - // contains fingerprint prepared by sql parser, which can be different than fingerprint. - string explain_fingerprint = 253; - // ammount of variables in query. - uint32 placeholders_count = 254; - // digest_text - query signature. Query without values. - string fingerprint = 2; - // - // Dimension Group. - // - - // Service Name (can be several Services on one Node). - string service_name = 3; - // MongoDB or PostgreSQL database. - // Several databases can't be combined in a single declarative query. - string database = 4; - // MySQL database or PostgreSQL schema. - // Several schemas can be combined in a single declarative query. - string schema = 5; - // Tables or Collections list. - repeated string tables = 166; - // client user name. - string username = 6; - // client IP or hostname. - string client_host = 7; - // - // Unified Labels Group. - // - - // Node identifier - string node_id = 224; - // Node name - string node_name = 225; - // Node type - string node_type = 226; - // Machine identifier - string machine_id = 227; - // Container identifier - string container_id = 228; - // Container name - string container_name = 165; - // Node model - string node_model = 164; - // Region name - string region = 163; - // Availability zone - string az = 162; - // Service identifier - string service_id = 229; - // Type of service - string service_type = 160; - // Environment name - string environment = 161; - // Cluster name - string cluster = 159; - // Name of replication set - string replication_set = 158; - // Identifier of agent that collect and send metrics. - string agent_id = 9; - // Metrics source. - inventory.AgentType agent_type = 12; - // Custom labels names:values. - map labels = 8; - // - // Period and Query Example Group. - // - - // Time when collection of bucket started. - uint32 period_start_unix_secs = 10; - // Duration of bucket. - uint32 period_length_secs = 11; - // One of query example from set found in bucket. - string example = 13; - // Deprecated: should not be used, should be removed. - ExampleFormat example_format = 14 [deprecated = true]; - // Indicates if the query example is truncated. - bool is_truncated = 15; - ExampleType example_type = 16; - // Metrics of query example in JSON format. - string example_metrics = 17; - // - // Metrics. - // - - // How many queries was with warnings in bucket. - float num_queries_with_warnings = 18; - // List of warnings: {code: count}. - map warnings = 19; - // How many queries was with error in bucket. - float num_queries_with_errors = 20; - // List of errors: {code: count}. - map errors = 21; - // Amount queries in this bucket. - float num_queries = 22; - // How many times query_time was found. - float m_query_time_cnt = 23; - // The statement execution time in seconds. - float m_query_time_sum = 24; - // Smallest value of query_time in bucket. - float m_query_time_min = 25; - // Biggest value of query_time in bucket. - float m_query_time_max = 26; - // 99 percentile of value of query_time in bucket. - float m_query_time_p99 = 27; - float m_lock_time_cnt = 28; - // The time to acquire locks in seconds. - float m_lock_time_sum = 29; - float m_lock_time_min = 30; - float m_lock_time_max = 31; - float m_lock_time_p99 = 32; - float m_rows_sent_cnt = 33; - // The number of rows sent to the client. - float m_rows_sent_sum = 34; - float m_rows_sent_min = 35; - float m_rows_sent_max = 36; - float m_rows_sent_p99 = 37; - float m_rows_examined_cnt = 38; - // Number of rows scanned - SELECT. - float m_rows_examined_sum = 39; - float m_rows_examined_min = 40; - float m_rows_examined_max = 41; - float m_rows_examined_p99 = 42; - float m_rows_affected_cnt = 43; - // Number of rows changed - UPDATE, DELETE, INSERT. - float m_rows_affected_sum = 44; - float m_rows_affected_min = 45; - float m_rows_affected_max = 46; - float m_rows_affected_p99 = 47; - float m_rows_read_cnt = 48; - // The number of rows read from tables. - float m_rows_read_sum = 49; - float m_rows_read_min = 50; - float m_rows_read_max = 51; - float m_rows_read_p99 = 52; - float m_merge_passes_cnt = 53; - // The number of merge passes that the sort algorithm has had to do. - float m_merge_passes_sum = 54; - float m_merge_passes_min = 55; - float m_merge_passes_max = 56; - float m_merge_passes_p99 = 57; - float m_innodb_io_r_ops_cnt = 58; - // Counts the number of page read operations scheduled. - float m_innodb_io_r_ops_sum = 59; - float m_innodb_io_r_ops_min = 60; - float m_innodb_io_r_ops_max = 61; - float m_innodb_io_r_ops_p99 = 62; - float m_innodb_io_r_bytes_cnt = 63; - // Similar to innodb_IO_r_ops, but the unit is bytes. - float m_innodb_io_r_bytes_sum = 64; - float m_innodb_io_r_bytes_min = 65; - float m_innodb_io_r_bytes_max = 66; - float m_innodb_io_r_bytes_p99 = 67; - float m_innodb_io_r_wait_cnt = 68; - // Shows how long (in seconds) it took InnoDB to actually read the data from storage. - float m_innodb_io_r_wait_sum = 69; - float m_innodb_io_r_wait_min = 70; - float m_innodb_io_r_wait_max = 71; - float m_innodb_io_r_wait_p99 = 72; - float m_innodb_rec_lock_wait_cnt = 73; - // Shows how long (in seconds) the query waited for row locks. - float m_innodb_rec_lock_wait_sum = 74; - float m_innodb_rec_lock_wait_min = 75; - float m_innodb_rec_lock_wait_max = 76; - float m_innodb_rec_lock_wait_p99 = 77; - float m_innodb_queue_wait_cnt = 78; - // Shows how long (in seconds) the query spent either waiting to enter the InnoDB queue or inside that queue waiting for execution. - float m_innodb_queue_wait_sum = 79; - float m_innodb_queue_wait_min = 80; - float m_innodb_queue_wait_max = 81; - float m_innodb_queue_wait_p99 = 82; - float m_innodb_pages_distinct_cnt = 83; - // Counts approximately the number of unique pages the query accessed. - float m_innodb_pages_distinct_sum = 84; - float m_innodb_pages_distinct_min = 85; - float m_innodb_pages_distinct_max = 86; - float m_innodb_pages_distinct_p99 = 87; - float m_query_length_cnt = 88; - // Shows how long the query is. - float m_query_length_sum = 89; - float m_query_length_min = 90; - float m_query_length_max = 91; - float m_query_length_p99 = 92; - float m_bytes_sent_cnt = 93; - // The number of bytes sent to all clients. - float m_bytes_sent_sum = 94; - float m_bytes_sent_min = 95; - float m_bytes_sent_max = 96; - float m_bytes_sent_p99 = 97; - float m_tmp_tables_cnt = 98; - // Number of temporary tables created on memory for the query. - float m_tmp_tables_sum = 99; - float m_tmp_tables_min = 100; - float m_tmp_tables_max = 101; - float m_tmp_tables_p99 = 102; - float m_tmp_disk_tables_cnt = 103; - // Number of temporary tables created on disk for the query. - float m_tmp_disk_tables_sum = 104; - float m_tmp_disk_tables_min = 105; - float m_tmp_disk_tables_max = 106; - float m_tmp_disk_tables_p99 = 107; - float m_tmp_table_sizes_cnt = 108; - // Total Size in bytes for all temporary tables used in the query. - float m_tmp_table_sizes_sum = 109; - float m_tmp_table_sizes_min = 110; - float m_tmp_table_sizes_max = 111; - float m_tmp_table_sizes_p99 = 112; - // - // Boolean metrics: - // - *_cnt - how many times this matric was met. - // - *_sum - how many times this matric was true. - // - float m_qc_hit_cnt = 113; - // Query Cache hits. - float m_qc_hit_sum = 114; - float m_full_scan_cnt = 115; - // The query performed a full table scan. - float m_full_scan_sum = 116; - float m_full_join_cnt = 117; - // The query performed a full join (a join without indexes). - float m_full_join_sum = 118; - float m_tmp_table_cnt = 119; - // The query created an implicit internal temporary table. - float m_tmp_table_sum = 120; - float m_tmp_table_on_disk_cnt = 121; - // The querys temporary table was stored on disk. - float m_tmp_table_on_disk_sum = 122; - float m_filesort_cnt = 123; - // The query used a filesort. - float m_filesort_sum = 124; - float m_filesort_on_disk_cnt = 125; - // The filesort was performed on disk. - float m_filesort_on_disk_sum = 126; - float m_select_full_range_join_cnt = 127; - // The number of joins that used a range search on a reference table. - float m_select_full_range_join_sum = 128; - float m_select_range_cnt = 129; - // The number of joins that used ranges on the first table. - float m_select_range_sum = 130; - float m_select_range_check_cnt = 131; - // The number of joins without keys that check for key usage after each row. - float m_select_range_check_sum = 132; - float m_sort_range_cnt = 133; - // The number of sorts that were done using ranges. - float m_sort_range_sum = 134; - float m_sort_rows_cnt = 135; - // The number of sorted rows. - float m_sort_rows_sum = 136; - float m_sort_scan_cnt = 137; - // The number of sorts that were done by scanning the table. - float m_sort_scan_sum = 138; - float m_no_index_used_cnt = 139; - // The number of queries without index. - float m_no_index_used_sum = 140; - float m_no_good_index_used_cnt = 141; - // The number of queries without good index. - float m_no_good_index_used_sum = 142; - // - // MongoDB metrics. - // - - float m_docs_returned_cnt = 143; - // The number of returned documents. - float m_docs_returned_sum = 144; - float m_docs_returned_min = 145; - float m_docs_returned_max = 146; - float m_docs_returned_p99 = 147; - float m_response_length_cnt = 148; - // The response length of the query result in bytes. - float m_response_length_sum = 149; - float m_response_length_min = 150; - float m_response_length_max = 151; - float m_response_length_p99 = 152; - float m_docs_scanned_cnt = 153; - // The number of scanned documents. - float m_docs_scanned_sum = 154; - float m_docs_scanned_min = 155; - float m_docs_scanned_max = 156; - float m_docs_scanned_p99 = 157; - // - // PostgreSQL metrics. - // - - float m_shared_blks_hit_cnt = 200; - // Total number of shared block cache hits by the statement. - float m_shared_blks_hit_sum = 201; - float m_shared_blks_read_cnt = 202; - // Total number of shared blocks read by the statement. - float m_shared_blks_read_sum = 203; - float m_shared_blks_dirtied_cnt = 204; - // Total number of shared blocks dirtied by the statement. - float m_shared_blks_dirtied_sum = 205; - float m_shared_blks_written_cnt = 206; - // Total number of shared blocks written by the statement. - float m_shared_blks_written_sum = 207; - float m_local_blks_hit_cnt = 208; - // Total number of local block cache hits by the statement. - float m_local_blks_hit_sum = 209; - float m_local_blks_read_cnt = 210; - // Total number of local blocks read by the statement. - float m_local_blks_read_sum = 211; - float m_local_blks_dirtied_cnt = 212; - // Total number of local blocks dirtied by the statement. - float m_local_blks_dirtied_sum = 213; - float m_local_blks_written_cnt = 214; - // Total number of local blocks written by the statement. - float m_local_blks_written_sum = 215; - float m_temp_blks_read_cnt = 216; - // Total number of temp blocks read by the statement. - float m_temp_blks_read_sum = 217; - float m_temp_blks_written_cnt = 218; - // Total number of temp blocks written by the statement. - float m_temp_blks_written_sum = 219; - float m_blk_read_time_cnt = 220 [deprecated = true]; - // Total time the statement spent reading blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). - float m_blk_read_time_sum = 221 [deprecated = true]; - float m_blk_write_time_cnt = 222 [deprecated = true]; - // Total time the statement spent writing blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). - float m_blk_write_time_sum = 223 [deprecated = true]; - float m_shared_blk_read_time_cnt = 255; - // Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). - float m_shared_blk_read_time_sum = 256; - float m_shared_blk_write_time_cnt = 257; - // Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). - float m_shared_blk_write_time_sum = 258; - float m_local_blk_read_time_cnt = 259; - // Total time the statement spent reading local blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). - float m_local_blk_read_time_sum = 260; - float m_local_blk_write_time_cnt = 261; - // Total time the statement spent writing local blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). - float m_local_blk_write_time_sum = 262; - float m_cpu_user_time_cnt = 230; - // Total time user spent in query. - float m_cpu_user_time_sum = 231; - float m_cpu_sys_time_cnt = 232; - // Total time system spent in query. - float m_cpu_sys_time_sum = 233; - - // Type of SQL command. - string cmd_type = 246; - // - // pg_stat_monitor 0.9 metrics - // - // Total number of planned calls. - float m_plans_calls_sum = 234; - float m_plans_calls_cnt = 235; - // Total number of WAL (Write-ahead logging) records. - float m_wal_records_sum = 236; - float m_wal_records_cnt = 237; - // Total number of FPI (full page images) in WAL (Write-ahead logging) records. - float m_wal_fpi_sum = 238; - float m_wal_fpi_cnt = 239; - // Total bytes of WAL (Write-ahead logging) records. - float m_wal_bytes_sum = 240; - float m_wal_bytes_cnt = 241; - // Sum, count, min, max of plan time. - float m_plan_time_sum = 242; - float m_plan_time_cnt = 243; - float m_plan_time_min = 244; - float m_plan_time_max = 245; - // Metrics skipped due to different bucket_time in pg_stat_monitor (1min in PMM, 5min in pg_stat_monitor): - // min_time, max_time, mean_time - // plan_mean_time - // stddev_time - // Other metrics skipped (empty values, codes): - // cmd_type_text, elevel, sqlcode, message, state_code, state - string top_queryid = 247; - string top_query = 250; - string application_name = 248; - string planid = 249; - string query_plan = 251; - repeated string histogram_items = 252; -} - -message CollectResponse {} diff --git a/api/qanpb/qan.pb.go b/api/qanpb/qan.pb.go deleted file mode 100644 index 6e9938e5d8..0000000000 --- a/api/qanpb/qan.pb.go +++ /dev/null @@ -1,1172 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.35.1 -// protoc (unknown) -// source: qanpb/qan.proto - -package qanv1beta1 - -import ( - reflect "reflect" - sync "sync" - - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -// ExampleFormat is format of query example: real or query without values. -// -// Deprecated: is not used, should not be used, should be removed. -type ExampleFormat int32 - -const ( - // Deprecated: Marked as deprecated in qanpb/qan.proto. - ExampleFormat_EXAMPLE_FORMAT_INVALID ExampleFormat = 0 - // Deprecated: Marked as deprecated in qanpb/qan.proto. - ExampleFormat_EXAMPLE ExampleFormat = 1 - // Deprecated: Marked as deprecated in qanpb/qan.proto. - ExampleFormat_FINGERPRINT ExampleFormat = 2 -) - -// Enum value maps for ExampleFormat. -var ( - ExampleFormat_name = map[int32]string{ - 0: "EXAMPLE_FORMAT_INVALID", - 1: "EXAMPLE", - 2: "FINGERPRINT", - } - ExampleFormat_value = map[string]int32{ - "EXAMPLE_FORMAT_INVALID": 0, - "EXAMPLE": 1, - "FINGERPRINT": 2, - } -) - -func (x ExampleFormat) Enum() *ExampleFormat { - p := new(ExampleFormat) - *p = x - return p -} - -func (x ExampleFormat) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ExampleFormat) Descriptor() protoreflect.EnumDescriptor { - return file_qanpb_qan_proto_enumTypes[0].Descriptor() -} - -func (ExampleFormat) Type() protoreflect.EnumType { - return &file_qanpb_qan_proto_enumTypes[0] -} - -func (x ExampleFormat) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ExampleFormat.Descriptor instead. -func (ExampleFormat) EnumDescriptor() ([]byte, []int) { - return file_qanpb_qan_proto_rawDescGZIP(), []int{0} -} - -// ExampleType is a type of query example selected for this query class in given period of time. -type ExampleType int32 - -const ( - ExampleType_EXAMPLE_TYPE_INVALID ExampleType = 0 - ExampleType_RANDOM ExampleType = 1 - ExampleType_SLOWEST ExampleType = 2 - ExampleType_FASTEST ExampleType = 3 - ExampleType_WITH_ERROR ExampleType = 4 -) - -// Enum value maps for ExampleType. -var ( - ExampleType_name = map[int32]string{ - 0: "EXAMPLE_TYPE_INVALID", - 1: "RANDOM", - 2: "SLOWEST", - 3: "FASTEST", - 4: "WITH_ERROR", - } - ExampleType_value = map[string]int32{ - "EXAMPLE_TYPE_INVALID": 0, - "RANDOM": 1, - "SLOWEST": 2, - "FASTEST": 3, - "WITH_ERROR": 4, - } -) - -func (x ExampleType) Enum() *ExampleType { - p := new(ExampleType) - *p = x - return p -} - -func (x ExampleType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ExampleType) Descriptor() protoreflect.EnumDescriptor { - return file_qanpb_qan_proto_enumTypes[1].Descriptor() -} - -func (ExampleType) Type() protoreflect.EnumType { - return &file_qanpb_qan_proto_enumTypes[1] -} - -func (x ExampleType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ExampleType.Descriptor instead. -func (ExampleType) EnumDescriptor() ([]byte, []int) { - return file_qanpb_qan_proto_rawDescGZIP(), []int{1} -} - -// Point contains values that represents abscissa (time) and ordinate (volume etc.) -// of every point in a coordinate system of Sparklines. -type Point struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The serial number of the chart point from the largest time in the time interval to the lowest time in the time range. - Point uint32 `protobuf:"varint,1,opt,name=point,proto3" json:"point,omitempty"` - // Duration beetween two points. - TimeFrame uint32 `protobuf:"varint,2,opt,name=time_frame,json=timeFrame,proto3" json:"time_frame,omitempty"` - // Time of point in format RFC3339. - Timestamp string `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - // load is query_time / time_range. - Load float32 `protobuf:"fixed32,53,opt,name=load,proto3" json:"load,omitempty"` - // number of queries in bucket. - NumQueriesPerSec float32 `protobuf:"fixed32,4,opt,name=num_queries_per_sec,json=numQueriesPerSec,proto3" json:"num_queries_per_sec,omitempty"` - // number of queries with errors. - NumQueriesWithErrorsPerSec float32 `protobuf:"fixed32,54,opt,name=num_queries_with_errors_per_sec,json=numQueriesWithErrorsPerSec,proto3" json:"num_queries_with_errors_per_sec,omitempty"` - // number of queries with warnings. - NumQueriesWithWarningsPerSec float32 `protobuf:"fixed32,55,opt,name=num_queries_with_warnings_per_sec,json=numQueriesWithWarningsPerSec,proto3" json:"num_queries_with_warnings_per_sec,omitempty"` - // The statement execution time in seconds. - MQueryTimeSumPerSec float32 `protobuf:"fixed32,5,opt,name=m_query_time_sum_per_sec,json=mQueryTimeSumPerSec,proto3" json:"m_query_time_sum_per_sec,omitempty"` - // The time to acquire locks in seconds. - MLockTimeSumPerSec float32 `protobuf:"fixed32,6,opt,name=m_lock_time_sum_per_sec,json=mLockTimeSumPerSec,proto3" json:"m_lock_time_sum_per_sec,omitempty"` - // The number of rows sent to the client. - MRowsSentSumPerSec float32 `protobuf:"fixed32,7,opt,name=m_rows_sent_sum_per_sec,json=mRowsSentSumPerSec,proto3" json:"m_rows_sent_sum_per_sec,omitempty"` - // Number of rows scanned - SELECT. - MRowsExaminedSumPerSec float32 `protobuf:"fixed32,8,opt,name=m_rows_examined_sum_per_sec,json=mRowsExaminedSumPerSec,proto3" json:"m_rows_examined_sum_per_sec,omitempty"` - // Number of rows changed - UPDATE, DELETE, INSERT. - MRowsAffectedSumPerSec float32 `protobuf:"fixed32,9,opt,name=m_rows_affected_sum_per_sec,json=mRowsAffectedSumPerSec,proto3" json:"m_rows_affected_sum_per_sec,omitempty"` - // The number of rows read from tables. - MRowsReadSumPerSec float32 `protobuf:"fixed32,10,opt,name=m_rows_read_sum_per_sec,json=mRowsReadSumPerSec,proto3" json:"m_rows_read_sum_per_sec,omitempty"` - // The number of merge passes that the sort algorithm has had to do. - MMergePassesSumPerSec float32 `protobuf:"fixed32,11,opt,name=m_merge_passes_sum_per_sec,json=mMergePassesSumPerSec,proto3" json:"m_merge_passes_sum_per_sec,omitempty"` - // Counts the number of page read operations scheduled. - MInnodbIoROpsSumPerSec float32 `protobuf:"fixed32,12,opt,name=m_innodb_io_r_ops_sum_per_sec,json=mInnodbIoROpsSumPerSec,proto3" json:"m_innodb_io_r_ops_sum_per_sec,omitempty"` - // Similar to innodb_IO_r_ops, but the unit is bytes. - MInnodbIoRBytesSumPerSec float32 `protobuf:"fixed32,13,opt,name=m_innodb_io_r_bytes_sum_per_sec,json=mInnodbIoRBytesSumPerSec,proto3" json:"m_innodb_io_r_bytes_sum_per_sec,omitempty"` - // Shows how long (in seconds) it took InnoDB to actually read the data from storage. - MInnodbIoRWaitSumPerSec float32 `protobuf:"fixed32,14,opt,name=m_innodb_io_r_wait_sum_per_sec,json=mInnodbIoRWaitSumPerSec,proto3" json:"m_innodb_io_r_wait_sum_per_sec,omitempty"` - // Shows how long (in seconds) the query waited for row locks. - MInnodbRecLockWaitSumPerSec float32 `protobuf:"fixed32,15,opt,name=m_innodb_rec_lock_wait_sum_per_sec,json=mInnodbRecLockWaitSumPerSec,proto3" json:"m_innodb_rec_lock_wait_sum_per_sec,omitempty"` - // Shows how long (in seconds) the query spent either waiting to enter the InnoDB queue or inside that queue waiting for execution. - MInnodbQueueWaitSumPerSec float32 `protobuf:"fixed32,16,opt,name=m_innodb_queue_wait_sum_per_sec,json=mInnodbQueueWaitSumPerSec,proto3" json:"m_innodb_queue_wait_sum_per_sec,omitempty"` - // Counts approximately the number of unique pages the query accessed. - MInnodbPagesDistinctSumPerSec float32 `protobuf:"fixed32,17,opt,name=m_innodb_pages_distinct_sum_per_sec,json=mInnodbPagesDistinctSumPerSec,proto3" json:"m_innodb_pages_distinct_sum_per_sec,omitempty"` - // Shows how long the query is. - MQueryLengthSumPerSec float32 `protobuf:"fixed32,18,opt,name=m_query_length_sum_per_sec,json=mQueryLengthSumPerSec,proto3" json:"m_query_length_sum_per_sec,omitempty"` - // The number of bytes sent to all clients. - MBytesSentSumPerSec float32 `protobuf:"fixed32,19,opt,name=m_bytes_sent_sum_per_sec,json=mBytesSentSumPerSec,proto3" json:"m_bytes_sent_sum_per_sec,omitempty"` - // Number of temporary tables created on memory for the query. - MTmpTablesSumPerSec float32 `protobuf:"fixed32,20,opt,name=m_tmp_tables_sum_per_sec,json=mTmpTablesSumPerSec,proto3" json:"m_tmp_tables_sum_per_sec,omitempty"` - // Number of temporary tables created on disk for the query. - MTmpDiskTablesSumPerSec float32 `protobuf:"fixed32,21,opt,name=m_tmp_disk_tables_sum_per_sec,json=mTmpDiskTablesSumPerSec,proto3" json:"m_tmp_disk_tables_sum_per_sec,omitempty"` - // Total Size in bytes for all temporary tables used in the query. - MTmpTableSizesSumPerSec float32 `protobuf:"fixed32,22,opt,name=m_tmp_table_sizes_sum_per_sec,json=mTmpTableSizesSumPerSec,proto3" json:"m_tmp_table_sizes_sum_per_sec,omitempty"` - // Boolean metrics: - // - *_sum_per_sec - how many times this matric was true. - // - // Query Cache hits. - MQcHitSumPerSec float32 `protobuf:"fixed32,23,opt,name=m_qc_hit_sum_per_sec,json=mQcHitSumPerSec,proto3" json:"m_qc_hit_sum_per_sec,omitempty"` - // The query performed a full table scan. - MFullScanSumPerSec float32 `protobuf:"fixed32,24,opt,name=m_full_scan_sum_per_sec,json=mFullScanSumPerSec,proto3" json:"m_full_scan_sum_per_sec,omitempty"` - // The query performed a full join (a join without indexes). - MFullJoinSumPerSec float32 `protobuf:"fixed32,25,opt,name=m_full_join_sum_per_sec,json=mFullJoinSumPerSec,proto3" json:"m_full_join_sum_per_sec,omitempty"` - // The query created an implicit internal temporary table. - MTmpTableSumPerSec float32 `protobuf:"fixed32,26,opt,name=m_tmp_table_sum_per_sec,json=mTmpTableSumPerSec,proto3" json:"m_tmp_table_sum_per_sec,omitempty"` - // The querys temporary table was stored on disk. - MTmpTableOnDiskSumPerSec float32 `protobuf:"fixed32,27,opt,name=m_tmp_table_on_disk_sum_per_sec,json=mTmpTableOnDiskSumPerSec,proto3" json:"m_tmp_table_on_disk_sum_per_sec,omitempty"` - // The query used a filesort. - MFilesortSumPerSec float32 `protobuf:"fixed32,28,opt,name=m_filesort_sum_per_sec,json=mFilesortSumPerSec,proto3" json:"m_filesort_sum_per_sec,omitempty"` - // The filesort was performed on disk. - MFilesortOnDiskSumPerSec float32 `protobuf:"fixed32,29,opt,name=m_filesort_on_disk_sum_per_sec,json=mFilesortOnDiskSumPerSec,proto3" json:"m_filesort_on_disk_sum_per_sec,omitempty"` - // The number of joins that used a range search on a reference table. - MSelectFullRangeJoinSumPerSec float32 `protobuf:"fixed32,30,opt,name=m_select_full_range_join_sum_per_sec,json=mSelectFullRangeJoinSumPerSec,proto3" json:"m_select_full_range_join_sum_per_sec,omitempty"` - // The number of joins that used ranges on the first table. - MSelectRangeSumPerSec float32 `protobuf:"fixed32,31,opt,name=m_select_range_sum_per_sec,json=mSelectRangeSumPerSec,proto3" json:"m_select_range_sum_per_sec,omitempty"` - // The number of joins without keys that check for key usage after each row. - MSelectRangeCheckSumPerSec float32 `protobuf:"fixed32,32,opt,name=m_select_range_check_sum_per_sec,json=mSelectRangeCheckSumPerSec,proto3" json:"m_select_range_check_sum_per_sec,omitempty"` - // The number of sorts that were done using ranges. - MSortRangeSumPerSec float32 `protobuf:"fixed32,33,opt,name=m_sort_range_sum_per_sec,json=mSortRangeSumPerSec,proto3" json:"m_sort_range_sum_per_sec,omitempty"` - // The number of sorted rows. - MSortRowsSumPerSec float32 `protobuf:"fixed32,34,opt,name=m_sort_rows_sum_per_sec,json=mSortRowsSumPerSec,proto3" json:"m_sort_rows_sum_per_sec,omitempty"` - // The number of sorts that were done by scanning the table. - MSortScanSumPerSec float32 `protobuf:"fixed32,35,opt,name=m_sort_scan_sum_per_sec,json=mSortScanSumPerSec,proto3" json:"m_sort_scan_sum_per_sec,omitempty"` - // The number of queries without index. - MNoIndexUsedSumPerSec float32 `protobuf:"fixed32,36,opt,name=m_no_index_used_sum_per_sec,json=mNoIndexUsedSumPerSec,proto3" json:"m_no_index_used_sum_per_sec,omitempty"` - // The number of queries without good index. - MNoGoodIndexUsedSumPerSec float32 `protobuf:"fixed32,37,opt,name=m_no_good_index_used_sum_per_sec,json=mNoGoodIndexUsedSumPerSec,proto3" json:"m_no_good_index_used_sum_per_sec,omitempty"` - // MongoDB metrics. - // - // The number of returned documents. - MDocsReturnedSumPerSec float32 `protobuf:"fixed32,38,opt,name=m_docs_returned_sum_per_sec,json=mDocsReturnedSumPerSec,proto3" json:"m_docs_returned_sum_per_sec,omitempty"` - // The response length of the query result in bytes. - MResponseLengthSumPerSec float32 `protobuf:"fixed32,39,opt,name=m_response_length_sum_per_sec,json=mResponseLengthSumPerSec,proto3" json:"m_response_length_sum_per_sec,omitempty"` - // The number of scanned documents. - MDocsScannedSumPerSec float32 `protobuf:"fixed32,40,opt,name=m_docs_scanned_sum_per_sec,json=mDocsScannedSumPerSec,proto3" json:"m_docs_scanned_sum_per_sec,omitempty"` - // PostgreSQL metrics. - // - // Total number of shared block cache hits by the statement. - MSharedBlksHitSumPerSec float32 `protobuf:"fixed32,41,opt,name=m_shared_blks_hit_sum_per_sec,json=mSharedBlksHitSumPerSec,proto3" json:"m_shared_blks_hit_sum_per_sec,omitempty"` - // Total number of shared blocks read by the statement. - MSharedBlksReadSumPerSec float32 `protobuf:"fixed32,42,opt,name=m_shared_blks_read_sum_per_sec,json=mSharedBlksReadSumPerSec,proto3" json:"m_shared_blks_read_sum_per_sec,omitempty"` - // Total number of shared blocks dirtied by the statement. - MSharedBlksDirtiedSumPerSec float32 `protobuf:"fixed32,43,opt,name=m_shared_blks_dirtied_sum_per_sec,json=mSharedBlksDirtiedSumPerSec,proto3" json:"m_shared_blks_dirtied_sum_per_sec,omitempty"` - // Total number of shared blocks written by the statement. - MSharedBlksWrittenSumPerSec float32 `protobuf:"fixed32,44,opt,name=m_shared_blks_written_sum_per_sec,json=mSharedBlksWrittenSumPerSec,proto3" json:"m_shared_blks_written_sum_per_sec,omitempty"` - // Total number of local block cache hits by the statement. - MLocalBlksHitSumPerSec float32 `protobuf:"fixed32,45,opt,name=m_local_blks_hit_sum_per_sec,json=mLocalBlksHitSumPerSec,proto3" json:"m_local_blks_hit_sum_per_sec,omitempty"` - // Total number of local blocks read by the statement. - MLocalBlksReadSumPerSec float32 `protobuf:"fixed32,46,opt,name=m_local_blks_read_sum_per_sec,json=mLocalBlksReadSumPerSec,proto3" json:"m_local_blks_read_sum_per_sec,omitempty"` - // Total number of local blocks dirtied by the statement. - MLocalBlksDirtiedSumPerSec float32 `protobuf:"fixed32,47,opt,name=m_local_blks_dirtied_sum_per_sec,json=mLocalBlksDirtiedSumPerSec,proto3" json:"m_local_blks_dirtied_sum_per_sec,omitempty"` - // Total number of local blocks written by the statement. - MLocalBlksWrittenSumPerSec float32 `protobuf:"fixed32,48,opt,name=m_local_blks_written_sum_per_sec,json=mLocalBlksWrittenSumPerSec,proto3" json:"m_local_blks_written_sum_per_sec,omitempty"` - // Total number of temp blocks read by the statement. - MTempBlksReadSumPerSec float32 `protobuf:"fixed32,49,opt,name=m_temp_blks_read_sum_per_sec,json=mTempBlksReadSumPerSec,proto3" json:"m_temp_blks_read_sum_per_sec,omitempty"` - // Total number of temp blocks written by the statement. - MTempBlksWrittenSumPerSec float32 `protobuf:"fixed32,50,opt,name=m_temp_blks_written_sum_per_sec,json=mTempBlksWrittenSumPerSec,proto3" json:"m_temp_blks_written_sum_per_sec,omitempty"` - // Total time the statement spent reading blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). - // - // Deprecated: Marked as deprecated in qanpb/qan.proto. - MBlkReadTimeSumPerSec float32 `protobuf:"fixed32,51,opt,name=m_blk_read_time_sum_per_sec,json=mBlkReadTimeSumPerSec,proto3" json:"m_blk_read_time_sum_per_sec,omitempty"` - // Total time the statement spent writing blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). - // - // Deprecated: Marked as deprecated in qanpb/qan.proto. - MBlkWriteTimeSumPerSec float32 `protobuf:"fixed32,52,opt,name=m_blk_write_time_sum_per_sec,json=mBlkWriteTimeSumPerSec,proto3" json:"m_blk_write_time_sum_per_sec,omitempty"` - // Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). - MSharedBlkReadTimeSumPerSec float32 `protobuf:"fixed32,63,opt,name=m_shared_blk_read_time_sum_per_sec,json=mSharedBlkReadTimeSumPerSec,proto3" json:"m_shared_blk_read_time_sum_per_sec,omitempty"` - // Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). - MSharedBlkWriteTimeSumPerSec float32 `protobuf:"fixed32,64,opt,name=m_shared_blk_write_time_sum_per_sec,json=mSharedBlkWriteTimeSumPerSec,proto3" json:"m_shared_blk_write_time_sum_per_sec,omitempty"` - // Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). - MLocalBlkReadTimeSumPerSec float32 `protobuf:"fixed32,65,opt,name=m_local_blk_read_time_sum_per_sec,json=mLocalBlkReadTimeSumPerSec,proto3" json:"m_local_blk_read_time_sum_per_sec,omitempty"` - // Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero). - MLocalBlkWriteTimeSumPerSec float32 `protobuf:"fixed32,66,opt,name=m_local_blk_write_time_sum_per_sec,json=mLocalBlkWriteTimeSumPerSec,proto3" json:"m_local_blk_write_time_sum_per_sec,omitempty"` - // Total time user spent in query. - MCpuUserTimeSumPerSec float32 `protobuf:"fixed32,56,opt,name=m_cpu_user_time_sum_per_sec,json=mCpuUserTimeSumPerSec,proto3" json:"m_cpu_user_time_sum_per_sec,omitempty"` - // Total time system spent in query. - MCpuSysTimeSumPerSec float32 `protobuf:"fixed32,57,opt,name=m_cpu_sys_time_sum_per_sec,json=mCpuSysTimeSumPerSec,proto3" json:"m_cpu_sys_time_sum_per_sec,omitempty"` - // pg_stat_monitor 0.9 metrics - // - // Total number of planned calls. - MPlansCallsSumPerSec float32 `protobuf:"fixed32,58,opt,name=m_plans_calls_sum_per_sec,json=mPlansCallsSumPerSec,proto3" json:"m_plans_calls_sum_per_sec,omitempty"` - // Total number of WAL (Write-ahead logging) records. - MWalRecordsSumPerSec float32 `protobuf:"fixed32,59,opt,name=m_wal_records_sum_per_sec,json=mWalRecordsSumPerSec,proto3" json:"m_wal_records_sum_per_sec,omitempty"` - // Total number of FPI (full page images) in WAL (Write-ahead logging) records. - MWalFpiSumPerSec float32 `protobuf:"fixed32,60,opt,name=m_wal_fpi_sum_per_sec,json=mWalFpiSumPerSec,proto3" json:"m_wal_fpi_sum_per_sec,omitempty"` - // Total bytes of WAL (Write-ahead logging) records. - MWalBytesSumPerSec float32 `protobuf:"fixed32,61,opt,name=m_wal_bytes_sum_per_sec,json=mWalBytesSumPerSec,proto3" json:"m_wal_bytes_sum_per_sec,omitempty"` - // Plan time in per seconds. - MPlanTimeSumPerSec float32 `protobuf:"fixed32,62,opt,name=m_plan_time_sum_per_sec,json=mPlanTimeSumPerSec,proto3" json:"m_plan_time_sum_per_sec,omitempty"` -} - -func (x *Point) Reset() { - *x = Point{} - mi := &file_qanpb_qan_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *Point) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Point) ProtoMessage() {} - -func (x *Point) ProtoReflect() protoreflect.Message { - mi := &file_qanpb_qan_proto_msgTypes[0] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Point.ProtoReflect.Descriptor instead. -func (*Point) Descriptor() ([]byte, []int) { - return file_qanpb_qan_proto_rawDescGZIP(), []int{0} -} - -func (x *Point) GetPoint() uint32 { - if x != nil { - return x.Point - } - return 0 -} - -func (x *Point) GetTimeFrame() uint32 { - if x != nil { - return x.TimeFrame - } - return 0 -} - -func (x *Point) GetTimestamp() string { - if x != nil { - return x.Timestamp - } - return "" -} - -func (x *Point) GetLoad() float32 { - if x != nil { - return x.Load - } - return 0 -} - -func (x *Point) GetNumQueriesPerSec() float32 { - if x != nil { - return x.NumQueriesPerSec - } - return 0 -} - -func (x *Point) GetNumQueriesWithErrorsPerSec() float32 { - if x != nil { - return x.NumQueriesWithErrorsPerSec - } - return 0 -} - -func (x *Point) GetNumQueriesWithWarningsPerSec() float32 { - if x != nil { - return x.NumQueriesWithWarningsPerSec - } - return 0 -} - -func (x *Point) GetMQueryTimeSumPerSec() float32 { - if x != nil { - return x.MQueryTimeSumPerSec - } - return 0 -} - -func (x *Point) GetMLockTimeSumPerSec() float32 { - if x != nil { - return x.MLockTimeSumPerSec - } - return 0 -} - -func (x *Point) GetMRowsSentSumPerSec() float32 { - if x != nil { - return x.MRowsSentSumPerSec - } - return 0 -} - -func (x *Point) GetMRowsExaminedSumPerSec() float32 { - if x != nil { - return x.MRowsExaminedSumPerSec - } - return 0 -} - -func (x *Point) GetMRowsAffectedSumPerSec() float32 { - if x != nil { - return x.MRowsAffectedSumPerSec - } - return 0 -} - -func (x *Point) GetMRowsReadSumPerSec() float32 { - if x != nil { - return x.MRowsReadSumPerSec - } - return 0 -} - -func (x *Point) GetMMergePassesSumPerSec() float32 { - if x != nil { - return x.MMergePassesSumPerSec - } - return 0 -} - -func (x *Point) GetMInnodbIoROpsSumPerSec() float32 { - if x != nil { - return x.MInnodbIoROpsSumPerSec - } - return 0 -} - -func (x *Point) GetMInnodbIoRBytesSumPerSec() float32 { - if x != nil { - return x.MInnodbIoRBytesSumPerSec - } - return 0 -} - -func (x *Point) GetMInnodbIoRWaitSumPerSec() float32 { - if x != nil { - return x.MInnodbIoRWaitSumPerSec - } - return 0 -} - -func (x *Point) GetMInnodbRecLockWaitSumPerSec() float32 { - if x != nil { - return x.MInnodbRecLockWaitSumPerSec - } - return 0 -} - -func (x *Point) GetMInnodbQueueWaitSumPerSec() float32 { - if x != nil { - return x.MInnodbQueueWaitSumPerSec - } - return 0 -} - -func (x *Point) GetMInnodbPagesDistinctSumPerSec() float32 { - if x != nil { - return x.MInnodbPagesDistinctSumPerSec - } - return 0 -} - -func (x *Point) GetMQueryLengthSumPerSec() float32 { - if x != nil { - return x.MQueryLengthSumPerSec - } - return 0 -} - -func (x *Point) GetMBytesSentSumPerSec() float32 { - if x != nil { - return x.MBytesSentSumPerSec - } - return 0 -} - -func (x *Point) GetMTmpTablesSumPerSec() float32 { - if x != nil { - return x.MTmpTablesSumPerSec - } - return 0 -} - -func (x *Point) GetMTmpDiskTablesSumPerSec() float32 { - if x != nil { - return x.MTmpDiskTablesSumPerSec - } - return 0 -} - -func (x *Point) GetMTmpTableSizesSumPerSec() float32 { - if x != nil { - return x.MTmpTableSizesSumPerSec - } - return 0 -} - -func (x *Point) GetMQcHitSumPerSec() float32 { - if x != nil { - return x.MQcHitSumPerSec - } - return 0 -} - -func (x *Point) GetMFullScanSumPerSec() float32 { - if x != nil { - return x.MFullScanSumPerSec - } - return 0 -} - -func (x *Point) GetMFullJoinSumPerSec() float32 { - if x != nil { - return x.MFullJoinSumPerSec - } - return 0 -} - -func (x *Point) GetMTmpTableSumPerSec() float32 { - if x != nil { - return x.MTmpTableSumPerSec - } - return 0 -} - -func (x *Point) GetMTmpTableOnDiskSumPerSec() float32 { - if x != nil { - return x.MTmpTableOnDiskSumPerSec - } - return 0 -} - -func (x *Point) GetMFilesortSumPerSec() float32 { - if x != nil { - return x.MFilesortSumPerSec - } - return 0 -} - -func (x *Point) GetMFilesortOnDiskSumPerSec() float32 { - if x != nil { - return x.MFilesortOnDiskSumPerSec - } - return 0 -} - -func (x *Point) GetMSelectFullRangeJoinSumPerSec() float32 { - if x != nil { - return x.MSelectFullRangeJoinSumPerSec - } - return 0 -} - -func (x *Point) GetMSelectRangeSumPerSec() float32 { - if x != nil { - return x.MSelectRangeSumPerSec - } - return 0 -} - -func (x *Point) GetMSelectRangeCheckSumPerSec() float32 { - if x != nil { - return x.MSelectRangeCheckSumPerSec - } - return 0 -} - -func (x *Point) GetMSortRangeSumPerSec() float32 { - if x != nil { - return x.MSortRangeSumPerSec - } - return 0 -} - -func (x *Point) GetMSortRowsSumPerSec() float32 { - if x != nil { - return x.MSortRowsSumPerSec - } - return 0 -} - -func (x *Point) GetMSortScanSumPerSec() float32 { - if x != nil { - return x.MSortScanSumPerSec - } - return 0 -} - -func (x *Point) GetMNoIndexUsedSumPerSec() float32 { - if x != nil { - return x.MNoIndexUsedSumPerSec - } - return 0 -} - -func (x *Point) GetMNoGoodIndexUsedSumPerSec() float32 { - if x != nil { - return x.MNoGoodIndexUsedSumPerSec - } - return 0 -} - -func (x *Point) GetMDocsReturnedSumPerSec() float32 { - if x != nil { - return x.MDocsReturnedSumPerSec - } - return 0 -} - -func (x *Point) GetMResponseLengthSumPerSec() float32 { - if x != nil { - return x.MResponseLengthSumPerSec - } - return 0 -} - -func (x *Point) GetMDocsScannedSumPerSec() float32 { - if x != nil { - return x.MDocsScannedSumPerSec - } - return 0 -} - -func (x *Point) GetMSharedBlksHitSumPerSec() float32 { - if x != nil { - return x.MSharedBlksHitSumPerSec - } - return 0 -} - -func (x *Point) GetMSharedBlksReadSumPerSec() float32 { - if x != nil { - return x.MSharedBlksReadSumPerSec - } - return 0 -} - -func (x *Point) GetMSharedBlksDirtiedSumPerSec() float32 { - if x != nil { - return x.MSharedBlksDirtiedSumPerSec - } - return 0 -} - -func (x *Point) GetMSharedBlksWrittenSumPerSec() float32 { - if x != nil { - return x.MSharedBlksWrittenSumPerSec - } - return 0 -} - -func (x *Point) GetMLocalBlksHitSumPerSec() float32 { - if x != nil { - return x.MLocalBlksHitSumPerSec - } - return 0 -} - -func (x *Point) GetMLocalBlksReadSumPerSec() float32 { - if x != nil { - return x.MLocalBlksReadSumPerSec - } - return 0 -} - -func (x *Point) GetMLocalBlksDirtiedSumPerSec() float32 { - if x != nil { - return x.MLocalBlksDirtiedSumPerSec - } - return 0 -} - -func (x *Point) GetMLocalBlksWrittenSumPerSec() float32 { - if x != nil { - return x.MLocalBlksWrittenSumPerSec - } - return 0 -} - -func (x *Point) GetMTempBlksReadSumPerSec() float32 { - if x != nil { - return x.MTempBlksReadSumPerSec - } - return 0 -} - -func (x *Point) GetMTempBlksWrittenSumPerSec() float32 { - if x != nil { - return x.MTempBlksWrittenSumPerSec - } - return 0 -} - -// Deprecated: Marked as deprecated in qanpb/qan.proto. -func (x *Point) GetMBlkReadTimeSumPerSec() float32 { - if x != nil { - return x.MBlkReadTimeSumPerSec - } - return 0 -} - -// Deprecated: Marked as deprecated in qanpb/qan.proto. -func (x *Point) GetMBlkWriteTimeSumPerSec() float32 { - if x != nil { - return x.MBlkWriteTimeSumPerSec - } - return 0 -} - -func (x *Point) GetMSharedBlkReadTimeSumPerSec() float32 { - if x != nil { - return x.MSharedBlkReadTimeSumPerSec - } - return 0 -} - -func (x *Point) GetMSharedBlkWriteTimeSumPerSec() float32 { - if x != nil { - return x.MSharedBlkWriteTimeSumPerSec - } - return 0 -} - -func (x *Point) GetMLocalBlkReadTimeSumPerSec() float32 { - if x != nil { - return x.MLocalBlkReadTimeSumPerSec - } - return 0 -} - -func (x *Point) GetMLocalBlkWriteTimeSumPerSec() float32 { - if x != nil { - return x.MLocalBlkWriteTimeSumPerSec - } - return 0 -} - -func (x *Point) GetMCpuUserTimeSumPerSec() float32 { - if x != nil { - return x.MCpuUserTimeSumPerSec - } - return 0 -} - -func (x *Point) GetMCpuSysTimeSumPerSec() float32 { - if x != nil { - return x.MCpuSysTimeSumPerSec - } - return 0 -} - -func (x *Point) GetMPlansCallsSumPerSec() float32 { - if x != nil { - return x.MPlansCallsSumPerSec - } - return 0 -} - -func (x *Point) GetMWalRecordsSumPerSec() float32 { - if x != nil { - return x.MWalRecordsSumPerSec - } - return 0 -} - -func (x *Point) GetMWalFpiSumPerSec() float32 { - if x != nil { - return x.MWalFpiSumPerSec - } - return 0 -} - -func (x *Point) GetMWalBytesSumPerSec() float32 { - if x != nil { - return x.MWalBytesSumPerSec - } - return 0 -} - -func (x *Point) GetMPlanTimeSumPerSec() float32 { - if x != nil { - return x.MPlanTimeSumPerSec - } - return 0 -} - -// MapFieldEntry allows to pass labels/dimensions in form like {"server": ["db1", "db2"...]}. -type MapFieldEntry struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Value []string `protobuf:"bytes,2,rep,name=value,proto3" json:"value,omitempty"` -} - -func (x *MapFieldEntry) Reset() { - *x = MapFieldEntry{} - mi := &file_qanpb_qan_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *MapFieldEntry) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MapFieldEntry) ProtoMessage() {} - -func (x *MapFieldEntry) ProtoReflect() protoreflect.Message { - mi := &file_qanpb_qan_proto_msgTypes[1] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MapFieldEntry.ProtoReflect.Descriptor instead. -func (*MapFieldEntry) Descriptor() ([]byte, []int) { - return file_qanpb_qan_proto_rawDescGZIP(), []int{1} -} - -func (x *MapFieldEntry) GetKey() string { - if x != nil { - return x.Key - } - return "" -} - -func (x *MapFieldEntry) GetValue() []string { - if x != nil { - return x.Value - } - return nil -} - -var File_qanpb_qan_proto protoreflect.FileDescriptor - -var file_qanpb_qan_proto_rawDesc = []byte{ - 0x0a, 0x0f, 0x71, 0x61, 0x6e, 0x70, 0x62, 0x2f, 0x71, 0x61, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x0b, 0x71, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x22, 0xf2, - 0x1e, 0x0a, 0x05, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6c, - 0x6f, 0x61, 0x64, 0x18, 0x35, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x12, - 0x2d, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x70, - 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6e, 0x75, - 0x6d, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x43, - 0x0a, 0x1f, 0x6e, 0x75, 0x6d, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x77, 0x69, - 0x74, 0x68, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, - 0x63, 0x18, 0x36, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1a, 0x6e, 0x75, 0x6d, 0x51, 0x75, 0x65, 0x72, - 0x69, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x50, 0x65, 0x72, - 0x53, 0x65, 0x63, 0x12, 0x47, 0x0a, 0x21, 0x6e, 0x75, 0x6d, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x69, - 0x65, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, - 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x37, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1c, - 0x6e, 0x75, 0x6d, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x57, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x35, 0x0a, 0x18, - 0x6d, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, - 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, - 0x6d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, - 0x53, 0x65, 0x63, 0x12, 0x33, 0x0a, 0x17, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x6d, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x53, - 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x33, 0x0a, 0x17, 0x6d, 0x5f, 0x72, 0x6f, - 0x77, 0x73, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, - 0x73, 0x65, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x6d, 0x52, 0x6f, 0x77, 0x73, - 0x53, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x3b, 0x0a, - 0x1b, 0x6d, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x65, 0x78, 0x61, 0x6d, 0x69, 0x6e, 0x65, 0x64, - 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x16, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x45, 0x78, 0x61, 0x6d, 0x69, 0x6e, 0x65, - 0x64, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x3b, 0x0a, 0x1b, 0x6d, 0x5f, - 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x75, - 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x16, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x75, - 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x33, 0x0a, 0x17, 0x6d, 0x5f, 0x72, 0x6f, 0x77, - 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, - 0x65, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x6d, 0x52, 0x6f, 0x77, 0x73, 0x52, - 0x65, 0x61, 0x64, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x39, 0x0a, 0x1a, - 0x6d, 0x5f, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x65, 0x73, 0x5f, 0x73, - 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x15, 0x6d, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x50, 0x61, 0x73, 0x73, 0x65, 0x73, 0x53, 0x75, - 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x3d, 0x0a, 0x1d, 0x6d, 0x5f, 0x69, 0x6e, 0x6e, - 0x6f, 0x64, 0x62, 0x5f, 0x69, 0x6f, 0x5f, 0x72, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x73, 0x75, 0x6d, - 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, - 0x6d, 0x49, 0x6e, 0x6e, 0x6f, 0x64, 0x62, 0x49, 0x6f, 0x52, 0x4f, 0x70, 0x73, 0x53, 0x75, 0x6d, - 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x41, 0x0a, 0x1f, 0x6d, 0x5f, 0x69, 0x6e, 0x6e, 0x6f, - 0x64, 0x62, 0x5f, 0x69, 0x6f, 0x5f, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x73, 0x75, - 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x18, 0x6d, 0x49, 0x6e, 0x6e, 0x6f, 0x64, 0x62, 0x49, 0x6f, 0x52, 0x42, 0x79, 0x74, 0x65, 0x73, - 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x3f, 0x0a, 0x1e, 0x6d, 0x5f, 0x69, - 0x6e, 0x6e, 0x6f, 0x64, 0x62, 0x5f, 0x69, 0x6f, 0x5f, 0x72, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, - 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x17, 0x6d, 0x49, 0x6e, 0x6e, 0x6f, 0x64, 0x62, 0x49, 0x6f, 0x52, 0x57, 0x61, 0x69, - 0x74, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x47, 0x0a, 0x22, 0x6d, 0x5f, - 0x69, 0x6e, 0x6e, 0x6f, 0x64, 0x62, 0x5f, 0x72, 0x65, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x77, 0x61, 0x69, 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1b, 0x6d, 0x49, 0x6e, 0x6e, 0x6f, 0x64, 0x62, 0x52, - 0x65, 0x63, 0x4c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x69, 0x74, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, - 0x53, 0x65, 0x63, 0x12, 0x42, 0x0a, 0x1f, 0x6d, 0x5f, 0x69, 0x6e, 0x6e, 0x6f, 0x64, 0x62, 0x5f, - 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, - 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x10, 0x20, 0x01, 0x28, 0x02, 0x52, 0x19, 0x6d, 0x49, - 0x6e, 0x6e, 0x6f, 0x64, 0x62, 0x51, 0x75, 0x65, 0x75, 0x65, 0x57, 0x61, 0x69, 0x74, 0x53, 0x75, - 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x4a, 0x0a, 0x23, 0x6d, 0x5f, 0x69, 0x6e, 0x6e, - 0x6f, 0x64, 0x62, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, - 0x63, 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x11, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x1d, 0x6d, 0x49, 0x6e, 0x6e, 0x6f, 0x64, 0x62, 0x50, 0x61, 0x67, - 0x65, 0x73, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, - 0x53, 0x65, 0x63, 0x12, 0x39, 0x0a, 0x1a, 0x6d, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6c, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, - 0x63, 0x18, 0x12, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x6d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x35, - 0x0a, 0x18, 0x6d, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x73, - 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x13, 0x6d, 0x42, 0x79, 0x74, 0x65, 0x73, 0x53, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x6d, 0x50, - 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x35, 0x0a, 0x18, 0x6d, 0x5f, 0x74, 0x6d, 0x70, 0x5f, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, - 0x63, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x6d, 0x54, 0x6d, 0x70, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x3e, 0x0a, 0x1d, - 0x6d, 0x5f, 0x74, 0x6d, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x15, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x17, 0x6d, 0x54, 0x6d, 0x70, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x3e, 0x0a, 0x1d, - 0x6d, 0x5f, 0x74, 0x6d, 0x70, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, - 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x16, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x17, 0x6d, 0x54, 0x6d, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x2d, 0x0a, 0x14, - 0x6d, 0x5f, 0x71, 0x63, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, - 0x5f, 0x73, 0x65, 0x63, 0x18, 0x17, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6d, 0x51, 0x63, 0x48, - 0x69, 0x74, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x33, 0x0a, 0x17, 0x6d, - 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, - 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x18, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x6d, 0x46, - 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x61, 0x6e, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, - 0x12, 0x33, 0x0a, 0x17, 0x6d, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, - 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x19, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x12, 0x6d, 0x46, 0x75, 0x6c, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x53, 0x75, 0x6d, 0x50, - 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x33, 0x0a, 0x17, 0x6d, 0x5f, 0x74, 0x6d, 0x70, 0x5f, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, - 0x18, 0x1a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x6d, 0x54, 0x6d, 0x70, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x41, 0x0a, 0x1f, 0x6d, 0x5f, - 0x74, 0x6d, 0x70, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, - 0x6b, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x1b, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x18, 0x6d, 0x54, 0x6d, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x6e, - 0x44, 0x69, 0x73, 0x6b, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x32, 0x0a, - 0x16, 0x6d, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x5f, - 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x6d, - 0x46, 0x69, 0x6c, 0x65, 0x73, 0x6f, 0x72, 0x74, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, - 0x63, 0x12, 0x40, 0x0a, 0x1e, 0x6d, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x6f, 0x72, 0x74, 0x5f, - 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, - 0x73, 0x65, 0x63, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x18, 0x6d, 0x46, 0x69, 0x6c, 0x65, - 0x73, 0x6f, 0x72, 0x74, 0x4f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, - 0x53, 0x65, 0x63, 0x12, 0x4b, 0x0a, 0x24, 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, - 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, - 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x1e, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x1d, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, - 0x12, 0x39, 0x0a, 0x1a, 0x6d, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x1f, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x44, 0x0a, 0x20, 0x6d, - 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, - 0x20, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1a, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, - 0x63, 0x12, 0x35, 0x0a, 0x18, 0x6d, 0x5f, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x21, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x13, 0x6d, 0x53, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, - 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x33, 0x0a, 0x17, 0x6d, 0x5f, 0x73, 0x6f, - 0x72, 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, - 0x73, 0x65, 0x63, 0x18, 0x22, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x6d, 0x53, 0x6f, 0x72, 0x74, - 0x52, 0x6f, 0x77, 0x73, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x33, 0x0a, - 0x17, 0x6d, 0x5f, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x75, 0x6d, - 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x23, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, - 0x6d, 0x53, 0x6f, 0x72, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, - 0x65, 0x63, 0x12, 0x3a, 0x0a, 0x1b, 0x6d, 0x5f, 0x6e, 0x6f, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x5f, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, - 0x63, 0x18, 0x24, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x6d, 0x4e, 0x6f, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x55, 0x73, 0x65, 0x64, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x43, - 0x0a, 0x20, 0x6d, 0x5f, 0x6e, 0x6f, 0x5f, 0x67, 0x6f, 0x6f, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, - 0x65, 0x63, 0x18, 0x25, 0x20, 0x01, 0x28, 0x02, 0x52, 0x19, 0x6d, 0x4e, 0x6f, 0x47, 0x6f, 0x6f, - 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x55, 0x73, 0x65, 0x64, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, - 0x53, 0x65, 0x63, 0x12, 0x3b, 0x0a, 0x1b, 0x6d, 0x5f, 0x64, 0x6f, 0x63, 0x73, 0x5f, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, - 0x65, 0x63, 0x18, 0x26, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, 0x6d, 0x44, 0x6f, 0x63, 0x73, 0x52, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, - 0x12, 0x3f, 0x0a, 0x1d, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6c, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, - 0x63, 0x18, 0x27, 0x20, 0x01, 0x28, 0x02, 0x52, 0x18, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, - 0x63, 0x12, 0x39, 0x0a, 0x1a, 0x6d, 0x5f, 0x64, 0x6f, 0x63, 0x73, 0x5f, 0x73, 0x63, 0x61, 0x6e, - 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, - 0x28, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x6d, 0x44, 0x6f, 0x63, 0x73, 0x53, 0x63, 0x61, 0x6e, - 0x6e, 0x65, 0x64, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x3e, 0x0a, 0x1d, - 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6b, 0x73, 0x5f, 0x68, 0x69, - 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x29, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x17, 0x6d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x42, 0x6c, 0x6b, 0x73, - 0x48, 0x69, 0x74, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x40, 0x0a, 0x1e, - 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6b, 0x73, 0x5f, 0x72, 0x65, - 0x61, 0x64, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x2a, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x18, 0x6d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x42, 0x6c, 0x6b, - 0x73, 0x52, 0x65, 0x61, 0x64, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x46, - 0x0a, 0x21, 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6b, 0x73, 0x5f, - 0x64, 0x69, 0x72, 0x74, 0x69, 0x65, 0x64, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, - 0x73, 0x65, 0x63, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1b, 0x6d, 0x53, 0x68, 0x61, 0x72, - 0x65, 0x64, 0x42, 0x6c, 0x6b, 0x73, 0x44, 0x69, 0x72, 0x74, 0x69, 0x65, 0x64, 0x53, 0x75, 0x6d, - 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x46, 0x0a, 0x21, 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6b, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x5f, - 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x2c, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x1b, 0x6d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x42, 0x6c, 0x6b, 0x73, 0x57, 0x72, - 0x69, 0x74, 0x74, 0x65, 0x6e, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x3c, - 0x0a, 0x1c, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x6b, 0x73, 0x5f, 0x68, - 0x69, 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x2d, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x6c, 0x6b, 0x73, - 0x48, 0x69, 0x74, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x3e, 0x0a, 0x1d, - 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x61, - 0x64, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x2e, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x17, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x6c, 0x6b, 0x73, 0x52, - 0x65, 0x61, 0x64, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x44, 0x0a, 0x20, - 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x6b, 0x73, 0x5f, 0x64, 0x69, 0x72, - 0x74, 0x69, 0x65, 0x64, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, - 0x18, 0x2f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1a, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x6c, - 0x6b, 0x73, 0x44, 0x69, 0x72, 0x74, 0x69, 0x65, 0x64, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, - 0x65, 0x63, 0x12, 0x44, 0x0a, 0x20, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x6c, - 0x6b, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, - 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x30, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1a, 0x6d, 0x4c, - 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x6c, 0x6b, 0x73, 0x57, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x53, - 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x3c, 0x0a, 0x1c, 0x6d, 0x5f, 0x74, 0x65, - 0x6d, 0x70, 0x5f, 0x62, 0x6c, 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x75, 0x6d, - 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x31, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, - 0x6d, 0x54, 0x65, 0x6d, 0x70, 0x42, 0x6c, 0x6b, 0x73, 0x52, 0x65, 0x61, 0x64, 0x53, 0x75, 0x6d, - 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x42, 0x0a, 0x1f, 0x6d, 0x5f, 0x74, 0x65, 0x6d, 0x70, - 0x5f, 0x62, 0x6c, 0x6b, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x5f, 0x73, 0x75, - 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x32, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x19, 0x6d, 0x54, 0x65, 0x6d, 0x70, 0x42, 0x6c, 0x6b, 0x73, 0x57, 0x72, 0x69, 0x74, 0x74, 0x65, - 0x6e, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x3e, 0x0a, 0x1b, 0x6d, 0x5f, - 0x62, 0x6c, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, - 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x33, 0x20, 0x01, 0x28, 0x02, 0x42, - 0x02, 0x18, 0x01, 0x52, 0x15, 0x6d, 0x42, 0x6c, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, - 0x65, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x40, 0x0a, 0x1c, 0x6d, 0x5f, - 0x62, 0x6c, 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, - 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x34, 0x20, 0x01, 0x28, 0x02, - 0x42, 0x02, 0x18, 0x01, 0x52, 0x16, 0x6d, 0x42, 0x6c, 0x6b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x47, 0x0a, 0x22, - 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x72, 0x65, 0x61, - 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, - 0x65, 0x63, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1b, 0x6d, 0x53, 0x68, 0x61, 0x72, 0x65, - 0x64, 0x42, 0x6c, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x50, - 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x49, 0x0a, 0x23, 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, - 0x64, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x40, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x1c, 0x6d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x42, 0x6c, 0x6b, 0x57, 0x72, - 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, - 0x12, 0x45, 0x0a, 0x21, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, - 0x72, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, - 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x41, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1a, 0x6d, 0x4c, 0x6f, - 0x63, 0x61, 0x6c, 0x42, 0x6c, 0x6b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, - 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x47, 0x0a, 0x22, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x42, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x1b, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x6c, 0x6b, 0x57, 0x72, - 0x69, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, - 0x12, 0x3a, 0x0a, 0x1b, 0x6d, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, - 0x38, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x6d, 0x43, 0x70, 0x75, 0x55, 0x73, 0x65, 0x72, 0x54, - 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x38, 0x0a, 0x1a, - 0x6d, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x73, 0x79, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, - 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x39, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x14, 0x6d, 0x43, 0x70, 0x75, 0x53, 0x79, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, - 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x37, 0x0a, 0x19, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x6e, - 0x73, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, - 0x73, 0x65, 0x63, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x14, 0x6d, 0x50, 0x6c, 0x61, 0x6e, - 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, - 0x37, 0x0a, 0x19, 0x6d, 0x5f, 0x77, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, - 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x3b, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x14, 0x6d, 0x57, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x53, - 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x2f, 0x0a, 0x15, 0x6d, 0x5f, 0x77, 0x61, - 0x6c, 0x5f, 0x66, 0x70, 0x69, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, - 0x63, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x6d, 0x57, 0x61, 0x6c, 0x46, 0x70, 0x69, - 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x33, 0x0a, 0x17, 0x6d, 0x5f, 0x77, - 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, - 0x5f, 0x73, 0x65, 0x63, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x6d, 0x57, 0x61, 0x6c, - 0x42, 0x79, 0x74, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x12, 0x33, - 0x0a, 0x17, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, - 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x12, 0x6d, 0x50, 0x6c, 0x61, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x75, 0x6d, 0x50, 0x65, 0x72, - 0x53, 0x65, 0x63, 0x22, 0x37, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2a, 0x55, 0x0a, 0x0d, - 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1e, 0x0a, - 0x16, 0x45, 0x58, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, - 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0f, 0x0a, - 0x07, 0x45, 0x58, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x01, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x13, - 0x0a, 0x0b, 0x46, 0x49, 0x4e, 0x47, 0x45, 0x52, 0x50, 0x52, 0x49, 0x4e, 0x54, 0x10, 0x02, 0x1a, - 0x02, 0x08, 0x01, 0x2a, 0x5d, 0x0a, 0x0b, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x58, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, - 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x4c, 0x4f, 0x57, - 0x45, 0x53, 0x54, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x53, 0x54, 0x45, 0x53, 0x54, - 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x10, 0x04, 0x42, 0x95, 0x01, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x2e, 0x71, 0x61, 0x6e, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x08, 0x51, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, - 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x61, 0x2f, 0x70, 0x6d, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x71, - 0x61, 0x6e, 0x70, 0x62, 0x3b, 0x71, 0x61, 0x6e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, - 0x02, 0x03, 0x51, 0x58, 0x58, 0xaa, 0x02, 0x0b, 0x51, 0x61, 0x6e, 0x2e, 0x56, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0xca, 0x02, 0x0b, 0x51, 0x61, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0xe2, 0x02, 0x17, 0x51, 0x61, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, - 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0c, 0x51, 0x61, - 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, -} - -var ( - file_qanpb_qan_proto_rawDescOnce sync.Once - file_qanpb_qan_proto_rawDescData = file_qanpb_qan_proto_rawDesc -) - -func file_qanpb_qan_proto_rawDescGZIP() []byte { - file_qanpb_qan_proto_rawDescOnce.Do(func() { - file_qanpb_qan_proto_rawDescData = protoimpl.X.CompressGZIP(file_qanpb_qan_proto_rawDescData) - }) - return file_qanpb_qan_proto_rawDescData -} - -var ( - file_qanpb_qan_proto_enumTypes = make([]protoimpl.EnumInfo, 2) - file_qanpb_qan_proto_msgTypes = make([]protoimpl.MessageInfo, 2) - file_qanpb_qan_proto_goTypes = []any{ - (ExampleFormat)(0), // 0: qan.v1beta1.ExampleFormat - (ExampleType)(0), // 1: qan.v1beta1.ExampleType - (*Point)(nil), // 2: qan.v1beta1.Point - (*MapFieldEntry)(nil), // 3: qan.v1beta1.MapFieldEntry - } -) - -var file_qanpb_qan_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name -} - -func init() { file_qanpb_qan_proto_init() } -func file_qanpb_qan_proto_init() { - if File_qanpb_qan_proto != nil { - return - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_qanpb_qan_proto_rawDesc, - NumEnums: 2, - NumMessages: 2, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_qanpb_qan_proto_goTypes, - DependencyIndexes: file_qanpb_qan_proto_depIdxs, - EnumInfos: file_qanpb_qan_proto_enumTypes, - MessageInfos: file_qanpb_qan_proto_msgTypes, - }.Build() - File_qanpb_qan_proto = out.File - file_qanpb_qan_proto_rawDesc = nil - file_qanpb_qan_proto_goTypes = nil - file_qanpb_qan_proto_depIdxs = nil -} diff --git a/api/swagger/swagger-dev.json b/api/swagger/swagger-dev.json index cb544a74eb..9e26dfeeb6 100644 --- a/api/swagger/swagger-dev.json +++ b/api/swagger/swagger-dev.json @@ -1,40131 +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": { - "/logs.zip": { - "get": { - "description": "Returns the PMM Server logs.", - "produces": [ - "application/zip" - ], - "tags": [ - "Server" - ], - "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" - } - } - } - } - } - } - }, - "/v0/qan/Filters/Get": { - "post": { - "tags": [ - "Filters" - ], - "summary": "Get gets map of metrics names.", - "operationId": "Get", - "parameters": [ - { - "description": "FiltersRequest contains period for which we need filters.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "FiltersRequest 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": "FiltersReply 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 - } - } - } - } - } - } - }, - "/v0/qan/GetMetricsNames": { - "post": { - "tags": [ - "MetricsNames" - ], - "summary": "GetMetricsNames gets map of metrics names.", - "operationId": "GetMetricsNames", - "parameters": [ - { - "description": "MetricsNamesRequest is emty.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "MetricsNamesRequest is emty.", - "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 - } - } - } - } - } - } - }, - "/v0/qan/GetReport": { - "post": { - "tags": [ - "Profile" - ], - "summary": "GetReport returns list of metrics group by queryid or other dimentions.", - "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": "Boolean metrics:\n- *_sum_per_sec - how many times this matric was true.\n\nQuery 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": "MongoDB metrics.\n\nThe 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": "PostgreSQL metrics.\n\nTotal 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_shared_blk_read_time_sum_per_sec": { - "description": "Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", - "type": "number", - "format": "float", - "x-order": 55 - }, - "m_shared_blk_write_time_sum_per_sec": { - "description": "Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", - "type": "number", - "format": "float", - "x-order": 56 - }, - "m_local_blk_read_time_sum_per_sec": { - "description": "Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", - "type": "number", - "format": "float", - "x-order": 57 - }, - "m_local_blk_write_time_sum_per_sec": { - "description": "Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", - "type": "number", - "format": "float", - "x-order": 58 - }, - "m_cpu_user_time_sum_per_sec": { - "description": "Total time user spent in query.", - "type": "number", - "format": "float", - "x-order": 59 - }, - "m_cpu_sys_time_sum_per_sec": { - "description": "Total time system spent in query.", - "type": "number", - "format": "float", - "x-order": 60 - }, - "m_plans_calls_sum_per_sec": { - "description": "Total number of planned calls.", - "type": "number", - "format": "float", - "title": "pg_stat_monitor 0.9 metrics", - "x-order": 61 - }, - "m_wal_records_sum_per_sec": { - "description": "Total number of WAL (Write-ahead logging) records.", - "type": "number", - "format": "float", - "x-order": 62 - }, - "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": 63 - }, - "m_wal_bytes_sum_per_sec": { - "description": "Total bytes of WAL (Write-ahead logging) records.", - "type": "number", - "format": "float", - "x-order": 64 - }, - "m_plan_time_sum_per_sec": { - "description": "Plan time in per seconds.", - "type": "number", - "format": "float", - "x-order": 65 - } - } - }, - "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 - } - } - } - } - } - } - }, - "/v0/qan/ObjectDetails/ExplainFingerprintByQueryID": { - "post": { - "tags": [ - "ObjectDetails" - ], - "summary": "ExplainFingerprintByQueryID get explain fingerprint for given query ID.", - "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": "ExplainFingerprintByQueryIDReply 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 - } - } - } - } - } - } - }, - "/v0/qan/ObjectDetails/GetHistogram": { - "post": { - "tags": [ - "ObjectDetails" - ], - "summary": "GetHistogram gets histogram items for specific filtering.", - "operationId": "GetHistogram", - "parameters": [ - { - "description": "HistogramRequest defines filtering by time range, labels and queryid.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "HistogramRequest 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": "HistogramReply 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 - } - } - } - } - } - } - }, - "/v0/qan/ObjectDetails/GetLabels": { - "post": { - "tags": [ - "ObjectDetails" - ], - "summary": "GetLabels gets list of labels for object details.", - "operationId": "GetLabels", - "parameters": [ - { - "description": "ObjectDetailsLabelsRequest 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": "ObjectDetailsLabelsRequest 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": "ObjectDetailsLabelsReply 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 - } - } - } - } - } - } - }, - "/v0/qan/ObjectDetails/GetMetrics": { - "post": { - "tags": [ - "ObjectDetails" - ], - "summary": "GetMetrics gets map of metrics for specific filtering.", - "operationId": "GetMetrics", - "parameters": [ - { - "description": "MetricsRequest defines filtering of metrics for specific value of dimension (ex.: host=hostname1 or queryid=1D410B4BE5060972.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "MetricsRequest 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": "MetricsReply 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": "Boolean metrics:\n- *_sum_per_sec - how many times this matric was true.\n\nQuery 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": "MongoDB metrics.\n\nThe 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": "PostgreSQL metrics.\n\nTotal 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_shared_blk_read_time_sum_per_sec": { - "description": "Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", - "type": "number", - "format": "float", - "x-order": 55 - }, - "m_shared_blk_write_time_sum_per_sec": { - "description": "Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", - "type": "number", - "format": "float", - "x-order": 56 - }, - "m_local_blk_read_time_sum_per_sec": { - "description": "Total time the statement spent reading shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", - "type": "number", - "format": "float", - "x-order": 57 - }, - "m_local_blk_write_time_sum_per_sec": { - "description": "Total time the statement spent writing shared blocks, in milliseconds (if track_io_timing is enabled, otherwise zero).", - "type": "number", - "format": "float", - "x-order": 58 - }, - "m_cpu_user_time_sum_per_sec": { - "description": "Total time user spent in query.", - "type": "number", - "format": "float", - "x-order": 59 - }, - "m_cpu_sys_time_sum_per_sec": { - "description": "Total time system spent in query.", - "type": "number", - "format": "float", - "x-order": 60 - }, - "m_plans_calls_sum_per_sec": { - "description": "Total number of planned calls.", - "type": "number", - "format": "float", - "title": "pg_stat_monitor 0.9 metrics", - "x-order": 61 - }, - "m_wal_records_sum_per_sec": { - "description": "Total number of WAL (Write-ahead logging) records.", - "type": "number", - "format": "float", - "x-order": 62 - }, - "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": 63 - }, - "m_wal_bytes_sum_per_sec": { - "description": "Total bytes of WAL (Write-ahead logging) records.", - "type": "number", - "format": "float", - "x-order": 64 - }, - "m_plan_time_sum_per_sec": { - "description": "Plan time in per seconds.", - "type": "number", - "format": "float", - "x-order": 65 - } - } - }, - "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": "GetSlecetedQueryMetadataReply 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 - } - } - } - } - } - } - }, - "/v0/qan/ObjectDetails/GetQueryExample": { - "post": { - "tags": [ - "ObjectDetails" - ], - "summary": "GetQueryExample gets list of query examples.", - "operationId": "GetQueryExample", - "parameters": [ - { - "description": "QueryExampleRequest defines filtering of query examples for specific value of\ndimension (ex.: host=hostname1 or queryid=1D410B4BE5060972.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "QueryExampleRequest 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": "QueryExampleReply 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_format": { - "description": "ExampleFormat is format of query example: real or query without values.\n\nDeprecated: is not used, should not be used, should be removed.", - "type": "string", - "default": "EXAMPLE_FORMAT_INVALID", - "enum": [ - "EXAMPLE_FORMAT_INVALID", - "EXAMPLE", - "FINGERPRINT" - ], - "x-order": 1 - }, - "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_INVALID", - "enum": [ - "EXAMPLE_TYPE_INVALID", - "RANDOM", - "SLOWEST", - "FASTEST", - "WITH_ERROR" - ], - "x-order": 2 - }, - "is_truncated": { - "type": "integer", - "format": "int64", - "x-order": 3 - }, - "placeholders_count": { - "type": "integer", - "format": "int64", - "x-order": 4 - }, - "explain_fingerprint": { - "type": "string", - "x-order": 5 - }, - "query_id": { - "type": "string", - "x-order": 6 - }, - "example_metrics": { - "type": "string", - "x-order": 7 - }, - "service_id": { - "type": "string", - "x-order": 8 - }, - "service_type": { - "type": "string", - "x-order": 9 - }, - "schema": { - "type": "string", - "x-order": 10 - }, - "tables": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 11 - } - } - }, - "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 - } - } - } - } - } - } - }, - "/v0/qan/ObjectDetails/GetQueryPlan": { - "post": { - "tags": [ - "ObjectDetails" - ], - "summary": "GetQueryPlan gets query plan and plan id for specific filtering.", - "operationId": "GetQueryPlan", - "parameters": [ - { - "description": "QueryPlanRequest defines filtering by queryid.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "QueryPlanRequest defines filtering by queryid.", - "type": "object", - "properties": { - "queryid": { - "type": "string", - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "description": "QueryPlanReply 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 - } - } - } - } - } - } - }, - "/v0/qan/ObjectDetails/QueryExists": { - "post": { - "tags": [ - "ObjectDetails" - ], - "summary": "QueryExists check if query exists in clickhouse.", - "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": { - "type": "boolean" - } - }, - "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 - } - } - } - } - } - } - }, - "/v0/qan/ObjectDetails/SchemaByQueryID": { - "post": { - "tags": [ - "ObjectDetails" - ], - "summary": "SchemaByQueryID returns schema for given queryID and serviceID.", - "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": "SchemaByQueryIDReply 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/AWSInstanceCheck": { - "post": { - "description": "Checks AWS EC2 instance ID.", - "tags": [ - "Server" - ], - "summary": "AWS instance check", - "operationId": "AWSInstanceCheck", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "instance_id": { - "description": "AWS EC2 instance ID (i-1234567890abcdef0).", - "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": { - "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/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": [ - "Platform" - ], - "summary": "Connect", - "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 - }, - "email": { - "description": "Existing Percona Platform user's email.", - "type": "string", - "x-order": 1 - }, - "password": { - "description": "Existing Percona Platform user's password.", - "type": "string", - "x-order": 2 - }, - "personal_access_token": { - "description": "Personal Access Token that the user obtains from Percona Portal.", - "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/Platform/Disconnect": { - "post": { - "description": "Disconnect a PMM server from the organization created on Percona Portal.", - "tags": [ - "Platform" - ], - "summary": "Disconnect", - "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/Platform/GetContactInformation": { - "post": { - "description": "GetContactInformation fetches the contact details of the customer success employee handling the Percona customer account from Percona Platform.", - "tags": [ - "Platform" - ], - "summary": "GetContactInformation", - "operationId": "GetContactInformation", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } - } - ], - "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/SearchOrganizationEntitlements": { - "post": { - "description": "SearchOrganizationEntitlements fetches details of the entitlement's available to the Portal organization that the PMM server is connected to.", - "tags": [ - "Platform" - ], - "summary": "SearchOrganizationEntitlements", - "operationId": "SearchOrganizationEntitlements", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } - } - ], - "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-order": 3 - }, - "total_units": { - "description": "Total units covered by this entitlement.", - "type": "string", - "x-order": 4 - }, - "unlimited_units": { - "description": "Flag indicates that unlimited units are covered.", - "type": "boolean", - "x-order": 5 - }, - "support_level": { - "description": "Support level covered by this entitlement.", - "type": "string", - "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-order": 0 - }, - "config_advisor": { - "description": "Flag indicates that config advisors are covered by this entitlement.", - "type": "string", - "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/SearchOrganizationTickets": { - "post": { - "description": "SearchOrganizationTickets searches support tickets belonging to the Percona Portal Organization that the PMM server is connected to.", - "tags": [ - "Platform" - ], - "summary": "SearchOrganizationTickets", - "operationId": "SearchOrganizationTickets", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } - } - ], - "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/ServerInfo": { - "post": { - "description": "ServerInfo returns PMM server ID and name.", - "tags": [ - "Platform" - ], - "summary": "ServerInfo", - "operationId": "ServerInfo", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } - } - ], - "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/UserStatus": { - "post": { - "description": "UserStatus returns a boolean indicating whether the current user is logged in with their Percona Account or not.", - "tags": [ - "Platform" - ], - "summary": "UserStatus", - "operationId": "UserStatus", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } - } - ], - "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/Settings/Change": { - "post": { - "description": "Changes PMM Server settings.", - "tags": [ - "Server" - ], - "summary": "Change settings", - "operationId": "ChangeSettings", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "enable_updates": { - "type": "boolean", - "x-order": 0 - }, - "disable_updates": { - "type": "boolean", - "x-order": 1 - }, - "enable_telemetry": { - "type": "boolean", - "x-order": 2 - }, - "disable_telemetry": { - "type": "boolean", - "x-order": 3 - }, - "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": 4 - }, - "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": 5 - }, - "ssh_key": { - "type": "string", - "x-order": 6 - }, - "aws_partitions": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 7 - }, - "alert_manager_url": { - "description": "External AlertManager URL (e.g., https://username:password@1.2.3.4/path).", - "type": "string", - "x-order": 8 - }, - "remove_alert_manager_url": { - "description": "Remove external AlertManager URL.\n\nalert_manager_rules and remove_alert_manager_rules field names are incorrect\n (they never were _Alertmanager_ rules), but we can't rename them for compatibility reasons.", - "type": "boolean", - "x-order": 9 - }, - "alert_manager_rules": { - "description": "Custom alerting or recording rules.", - "type": "string", - "x-order": 10 - }, - "remove_alert_manager_rules": { - "description": "Remove custom alerting or recording rules.", - "type": "boolean", - "x-order": 11 - }, - "enable_stt": { - "description": "Enable Security Threat Tool.", - "type": "boolean", - "x-order": 12 - }, - "disable_stt": { - "description": "Disable Security Threat Tool.", - "type": "boolean", - "x-order": 13 - }, - "enable_alerting": { - "description": "Enable Alerting.", - "type": "boolean", - "x-order": 14 - }, - "disable_alerting": { - "description": "Disable Alerting.", - "type": "boolean", - "x-order": 15 - }, - "email_alerting_settings": { - "description": "EmailAlertingSettings represents email (SMTP) configuration for Alerting.", - "type": "object", - "properties": { - "from": { - "description": "SMTP From header field.", - "type": "string", - "x-order": 0 - }, - "smarthost": { - "description": "SMTP host and port.", - "type": "string", - "x-order": 1 - }, - "hello": { - "description": "Hostname to identify to the SMTP server.", - "type": "string", - "x-order": 2 - }, - "username": { - "description": "Auth using CRAM-MD5, LOGIN and PLAIN.", - "type": "string", - "x-order": 3 - }, - "password": { - "description": "Auth using LOGIN and PLAIN.", - "type": "string", - "x-order": 4 - }, - "identity": { - "description": "Auth using PLAIN.", - "type": "string", - "x-order": 5 - }, - "secret": { - "description": "Auth using CRAM-MD5.", - "type": "string", - "x-order": 6 - }, - "require_tls": { - "description": "Require TLS.", - "type": "boolean", - "x-order": 7 - } - }, - "x-order": 16 - }, - "remove_email_alerting_settings": { - "description": "If true, removes Alerting email (SMTP) settings.", - "type": "boolean", - "x-order": 17 - }, - "slack_alerting_settings": { - "description": "SlackAlertingSettings represents Slack configuration for Alerting.", - "type": "object", - "properties": { - "url": { - "description": "Slack API (webhook) URL.", - "type": "string", - "x-order": 0 - } - }, - "x-order": 18 - }, - "remove_slack_alerting_settings": { - "description": "If true, removes Alerting Slack settings.", - "type": "boolean", - "x-order": 19 - }, - "pmm_public_address": { - "description": "PMM Server public address.", - "type": "string", - "x-order": 20 - }, - "remove_pmm_public_address": { - "type": "boolean", - "x-order": 21 - }, - "stt_check_intervals": { - "description": "STTCheckIntervals represents intervals between STT 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": 22 - }, - "enable_azurediscover": { - "description": "Enable Azure Discover.", - "type": "boolean", - "x-order": 23 - }, - "disable_azurediscover": { - "description": "Disable Azure Discover.", - "type": "boolean", - "x-order": 24 - }, - "enable_backup_management": { - "description": "Enable Backup Management.", - "type": "boolean", - "x-order": 25 - }, - "disable_backup_management": { - "description": "Disable Backup Management.", - "type": "boolean", - "x-order": 26 - }, - "enable_dbaas": { - "description": "Enable DBaaS.", - "type": "boolean", - "x-order": 27 - }, - "disable_dbaas": { - "description": "Disable DBaaS.", - "type": "boolean", - "x-order": 28 - }, - "enable_access_control": { - "type": "boolean", - "title": "Enable Access Control", - "x-order": 29 - }, - "disable_access_control": { - "type": "boolean", - "title": "Disable Access Control", - "x-order": 30 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "settings": { - "description": "Settings represents PMM Server settings.", - "type": "object", - "properties": { - "updates_disabled": { - "description": "True if updates are disabled.", - "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 - }, - "alert_manager_url": { - "description": "External AlertManager URL (e.g., https://username:password@1.2.3.4/path).\n\nalert_manager_rules field name is incorrect\n (they never were _Alertmanager_ rules), but we can't rename it for compatibility reasons.", - "type": "string", - "x-order": 6 - }, - "alert_manager_rules": { - "description": "Custom alerting or recording rules.", - "type": "string", - "x-order": 7 - }, - "stt_enabled": { - "description": "True if Security Threat Tool is enabled.", - "type": "boolean", - "x-order": 8 - }, - "platform_email": { - "description": "Percona Platform user's email, if this PMM instance is linked to the Platform.", - "type": "string", - "x-order": 9 - }, - "dbaas_enabled": { - "description": "True if DBaaS is enabled.", - "type": "boolean", - "x-order": 10 - }, - "alerting_enabled": { - "description": "True if Alerting is enabled.", - "type": "boolean", - "x-order": 11 - }, - "email_alerting_settings": { - "description": "EmailAlertingSettings represents email (SMTP) configuration for Alerting.", - "type": "object", - "properties": { - "from": { - "description": "SMTP From header field.", - "type": "string", - "x-order": 0 - }, - "smarthost": { - "description": "SMTP host and port.", - "type": "string", - "x-order": 1 - }, - "hello": { - "description": "Hostname to identify to the SMTP server.", - "type": "string", - "x-order": 2 - }, - "username": { - "description": "Auth using CRAM-MD5, LOGIN and PLAIN.", - "type": "string", - "x-order": 3 - }, - "password": { - "description": "Auth using LOGIN and PLAIN.", - "type": "string", - "x-order": 4 - }, - "identity": { - "description": "Auth using PLAIN.", - "type": "string", - "x-order": 5 - }, - "secret": { - "description": "Auth using CRAM-MD5.", - "type": "string", - "x-order": 6 - }, - "require_tls": { - "description": "Require TLS.", - "type": "boolean", - "x-order": 7 - } - }, - "x-order": 12 - }, - "slack_alerting_settings": { - "description": "SlackAlertingSettings represents Slack configuration for Alerting.", - "type": "object", - "properties": { - "url": { - "description": "Slack API (webhook) URL.", - "type": "string", - "x-order": 0 - } - }, - "x-order": 13 - }, - "pmm_public_address": { - "description": "PMM Server public address.", - "type": "string", - "x-order": 14 - }, - "stt_check_intervals": { - "description": "STTCheckIntervals represents intervals between STT 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": 15 - }, - "backup_management_enabled": { - "description": "True if Backup Management is enabled.", - "type": "boolean", - "x-order": 16 - }, - "azurediscover_enabled": { - "description": "True if Azure Discover is enabled.", - "type": "boolean", - "x-order": 17 - }, - "connected_to_platform": { - "type": "boolean", - "title": "True if the PMM instance is connected to Platform", - "x-order": 18 - }, - "telemetry_summaries": { - "type": "array", - "title": "Includes list of collected telemetry", - "items": { - "type": "string" - }, - "x-order": 19 - }, - "enable_access_control": { - "description": "True if Access Control is enabled.", - "type": "boolean", - "x-order": 20 - }, - "default_role_id": { - "description": "Default Access Control role ID for new users.", - "type": "integer", - "format": "int64", - "x-order": 21 - } - }, - "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/Settings/Get": { - "post": { - "description": "Returns current PMM Server settings.", - "tags": [ - "Server" - ], - "summary": "Get settings", - "operationId": "GetSettings", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "settings": { - "description": "Settings represents PMM Server settings.", - "type": "object", - "properties": { - "updates_disabled": { - "description": "True if updates are disabled.", - "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 - }, - "alert_manager_url": { - "description": "External AlertManager URL (e.g., https://username:password@1.2.3.4/path).\n\nalert_manager_rules field name is incorrect\n (they never were _Alertmanager_ rules), but we can't rename it for compatibility reasons.", - "type": "string", - "x-order": 6 - }, - "alert_manager_rules": { - "description": "Custom alerting or recording rules.", - "type": "string", - "x-order": 7 - }, - "stt_enabled": { - "description": "True if Security Threat Tool is enabled.", - "type": "boolean", - "x-order": 8 - }, - "platform_email": { - "description": "Percona Platform user's email, if this PMM instance is linked to the Platform.", - "type": "string", - "x-order": 9 - }, - "dbaas_enabled": { - "description": "True if DBaaS is enabled.", - "type": "boolean", - "x-order": 10 - }, - "alerting_enabled": { - "description": "True if Alerting is enabled.", - "type": "boolean", - "x-order": 11 - }, - "email_alerting_settings": { - "description": "EmailAlertingSettings represents email (SMTP) configuration for Alerting.", - "type": "object", - "properties": { - "from": { - "description": "SMTP From header field.", - "type": "string", - "x-order": 0 - }, - "smarthost": { - "description": "SMTP host and port.", - "type": "string", - "x-order": 1 - }, - "hello": { - "description": "Hostname to identify to the SMTP server.", - "type": "string", - "x-order": 2 - }, - "username": { - "description": "Auth using CRAM-MD5, LOGIN and PLAIN.", - "type": "string", - "x-order": 3 - }, - "password": { - "description": "Auth using LOGIN and PLAIN.", - "type": "string", - "x-order": 4 - }, - "identity": { - "description": "Auth using PLAIN.", - "type": "string", - "x-order": 5 - }, - "secret": { - "description": "Auth using CRAM-MD5.", - "type": "string", - "x-order": 6 - }, - "require_tls": { - "description": "Require TLS.", - "type": "boolean", - "x-order": 7 - } - }, - "x-order": 12 - }, - "slack_alerting_settings": { - "description": "SlackAlertingSettings represents Slack configuration for Alerting.", - "type": "object", - "properties": { - "url": { - "description": "Slack API (webhook) URL.", - "type": "string", - "x-order": 0 - } - }, - "x-order": 13 - }, - "pmm_public_address": { - "description": "PMM Server public address.", - "type": "string", - "x-order": 14 - }, - "stt_check_intervals": { - "description": "STTCheckIntervals represents intervals between STT 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": 15 - }, - "backup_management_enabled": { - "description": "True if Backup Management is enabled.", - "type": "boolean", - "x-order": 16 - }, - "azurediscover_enabled": { - "description": "True if Azure Discover is enabled.", - "type": "boolean", - "x-order": 17 - }, - "connected_to_platform": { - "type": "boolean", - "title": "True if the PMM instance is connected to Platform", - "x-order": 18 - }, - "telemetry_summaries": { - "type": "array", - "title": "Includes list of collected telemetry", - "items": { - "type": "string" - }, - "x-order": 19 - }, - "enable_access_control": { - "description": "True if Access Control is enabled.", - "type": "boolean", - "x-order": 20 - }, - "default_role_id": { - "description": "Default Access Control role ID for new users.", - "type": "integer", - "format": "int64", - "x-order": 21 - } - }, - "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/Settings/TestEmailAlertingSettings": { - "post": { - "description": "Sends test email to check current SMTP settings for email alerting.", - "tags": [ - "Server" - ], - "summary": "Test email alerting", - "operationId": "TestEmailAlertingSettings", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "email_alerting_settings": { - "description": "EmailAlertingSettings represents email (SMTP) configuration for Alerting.", - "type": "object", - "properties": { - "from": { - "description": "SMTP From header field.", - "type": "string", - "x-order": 0 - }, - "smarthost": { - "description": "SMTP host and port.", - "type": "string", - "x-order": 1 - }, - "hello": { - "description": "Hostname to identify to the SMTP server.", - "type": "string", - "x-order": 2 - }, - "username": { - "description": "Auth using CRAM-MD5, LOGIN and PLAIN.", - "type": "string", - "x-order": 3 - }, - "password": { - "description": "Auth using LOGIN and PLAIN.", - "type": "string", - "x-order": 4 - }, - "identity": { - "description": "Auth using PLAIN.", - "type": "string", - "x-order": 5 - }, - "secret": { - "description": "Auth using CRAM-MD5.", - "type": "string", - "x-order": 6 - }, - "require_tls": { - "description": "Require TLS.", - "type": "boolean", - "x-order": 7 - } - }, - "x-order": 0 - }, - "email_to": { - "description": "Target email address to send the email to.", - "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": { - "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/Updates/Check": { - "post": { - "description": "Checks for available PMM Server updates.", - "tags": [ - "Server" - ], - "summary": "Check updates", - "operationId": "CheckUpdates", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "force": { - "description": "If false, cached information may be returned.", - "type": "boolean", - "x-order": 0 - }, - "only_installed_version": { - "description": "If true, only installed version will be in response.", - "type": "boolean", - "x-order": 1 - } - } - } - } - ], - "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": { - "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 - }, - "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/Updates/Start": { - "post": { - "description": "Starts PMM Server update.", - "tags": [ - "Server" - ], - "summary": "Start update", - "operationId": "StartUpdate", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } - } - ], - "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/Updates/Status": { - "post": { - "description": "Returns PMM Server update status.", - "tags": [ - "Server" - ], - "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/inventory/Agents/AddAzureDatabaseExporter": { - "post": { - "description": "Adds azure_database_exporter Agent.", - "tags": [ - "Agents" - ], - "summary": "Add Azure Database Exporter", - "operationId": "AddAzureDatabaseExporter", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 11 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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": 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/AddExternalExporter": { - "post": { - "description": "Adds external_exporter Agent.", - "tags": [ - "Agents" - ], - "summary": "Add External Exporter", - "operationId": "AddExternalExporter", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "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 - }, - "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": 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/AddMongoDBExporter": { - "post": { - "description": "Adds mongodb_exporter Agent.", - "tags": [ - "Agents" - ], - "summary": "Add MongoDB Exporter", - "operationId": "AddMongoDBExporter", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 18 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 19 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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.\n\nStatus fields below.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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": 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/AddMySQLdExporter": { - "post": { - "description": "Adds mysqld_exporter Agent.", - "tags": [ - "Agents" - ], - "summary": "Add mysqld Exporter", - "operationId": "AddMySQLdExporter", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 15 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 16 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "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 - }, - "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.\n\nStatus fields below.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 13 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 14 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 15 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 16 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 17 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 18 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "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 - }, - "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": 20 - } - }, - "x-order": 0 - }, - "table_count": { - "description": "Actual table count at the moment of adding.", - "type": "integer", - "format": "int32", - "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/Agents/AddNodeExporter": { - "post": { - "description": "Adds node_exporter Agent.", - "tags": [ - "Agents" - ], - "summary": "Add Node Exporter", - "operationId": "AddNodeExporter", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 4 - }, - "expose_exporter": { - "type": "boolean", - "title": "Expose the node_exporter process on all public interfaces", - "x-order": 5 - } - } - } - } - ], - "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.\n\nStatus fields below.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 5 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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 - } - } - } - }, - "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/AddPMMAgent": { - "post": { - "description": "Adds PMM Agent.", - "tags": [ - "Agents" - ], - "summary": "Add PMM Agent", - "operationId": "AddPMMAgent", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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 - } - } - } - } - ], - "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.\n\nStatus fields below.", - "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 - } - } - } - }, - "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/AddPostgresExporter": { - "post": { - "description": "Adds postgres_exporter Agent.", - "tags": [ - "Agents" - ], - "summary": "Add Postgres Exporter", - "operationId": "AddPostgresExporter", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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 - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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": 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/AddProxySQLExporter": { - "post": { - "description": "Adds proxysql_exporter Agent.", - "tags": [ - "Agents" - ], - "summary": "Add ProxySQL Exporter", - "operationId": "AddProxySQLExporter", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 11 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 12 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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.\n\nStatus fields below.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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": 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/AddQANMongoDBProfilerAgent": { - "post": { - "description": "Adds 'Query Analytics MongoDB Profiler' Agent.", - "tags": [ - "Agents" - ], - "summary": "Add 'QAN MongoDB Profiler' Agent", - "operationId": "AddQANMongoDBProfilerAgent", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 14 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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).\n\nTrue if query examples are disabled.\n bool query_examples_disabled = 8; TODO https://jira.percona.com/browse/PMM-4650", - "type": "integer", - "format": "int32", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 11 - } - }, - "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/AddQANMySQLPerfSchemaAgent": { - "post": { - "description": "Adds 'Query Analytics MySQL PerfSchema' Agent.", - "tags": [ - "Agents" - ], - "summary": "Add 'QAN MySQL PerfSchema' Agent", - "operationId": "AddQANMySQLPerfSchemaAgent", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 14 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "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 - } - } - } - } - } - } - }, - "/v1/inventory/Agents/AddQANMySQLSlowlogAgent": { - "post": { - "description": "Adds 'Query Analytics MySQL Slowlog' Agent.", - "tags": [ - "Agents" - ], - "summary": "Add 'QAN MySQL Slowlog' Agent", - "operationId": "AddQANMySQLSlowlogAgent", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 15 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 14 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 15 - }, - "process_exec_path": { - "type": "string", - "title": "mod tidy", - "x-order": 16 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 17 - } - }, - "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/AddQANPostgreSQLPgStatMonitorAgent": { - "post": { - "description": "Adds 'Query Analytics PostgreSQL pg_stat_monitor' Agent.", - "tags": [ - "Agents" - ], - "summary": "Add 'QAN PostgreSQL pg_stat_monitor' Agent", - "operationId": "AddQANPostgreSQLPgStatMonitorAgent", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 14 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 11 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "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/inventory/Agents/AddQANPostgreSQLPgStatementsAgent": { - "post": { - "description": "Adds 'Query Analytics PostgreSQL pg_stat_statements' Agent.", - "tags": [ - "Agents" - ], - "summary": "Add 'QAN PostgreSQL pg_stat_statements' Agent", - "operationId": "AddQANPostgreSQLPgStatementsAgent", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 13 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 10 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "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/inventory/Agents/AddRDSExporter": { - "post": { - "description": "Adds rds_exporter Agent.", - "tags": [ - "Agents" - ], - "summary": "Add RDS Exporter", - "operationId": "AddRDSExporter", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 9 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 6 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).\n\nMetric collections flags below.", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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": 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/ChangeAzureDatabaseExporter": { - "post": { - "description": "Changes azure_database_exporter Agent.", - "tags": [ - "Agents" - ], - "summary": "Change Azure Database Exporter", - "operationId": "ChangeAzureDatabaseExporter", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "agent_id": { - "type": "string", - "x-order": 0 - }, - "common": { - "description": "ChangeCommonAgentParams contains parameters that can be changed for all Agents.", - "type": "object", - "properties": { - "enable": { - "description": "Enable this Agent. Can't be used with disabled.", - "type": "boolean", - "x-order": 0 - }, - "disable": { - "description": "Disable this Agent. Can't be used with enabled.", - "type": "boolean", - "x-order": 1 - }, - "custom_labels": { - "description": "Replace all custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 2 - }, - "remove_custom_labels": { - "description": "Remove all custom user-assigned labels.", - "type": "boolean", - "x-order": 3 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent, can't be used with disable_push_metrics.\nCan't be used with agent version lower then 2.12 and unsupported agents.", - "type": "boolean", - "x-order": 4 - }, - "disable_push_metrics": { - "description": "Disables push metrics, pmm-server starts to pull it, can't be used with enable_push_metrics.", - "type": "boolean", - "x-order": 5 - }, - "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": 6 - } - }, - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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": 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/ChangeExternalExporter": { - "post": { - "description": "Changes external_exporter Agent.", - "tags": [ - "Agents" - ], - "summary": "Change External Exporter", - "operationId": "ChangeExternalExporter", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "agent_id": { - "type": "string", - "x-order": 0 - }, - "common": { - "description": "ChangeCommonAgentParams contains parameters that can be changed for all Agents.", - "type": "object", - "properties": { - "enable": { - "description": "Enable this Agent. Can't be used with disabled.", - "type": "boolean", - "x-order": 0 - }, - "disable": { - "description": "Disable this Agent. Can't be used with enabled.", - "type": "boolean", - "x-order": 1 - }, - "custom_labels": { - "description": "Replace all custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 2 - }, - "remove_custom_labels": { - "description": "Remove all custom user-assigned labels.", - "type": "boolean", - "x-order": 3 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent, can't be used with disable_push_metrics.\nCan't be used with agent version lower then 2.12 and unsupported agents.", - "type": "boolean", - "x-order": 4 - }, - "disable_push_metrics": { - "description": "Disables push metrics, pmm-server starts to pull it, can't be used with enable_push_metrics.", - "type": "boolean", - "x-order": 5 - }, - "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": 6 - } - }, - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "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 - }, - "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": 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/ChangeMongoDBExporter": { - "post": { - "description": "Changes mongodb_exporter Agent.", - "tags": [ - "Agents" - ], - "summary": "Change MongoDB Exporter", - "operationId": "ChangeMongoDBExporter", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "agent_id": { - "type": "string", - "x-order": 0 - }, - "common": { - "description": "ChangeCommonAgentParams contains parameters that can be changed for all Agents.", - "type": "object", - "properties": { - "enable": { - "description": "Enable this Agent. Can't be used with disabled.", - "type": "boolean", - "x-order": 0 - }, - "disable": { - "description": "Disable this Agent. Can't be used with enabled.", - "type": "boolean", - "x-order": 1 - }, - "custom_labels": { - "description": "Replace all custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 2 - }, - "remove_custom_labels": { - "description": "Remove all custom user-assigned labels.", - "type": "boolean", - "x-order": 3 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent, can't be used with disable_push_metrics.\nCan't be used with agent version lower then 2.12 and unsupported agents.", - "type": "boolean", - "x-order": 4 - }, - "disable_push_metrics": { - "description": "Disables push metrics, pmm-server starts to pull it, can't be used with enable_push_metrics.", - "type": "boolean", - "x-order": 5 - }, - "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": 6 - } - }, - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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.\n\nStatus fields below.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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": 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/ChangeMySQLdExporter": { - "post": { - "description": "Changes mysqld_exporter Agent.", - "tags": [ - "Agents" - ], - "summary": "Change mysqld Exporter", - "operationId": "ChangeMySQLdExporter", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "agent_id": { - "type": "string", - "x-order": 0 - }, - "common": { - "description": "ChangeCommonAgentParams contains parameters that can be changed for all Agents.", - "type": "object", - "properties": { - "enable": { - "description": "Enable this Agent. Can't be used with disabled.", - "type": "boolean", - "x-order": 0 - }, - "disable": { - "description": "Disable this Agent. Can't be used with enabled.", - "type": "boolean", - "x-order": 1 - }, - "custom_labels": { - "description": "Replace all custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 2 - }, - "remove_custom_labels": { - "description": "Remove all custom user-assigned labels.", - "type": "boolean", - "x-order": 3 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent, can't be used with disable_push_metrics.\nCan't be used with agent version lower then 2.12 and unsupported agents.", - "type": "boolean", - "x-order": 4 - }, - "disable_push_metrics": { - "description": "Disables push metrics, pmm-server starts to pull it, can't be used with enable_push_metrics.", - "type": "boolean", - "x-order": 5 - }, - "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": 6 - } - }, - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "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 - }, - "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.\n\nStatus fields below.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 13 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 14 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 15 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 16 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 17 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 18 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "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 - }, - "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": 20 - } - }, - "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/ChangeNodeExporter": { - "post": { - "description": "Changes node_exporter Agent.", - "tags": [ - "Agents" - ], - "summary": "Change Node Exporter", - "operationId": "ChangeNodeExporter", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "agent_id": { - "type": "string", - "x-order": 0 - }, - "common": { - "description": "ChangeCommonAgentParams contains parameters that can be changed for all Agents.", - "type": "object", - "properties": { - "enable": { - "description": "Enable this Agent. Can't be used with disabled.", - "type": "boolean", - "x-order": 0 - }, - "disable": { - "description": "Disable this Agent. Can't be used with enabled.", - "type": "boolean", - "x-order": 1 - }, - "custom_labels": { - "description": "Replace all custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 2 - }, - "remove_custom_labels": { - "description": "Remove all custom user-assigned labels.", - "type": "boolean", - "x-order": 3 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent, can't be used with disable_push_metrics.\nCan't be used with agent version lower then 2.12 and unsupported agents.", - "type": "boolean", - "x-order": 4 - }, - "disable_push_metrics": { - "description": "Disables push metrics, pmm-server starts to pull it, can't be used with enable_push_metrics.", - "type": "boolean", - "x-order": 5 - }, - "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": 6 - } - }, - "x-order": 1 - } - } - } - } - ], - "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.\n\nStatus fields below.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 5 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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 - } - } - } - }, - "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/ChangePostgresExporter": { - "post": { - "description": "Changes postgres_exporter Agent.", - "tags": [ - "Agents" - ], - "summary": "Change Postgres Exporter", - "operationId": "ChangePostgresExporter", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "agent_id": { - "type": "string", - "x-order": 0 - }, - "common": { - "description": "ChangeCommonAgentParams contains parameters that can be changed for all Agents.", - "type": "object", - "properties": { - "enable": { - "description": "Enable this Agent. Can't be used with disabled.", - "type": "boolean", - "x-order": 0 - }, - "disable": { - "description": "Disable this Agent. Can't be used with enabled.", - "type": "boolean", - "x-order": 1 - }, - "custom_labels": { - "description": "Replace all custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 2 - }, - "remove_custom_labels": { - "description": "Remove all custom user-assigned labels.", - "type": "boolean", - "x-order": 3 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent, can't be used with disable_push_metrics.\nCan't be used with agent version lower then 2.12 and unsupported agents.", - "type": "boolean", - "x-order": 4 - }, - "disable_push_metrics": { - "description": "Disables push metrics, pmm-server starts to pull it, can't be used with enable_push_metrics.", - "type": "boolean", - "x-order": 5 - }, - "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": 6 - } - }, - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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 - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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": 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/ChangeProxySQLExporter": { - "post": { - "description": "Changes proxysql_exporter Agent.", - "tags": [ - "Agents" - ], - "summary": "Change ProxySQL Exporter", - "operationId": "ChangeProxySQLExporter", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "agent_id": { - "type": "string", - "x-order": 0 - }, - "common": { - "description": "ChangeCommonAgentParams contains parameters that can be changed for all Agents.", - "type": "object", - "properties": { - "enable": { - "description": "Enable this Agent. Can't be used with disabled.", - "type": "boolean", - "x-order": 0 - }, - "disable": { - "description": "Disable this Agent. Can't be used with enabled.", - "type": "boolean", - "x-order": 1 - }, - "custom_labels": { - "description": "Replace all custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 2 - }, - "remove_custom_labels": { - "description": "Remove all custom user-assigned labels.", - "type": "boolean", - "x-order": 3 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent, can't be used with disable_push_metrics.\nCan't be used with agent version lower then 2.12 and unsupported agents.", - "type": "boolean", - "x-order": 4 - }, - "disable_push_metrics": { - "description": "Disables push metrics, pmm-server starts to pull it, can't be used with enable_push_metrics.", - "type": "boolean", - "x-order": 5 - }, - "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": 6 - } - }, - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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.\n\nStatus fields below.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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": 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/ChangeQANMongoDBProfilerAgent": { - "post": { - "description": "Changes 'Query Analytics MongoDB Profiler' Agent.", - "tags": [ - "Agents" - ], - "summary": "Change 'QAN MongoDB Profiler' Agent", - "operationId": "ChangeQANMongoDBProfilerAgent", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "agent_id": { - "type": "string", - "x-order": 0 - }, - "common": { - "description": "ChangeCommonAgentParams contains parameters that can be changed for all Agents.", - "type": "object", - "properties": { - "enable": { - "description": "Enable this Agent. Can't be used with disabled.", - "type": "boolean", - "x-order": 0 - }, - "disable": { - "description": "Disable this Agent. Can't be used with enabled.", - "type": "boolean", - "x-order": 1 - }, - "custom_labels": { - "description": "Replace all custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 2 - }, - "remove_custom_labels": { - "description": "Remove all custom user-assigned labels.", - "type": "boolean", - "x-order": 3 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent, can't be used with disable_push_metrics.\nCan't be used with agent version lower then 2.12 and unsupported agents.", - "type": "boolean", - "x-order": 4 - }, - "disable_push_metrics": { - "description": "Disables push metrics, pmm-server starts to pull it, can't be used with enable_push_metrics.", - "type": "boolean", - "x-order": 5 - }, - "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": 6 - } - }, - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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).\n\nTrue if query examples are disabled.\n bool query_examples_disabled = 8; TODO https://jira.percona.com/browse/PMM-4650", - "type": "integer", - "format": "int32", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 11 - } - }, - "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/ChangeQANMySQLPerfSchemaAgent": { - "post": { - "description": "Changes 'Query Analytics MySQL PerfSchema' Agent.", - "tags": [ - "Agents" - ], - "summary": "Change 'QAN MySQL PerfSchema' Agent", - "operationId": "ChangeQANMySQLPerfSchemaAgent", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "agent_id": { - "type": "string", - "x-order": 0 - }, - "common": { - "description": "ChangeCommonAgentParams contains parameters that can be changed for all Agents.", - "type": "object", - "properties": { - "enable": { - "description": "Enable this Agent. Can't be used with disabled.", - "type": "boolean", - "x-order": 0 - }, - "disable": { - "description": "Disable this Agent. Can't be used with enabled.", - "type": "boolean", - "x-order": 1 - }, - "custom_labels": { - "description": "Replace all custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 2 - }, - "remove_custom_labels": { - "description": "Remove all custom user-assigned labels.", - "type": "boolean", - "x-order": 3 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent, can't be used with disable_push_metrics.\nCan't be used with agent version lower then 2.12 and unsupported agents.", - "type": "boolean", - "x-order": 4 - }, - "disable_push_metrics": { - "description": "Disables push metrics, pmm-server starts to pull it, can't be used with enable_push_metrics.", - "type": "boolean", - "x-order": 5 - }, - "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": 6 - } - }, - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "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 - } - } - } - } - } - } - }, - "/v1/inventory/Agents/ChangeQANMySQLSlowlogAgent": { - "post": { - "description": "Changes 'Query Analytics MySQL Slowlog' Agent.", - "tags": [ - "Agents" - ], - "summary": "Change 'QAN MySQL Slowlog' Agent", - "operationId": "ChangeQANMySQLSlowlogAgent", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "agent_id": { - "type": "string", - "x-order": 0 - }, - "common": { - "description": "ChangeCommonAgentParams contains parameters that can be changed for all Agents.", - "type": "object", - "properties": { - "enable": { - "description": "Enable this Agent. Can't be used with disabled.", - "type": "boolean", - "x-order": 0 - }, - "disable": { - "description": "Disable this Agent. Can't be used with enabled.", - "type": "boolean", - "x-order": 1 - }, - "custom_labels": { - "description": "Replace all custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 2 - }, - "remove_custom_labels": { - "description": "Remove all custom user-assigned labels.", - "type": "boolean", - "x-order": 3 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent, can't be used with disable_push_metrics.\nCan't be used with agent version lower then 2.12 and unsupported agents.", - "type": "boolean", - "x-order": 4 - }, - "disable_push_metrics": { - "description": "Disables push metrics, pmm-server starts to pull it, can't be used with enable_push_metrics.", - "type": "boolean", - "x-order": 5 - }, - "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": 6 - } - }, - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 14 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 15 - }, - "process_exec_path": { - "type": "string", - "title": "mod tidy", - "x-order": 16 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 17 - } - }, - "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/ChangeQANPostgreSQLPgStatMonitorAgent": { - "post": { - "description": "Changes 'Query Analytics PostgreSQL pg_stat_monitor' Agent.", - "tags": [ - "Agents" - ], - "summary": "Change 'QAN PostgreSQL pg_stat_monitor' Agent", - "operationId": "ChangeQANPostgreSQLPgStatMonitorAgent", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "agent_id": { - "type": "string", - "x-order": 0 - }, - "common": { - "description": "ChangeCommonAgentParams contains parameters that can be changed for all Agents.", - "type": "object", - "properties": { - "enable": { - "description": "Enable this Agent. Can't be used with disabled.", - "type": "boolean", - "x-order": 0 - }, - "disable": { - "description": "Disable this Agent. Can't be used with enabled.", - "type": "boolean", - "x-order": 1 - }, - "custom_labels": { - "description": "Replace all custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 2 - }, - "remove_custom_labels": { - "description": "Remove all custom user-assigned labels.", - "type": "boolean", - "x-order": 3 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent, can't be used with disable_push_metrics.\nCan't be used with agent version lower then 2.12 and unsupported agents.", - "type": "boolean", - "x-order": 4 - }, - "disable_push_metrics": { - "description": "Disables push metrics, pmm-server starts to pull it, can't be used with enable_push_metrics.", - "type": "boolean", - "x-order": 5 - }, - "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": 6 - } - }, - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 11 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "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/inventory/Agents/ChangeQANPostgreSQLPgStatementsAgent": { - "post": { - "description": "Changes 'Query Analytics PostgreSQL pg_stat_statements' Agent.", - "tags": [ - "Agents" - ], - "summary": "Change 'QAN PostgreSQL pg_stat_statements' Agent", - "operationId": "ChangeQANPostgreSQLPgStatementsAgent", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "agent_id": { - "type": "string", - "x-order": 0 - }, - "common": { - "description": "ChangeCommonAgentParams contains parameters that can be changed for all Agents.", - "type": "object", - "properties": { - "enable": { - "description": "Enable this Agent. Can't be used with disabled.", - "type": "boolean", - "x-order": 0 - }, - "disable": { - "description": "Disable this Agent. Can't be used with enabled.", - "type": "boolean", - "x-order": 1 - }, - "custom_labels": { - "description": "Replace all custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 2 - }, - "remove_custom_labels": { - "description": "Remove all custom user-assigned labels.", - "type": "boolean", - "x-order": 3 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent, can't be used with disable_push_metrics.\nCan't be used with agent version lower then 2.12 and unsupported agents.", - "type": "boolean", - "x-order": 4 - }, - "disable_push_metrics": { - "description": "Disables push metrics, pmm-server starts to pull it, can't be used with enable_push_metrics.", - "type": "boolean", - "x-order": 5 - }, - "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": 6 - } - }, - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 10 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "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/inventory/Agents/ChangeRDSExporter": { - "post": { - "description": "Changes rds_exporter Agent.", - "tags": [ - "Agents" - ], - "summary": "Change RDS Exporter", - "operationId": "ChangeRDSExporter", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "agent_id": { - "type": "string", - "x-order": 0 - }, - "common": { - "description": "ChangeCommonAgentParams contains parameters that can be changed for all Agents.", - "type": "object", - "properties": { - "enable": { - "description": "Enable this Agent. Can't be used with disabled.", - "type": "boolean", - "x-order": 0 - }, - "disable": { - "description": "Disable this Agent. Can't be used with enabled.", - "type": "boolean", - "x-order": 1 - }, - "custom_labels": { - "description": "Replace all custom user-assigned labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 2 - }, - "remove_custom_labels": { - "description": "Remove all custom user-assigned labels.", - "type": "boolean", - "x-order": 3 - }, - "enable_push_metrics": { - "description": "Enables push metrics with vmagent, can't be used with disable_push_metrics.\nCan't be used with agent version lower then 2.12 and unsupported agents.", - "type": "boolean", - "x-order": 4 - }, - "disable_push_metrics": { - "description": "Disables push metrics, pmm-server starts to pull it, can't be used with enable_push_metrics.", - "type": "boolean", - "x-order": 5 - }, - "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": 6 - } - }, - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 6 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).\n\nMetric collections flags below.", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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": 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": { - "post": { - "description": "Returns a single Agent by ID.", - "tags": [ - "Agents" - ], - "summary": "Get Agent", - "operationId": "GetAgent", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - } - } - } - } - ], - "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.\n\nStatus fields below.", - "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.\n\nStatus fields below.", - "type": "string", - "x-order": 1 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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.\n\nStatus fields below.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 5 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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.\n\nStatus fields below.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 13 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 14 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 15 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 16 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 17 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 18 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "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 - }, - "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": 20 - } - }, - "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.\n\nStatus fields below.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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 - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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.\n\nStatus fields below.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 14 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 15 - }, - "process_exec_path": { - "type": "string", - "title": "mod tidy", - "x-order": 16 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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).\n\nTrue if query examples are disabled.\n bool query_examples_disabled = 8; TODO https://jira.percona.com/browse/PMM-4650", - "type": "integer", - "format": "int32", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 10 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 11 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 13 - } - }, - "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 - }, - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 6 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).\n\nMetric collections flags below.", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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": 12 - }, - "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": 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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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 - } - } - } - } - } - } - }, - "/v1/inventory/Agents/GetLogs": { - "post": { - "description": "Returns Agent logs by ID.", - "tags": [ - "Agents" - ], - "summary": "Get Agent logs", - "operationId": "GetAgentLogs", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "agent_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "limit": { - "type": "integer", - "format": "int64", - "title": "is less than this value. 0: no limit", - "x-order": 1 - } - } - } - } - ], - "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/Agents/List": { - "post": { - "description": "Returns a list of all Agents.", - "tags": [ - "Agents" - ], - "summary": "List Agents", - "operationId": "ListAgents", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "pmm_agent_id": { - "description": "Return only Agents started by this pmm-agent.\nExactly one of these parameters should be present: pmm_agent_id, node_id, service_id.", - "type": "string", - "x-order": 0 - }, - "node_id": { - "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.", - "type": "string", - "x-order": 1 - }, - "service_id": { - "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.", - "type": "string", - "x-order": 2 - }, - "agent_type": { - "description": "AgentType describes supported Agent types.", - "type": "string", - "default": "AGENT_TYPE_INVALID", - "enum": [ - "AGENT_TYPE_INVALID", - "PMM_AGENT", - "VM_AGENT", - "NODE_EXPORTER", - "MYSQLD_EXPORTER", - "MONGODB_EXPORTER", - "POSTGRES_EXPORTER", - "PROXYSQL_EXPORTER", - "QAN_MYSQL_PERFSCHEMA_AGENT", - "QAN_MYSQL_SLOWLOG_AGENT", - "QAN_MONGODB_PROFILER_AGENT", - "QAN_POSTGRESQL_PGSTATEMENTS_AGENT", - "QAN_POSTGRESQL_PGSTATMONITOR_AGENT", - "RDS_EXPORTER", - "EXTERNAL_EXPORTER", - "AZURE_DATABASE_EXPORTER" - ], - "x-order": 3 - } - } - } - } - ], - "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.\n\nStatus fields below.", - "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.\n\nStatus fields below.", - "type": "string", - "x-order": 1 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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.\n\nStatus fields below.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 5 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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.\n\nStatus fields below.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 13 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 14 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 15 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 16 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 17 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 18 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "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 - }, - "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": 20 - } - } - }, - "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.\n\nStatus fields below.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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 - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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.\n\nStatus fields below.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 14 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 15 - }, - "process_exec_path": { - "type": "string", - "title": "mod tidy", - "x-order": 16 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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).\n\nTrue if query examples are disabled.\n bool query_examples_disabled = 8; TODO https://jira.percona.com/browse/PMM-4650", - "type": "integer", - "format": "int32", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 10 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 11 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 13 - } - } - }, - "x-order": 11 - }, - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 6 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).\n\nMetric collections flags below.", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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": 12 - }, - "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": 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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 6 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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 - } - } - } - } - } - } - }, - "/v1/inventory/Agents/Remove": { - "post": { - "description": "Removes Agent.", - "tags": [ - "Agents" - ], - "summary": "Remove Agent", - "operationId": "RemoveAgent", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "agent_id": { - "type": "string", - "x-order": 0 - }, - "force": { - "description": "Remove agent with all dependencies.", - "type": "boolean", - "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/Nodes/Add": { - "post": { - "description": "Adds a Node.", - "tags": [ - "Nodes" - ], - "summary": "Add 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/AddContainer": { - "post": { - "description": "Adds a container Node.", - "tags": [ - "Nodes" - ], - "summary": "Add a Container Node", - "operationId": "AddContainerNode", - "deprecated": true, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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": 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/Nodes/AddGeneric": { - "post": { - "description": "Adds a generic Node.", - "tags": [ - "Nodes" - ], - "summary": "Add a Generic Node", - "operationId": "AddGenericNode", - "deprecated": true, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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 - } - } - } - } - ], - "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 - } - } - } - }, - "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/AddRemote": { - "post": { - "description": "Adds a remote Node.", - "tags": [ - "Nodes" - ], - "summary": "Add a Remote Node", - "operationId": "AddRemoteNode", - "deprecated": true, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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": 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/Nodes/AddRemoteAzureDatabase": { - "post": { - "description": "Adds a remote Azure database Node.", - "tags": [ - "Nodes" - ], - "summary": "Adda a Remote Azure Database Node", - "operationId": "AddRemoteAzureDatabaseNode", - "deprecated": true, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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": 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/Nodes/AddRemoteRDS": { - "post": { - "description": "Adds a remote RDS Node.", - "tags": [ - "Nodes" - ], - "summary": "Add a Remote RDS Node", - "operationId": "AddRemoteRDSNode", - "deprecated": true, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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": 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/Nodes/Get": { - "post": { - "description": "Returns a single Node by ID.", - "tags": [ - "Nodes" - ], - "summary": "Get Node", - "operationId": "GetNode", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - } - } - } - } - ], - "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/List": { - "post": { - "description": "Returns a list of all Nodes.", - "tags": [ - "Nodes" - ], - "summary": "List Nodes", - "operationId": "ListNodes", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "node_type": { - "description": "NodeType describes supported Node types.", - "type": "string", - "default": "NODE_TYPE_INVALID", - "enum": [ - "NODE_TYPE_INVALID", - "GENERIC_NODE", - "CONTAINER_NODE", - "REMOTE_NODE", - "REMOTE_RDS_NODE", - "REMOTE_AZURE_DATABASE_NODE" - ], - "x-order": 0 - } - } - } - } - ], - "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 - } - } - } - } - } - } - }, - "/v1/inventory/Nodes/Remove": { - "post": { - "description": "Removes a Node.", - "tags": [ - "Nodes" - ], - "summary": "Remove a Node", - "operationId": "RemoveNode", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "node_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - }, - "force": { - "description": "Remove node with all dependencies.", - "type": "boolean", - "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/Services/AddExternalService": { - "post": { - "description": "Adds External Service.", - "tags": [ - "Services" - ], - "summary": "Add External Service", - "operationId": "AddExternalService", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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": 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/Services/AddHAProxyService": { - "post": { - "description": "Adds HAProxy Service.", - "tags": [ - "Services" - ], - "summary": "Add HAProxy Service", - "operationId": "AddHAProxyService", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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": 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/Services/AddMongoDB": { - "post": { - "description": "Adds MongoDB Service.", - "tags": [ - "Services" - ], - "summary": "Add MongoDB Service", - "operationId": "AddMongoDBService", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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": 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/Services/AddMySQL": { - "post": { - "description": "Adds MySQL Service.", - "tags": [ - "Services" - ], - "summary": "Add MySQL Service", - "operationId": "AddMySQLService", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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 - } - } - } - } - ], - "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 - } - } - } - }, - "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/AddPostgreSQL": { - "post": { - "description": "Adds PostgreSQL Service.", - "tags": [ - "Services" - ], - "summary": "Add PostgreSQL Service", - "operationId": "AddPostgreSQLService", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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": 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/Services/AddProxySQL": { - "post": { - "description": "Adds ProxySQL Service.", - "tags": [ - "Services" - ], - "summary": "Add ProxySQL Service", - "operationId": "AddProxySQLService", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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": 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/Services/Change": { - "post": { - "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": [ - "Services" - ], - "summary": "Change service", - "operationId": "ChangeService", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "service_id": { - "type": "string", - "x-order": 0 - }, - "environment": { - "type": "string", - "x-order": 1 - }, - "cluster": { - "type": "string", - "x-order": 2 - }, - "replication_set": { - "type": "string", - "x-order": 3 - }, - "external_group": { - "type": "string", - "x-order": 4 - } - } - } - } - ], - "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/CustomLabels/Add": { - "post": { - "description": "Adds or replaces (if the key exists) custom labels for a Service.", - "tags": [ - "Services" - ], - "summary": "Add/replace custom labels", - "operationId": "AddCustomLabels", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "service_id": { - "description": "Unique Service ID.", - "type": "string", - "x-order": 0 - }, - "custom_labels": { - "description": "Custom user-assigned labels to be added.", - "type": "object", - "additionalProperties": { - "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/inventory/Services/CustomLabels/Remove": { - "post": { - "description": "Removes custom labels from a Service by key.", - "tags": [ - "Services" - ], - "summary": "Remove custom labels", - "operationId": "RemoveCustomLabels", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "service_id": { - "description": "Unique Service ID.", - "type": "string", - "x-order": 0 - }, - "custom_label_keys": { - "description": "Custom user-assigned label keys to be removed.", - "type": "array", - "items": { - "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/inventory/Services/Get": { - "post": { - "description": "Returns a single Service by ID.", - "tags": [ - "Services" - ], - "summary": "Get Service", - "operationId": "GetService", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "service_id": { - "description": "Unique randomly generated instance identifier.", - "type": "string", - "x-order": 0 - } - } - } - } - ], - "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/List": { - "post": { - "description": "Returns a list of Services filtered by type.", - "tags": [ - "Services" - ], - "summary": "List Services", - "operationId": "ListServices", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "node_id": { - "description": "Return only Services running on that Node.", - "type": "string", - "x-order": 0 - }, - "service_type": { - "description": "ServiceType describes supported Service types.", - "type": "string", - "default": "SERVICE_TYPE_INVALID", - "enum": [ - "SERVICE_TYPE_INVALID", - "MYSQL_SERVICE", - "MONGODB_SERVICE", - "POSTGRESQL_SERVICE", - "PROXYSQL_SERVICE", - "HAPROXY_SERVICE", - "EXTERNAL_SERVICE" - ], - "x-order": 1 - }, - "external_group": { - "description": "Return only services in this external group.", - "type": "string", - "x-order": 2 - } - } - } - } - ], - "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 - } - } - } - } - } - } - }, - "/v1/inventory/Services/ListTypes": { - "post": { - "description": "Returns a list of active Service types.", - "tags": [ - "Services" - ], - "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_INVALID", - "enum": [ - "SERVICE_TYPE_INVALID", - "MYSQL_SERVICE", - "MONGODB_SERVICE", - "POSTGRESQL_SERVICE", - "PROXYSQL_SERVICE", - "HAPROXY_SERVICE", - "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/inventory/Services/Remove": { - "post": { - "description": "Removes Service.", - "tags": [ - "Services" - ], - "summary": "Remove Service", - "operationId": "RemoveService", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "service_id": { - "description": "Unique randomly generated instance identifier. Required.", - "type": "string", - "x-order": 0 - }, - "force": { - "description": "Remove service with all dependencies.", - "type": "boolean", - "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/leaderHealthCheck": { - "post": { - "description": "Checks if the instance is the leader in a cluster. Returns an error if the instance isn't the leader.", - "tags": [ - "Server" - ], - "summary": "Check Leadership", - "operationId": "LeaderHealthCheck", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } - } - ], - "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/management/Actions/Cancel": { - "post": { - "description": "Stops an Action.", - "tags": [ - "Actions" - ], - "summary": "Cancel 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/management/Actions/Get": { - "post": { - "description": "Gets the result of a given Action.", - "tags": [ - "Actions" - ], - "summary": "Get Action", - "operationId": "GetAction", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "action_id": { - "description": "Unique Action ID.", - "type": "string", - "x-order": 0 - } - } - } - } - ], - "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/management/Actions/StartMongoDBExplain": { - "post": { - "description": "Starts 'MongoDB EXPLAIN' Action.", - "tags": [ - "Actions" - ], - "summary": "Start 'MongoDB EXPLAIN' Action", - "operationId": "StartMongoDBExplainAction", - "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 - }, - "service_id": { - "description": "Service ID for this Action. Required.", - "type": "string", - "x-order": 1 - }, - "query": { - "description": "Query. Required.", - "type": "string", - "x-order": 2 - } - } - } - } - ], - "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/management/Actions/StartMySQLExplain": { - "post": { - "description": "Starts 'MySQL EXPLAIN' Action with traditional output.", - "tags": [ - "Actions" - ], - "summary": "Start 'MySQL EXPLAIN' Action", - "operationId": "StartMySQLExplainAction", - "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 - }, - "service_id": { - "description": "Service ID for this Action. Required.", - "type": "string", - "x-order": 1 - }, - "query": { - "description": "Deprecated: should not be used.\nWill be removed in 2.42.", - "type": "string", - "x-order": 2 - }, - "query_id": { - "description": "Query ID of query.", - "type": "string", - "x-order": 3 - }, - "placeholders": { - "type": "array", - "title": "Array of placeholder values", - "items": { - "type": "string" - }, - "x-order": 4 - }, - "database": { - "description": "Database name. Required if it can't be deduced from the query ID.", - "type": "string", - "x-order": 5 - } - } - } - } - ], - "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/management/Actions/StartMySQLExplainJSON": { - "post": { - "description": "Starts 'MySQL EXPLAIN' Action with JSON output.", - "tags": [ - "Actions" - ], - "summary": "Start 'MySQL EXPLAIN JSON' Action", - "operationId": "StartMySQLExplainJSONAction", - "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 - }, - "service_id": { - "description": "Service ID for this Action. Required.", - "type": "string", - "x-order": 1 - }, - "query": { - "description": "Deprecated: should not be used.\nWill be removed in 2.42.", - "type": "string", - "x-order": 2 - }, - "query_id": { - "description": "Query ID of query.", - "type": "string", - "x-order": 3 - }, - "placeholders": { - "type": "array", - "title": "Array of placeholder values", - "items": { - "type": "string" - }, - "x-order": 4 - }, - "database": { - "description": "Database name. Required if it can't be deduced from the query ID.", - "type": "string", - "x-order": 5 - } - } - } - } - ], - "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/management/Actions/StartMySQLExplainTraditionalJSON": { - "post": { - "description": "Starts 'MySQL EXPLAIN' Action with traditional JSON output.", - "tags": [ - "Actions" - ], - "summary": "Start 'MySQL EXPLAIN Traditional JSON' Action", - "operationId": "StartMySQLExplainTraditionalJSONAction", - "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 - }, - "service_id": { - "description": "Service ID for this Action. Required.", - "type": "string", - "x-order": 1 - }, - "query": { - "description": "Deprecated: should not be used.\nWill be removed in 2.42.", - "type": "string", - "x-order": 2 - }, - "query_id": { - "description": "Query ID of query.", - "type": "string", - "x-order": 3 - }, - "placeholders": { - "type": "array", - "title": "Array of placeholder values", - "items": { - "type": "string" - }, - "x-order": 4 - }, - "database": { - "description": "Database name. Required if it can't be deduced from the query ID.", - "type": "string", - "x-order": 5 - } - } - } - } - ], - "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/management/Actions/StartMySQLShowCreateTable": { - "post": { - "description": "Starts 'MySQL SHOW CREATE TABLE' Action.", - "tags": [ - "Actions" - ], - "summary": "Start 'MySQL SHOW CREATE TABLE' Action", - "operationId": "StartMySQLShowCreateTableAction", - "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 - }, - "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 - } - } - } - } - ], - "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/management/Actions/StartMySQLShowIndex": { - "post": { - "description": "Starts 'MySQL SHOW INDEX' Action.", - "tags": [ - "Actions" - ], - "summary": "Start 'MySQL SHOW INDEX' Action", - "operationId": "StartMySQLShowIndexAction", - "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 - }, - "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 - } - } - } - } - ], - "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/management/Actions/StartMySQLShowTableStatus": { - "post": { - "description": "Starts 'MySQL SHOW TABLE STATUS' Action.", - "tags": [ - "Actions" - ], - "summary": "Start 'MySQL SHOW TABLE STATUS' Action", - "operationId": "StartMySQLShowTableStatusAction", - "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 - }, - "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 - } - } - } - } - ], - "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/management/Actions/StartPTMongoDBSummary": { - "post": { - "description": "Starts 'Percona Toolkit MongoDB Summary' Action.", - "tags": [ - "Actions" - ], - "summary": "Start 'PT MongoDB Summary' Action", - "operationId": "StartPTMongoDBSummaryAction", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "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 - } - } - } - }, - "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/Actions/StartPTMySQLSummary": { - "post": { - "description": "Starts 'Percona Toolkit MySQL Summary' Action.", - "tags": [ - "Actions" - ], - "summary": "Start 'PT MySQL Summary' Action", - "operationId": "StartPTMySQLSummaryAction", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "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 - } - } - } - }, - "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/Actions/StartPTPgSummary": { - "post": { - "description": "Starts 'Percona Toolkit PostgreSQL Summary' Action.", - "tags": [ - "Actions" - ], - "summary": "Start 'PT PostgreSQL Summary' Action", - "operationId": "StartPTPgSummaryAction", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "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 - } - } - } - }, - "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/Actions/StartPTSummary": { - "post": { - "description": "Starts 'Percona Toolkit Summary' Action.", - "tags": [ - "Actions" - ], - "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/management/Actions/StartPostgreSQLShowCreateTable": { - "post": { - "description": "Starts 'PostgreSQL SHOW CREATE TABLE' Action.", - "tags": [ - "Actions" - ], - "summary": "Start 'PostgreSQL SHOW CREATE TABLE' Action", - "operationId": "StartPostgreSQLShowCreateTableAction", - "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 - }, - "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 - } - } - } - } - ], - "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/management/Actions/StartPostgreSQLShowIndex": { - "post": { - "description": "Starts 'PostgreSQL SHOW INDEX' Action.", - "tags": [ - "Actions" - ], - "summary": "Start 'PostgreSQL SHOW INDEX' Action", - "operationId": "StartPostgreSQLShowIndexAction", - "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 - }, - "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 - } - } - } - } - ], - "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/management/Advisors/List": { - "post": { - "description": "Returns a list of advisors available to the user.", - "tags": [ - "SecurityChecks" - ], - "summary": "List advisors", - "operationId": "ListAdvisors", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } - } - ], - "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": "SecurityCheck contains check name and status.", - "type": "object", - "properties": { - "name": { - "description": "Machine-readable name (ID) that is used in expression.", - "type": "string", - "x-order": 0 - }, - "disabled": { - "description": "True if that check is disabled.", - "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": "SecurityCheckInterval represents possible execution interval values for checks.", - "type": "string", - "default": "SECURITY_CHECK_INTERVAL_INVALID", - "enum": [ - "SECURITY_CHECK_INTERVAL_INVALID", - "STANDARD", - "FREQUENT", - "RARE" - ], - "x-order": 4 - }, - "family": { - "type": "string", - "default": "ADVISOR_CHECK_FAMILY_INVALID", - "enum": [ - "ADVISOR_CHECK_FAMILY_INVALID", - "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/management/Agent/List": { - "post": { - "description": "Returns a filtered list of Agents.", - "tags": [ - "Agent" - ], - "summary": "List Agents", - "operationId": "ListAgentsMixin11", - "parameters": [ - { - "description": "Only one of the parameters below must be set.", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "Only one of the parameters below must be set.", - "type": "object", - "properties": { - "service_id": { - "description": "Return only Agents that relate to a specific ServiceID.", - "type": "string", - "x-order": 0 - }, - "node_id": { - "description": "Return only Agents that relate to a specific NodeID.", - "type": "string", - "x-order": 1 - } - } - } - } - ], - "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/Annotations/Add": { - "post": { - "description": "Adds annotation.", - "tags": [ - "Annotation" - ], - "summary": "Add 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 annotate node.", - "type": "string", - "x-order": 2 - }, - "service_names": { - "description": "Used for annotate 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/DBaaS/Backups/List": { - "post": { - "tags": [ - "DBClusters" - ], - "summary": "ListS3Backups lists backups stored on s3.", - "operationId": "ListS3Backups", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "location_id": { - "type": "string", - "title": "Backup Location ID to list backups from", - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "backups": { - "description": "Backup list.", - "type": "array", - "items": { - "type": "object", - "properties": { - "key": { - "description": "Key of a filename on s3.", - "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/management/DBaaS/Components/ChangePSMDB": { - "post": { - "tags": [ - "Components" - ], - "summary": "ChangePSMDBComponents manages PSMDB related components.", - "operationId": "ChangePSMDBComponents", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - }, - "mongod": { - "description": "ChangeComponent contains fields to manage components.", - "type": "object", - "properties": { - "default_version": { - "type": "string", - "x-order": 0 - }, - "versions": { - "type": "array", - "items": { - "description": "ComponentVersion contains operations which should be done with component version.", - "type": "object", - "properties": { - "version": { - "type": "string", - "x-order": 0 - }, - "disable": { - "type": "boolean", - "x-order": 1 - }, - "enable": { - "type": "boolean", - "x-order": 2 - } - } - }, - "x-order": 1 - } - }, - "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/management/DBaaS/Components/ChangePXC": { - "post": { - "tags": [ - "Components" - ], - "summary": "ChangePXCComponents manages PXC related components.", - "operationId": "ChangePXCComponents", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - }, - "pxc": { - "description": "ChangeComponent contains fields to manage components.", - "type": "object", - "properties": { - "default_version": { - "type": "string", - "x-order": 0 - }, - "versions": { - "type": "array", - "items": { - "description": "ComponentVersion contains operations which should be done with component version.", - "type": "object", - "properties": { - "version": { - "type": "string", - "x-order": 0 - }, - "disable": { - "type": "boolean", - "x-order": 1 - }, - "enable": { - "type": "boolean", - "x-order": 2 - } - } - }, - "x-order": 1 - } - }, - "x-order": 1 - }, - "proxysql": { - "description": "ChangeComponent contains fields to manage components.", - "type": "object", - "properties": { - "default_version": { - "type": "string", - "x-order": 0 - }, - "versions": { - "type": "array", - "items": { - "description": "ComponentVersion contains operations which should be done with component version.", - "type": "object", - "properties": { - "version": { - "type": "string", - "x-order": 0 - }, - "disable": { - "type": "boolean", - "x-order": 1 - }, - "enable": { - "type": "boolean", - "x-order": 2 - } - } - }, - "x-order": 1 - } - }, - "x-order": 2 - }, - "haproxy": { - "description": "ChangeComponent contains fields to manage components.", - "type": "object", - "properties": { - "default_version": { - "type": "string", - "x-order": 0 - }, - "versions": { - "type": "array", - "items": { - "description": "ComponentVersion contains operations which should be done with component version.", - "type": "object", - "properties": { - "version": { - "type": "string", - "x-order": 0 - }, - "disable": { - "type": "boolean", - "x-order": 1 - }, - "enable": { - "type": "boolean", - "x-order": 2 - } - } - }, - "x-order": 1 - } - }, - "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/DBaaS/Components/CheckForOperatorUpdate": { - "post": { - "tags": [ - "Components" - ], - "summary": "CheckForOperatorUpdate checks if a new version of an operator is available.", - "operationId": "CheckForOperatorUpdate", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "cluster_to_components": { - "description": "The cluster name is used as a key for this map, value contains components and their inforamtion about update.", - "type": "object", - "additionalProperties": { - "description": "ComponentsUpdateInformation contains info about components and their available latest versions.", - "type": "object", - "properties": { - "component_to_update_information": { - "description": "component_to_update_information stores, under the name of the component, information about the update.\n\"pxc-operator\", \"psmdb-operator\" are names used by backend for our operators.", - "type": "object", - "additionalProperties": { - "description": "ComponentUpdateInformation contains version we can update to for certain component.", - "type": "object", - "properties": { - "available_version": { - "type": "string", - "x-order": 0 - } - } - }, - "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/management/DBaaS/Components/GetPSMDB": { - "post": { - "tags": [ - "Components" - ], - "summary": "GetPSMDBComponents returns list of available components for PSMDB Clusters.", - "operationId": "GetPSMDBComponents", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - }, - "db_version": { - "description": "Version of DB.", - "type": "string", - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "versions": { - "type": "array", - "items": { - "description": "OperatorVersion contains information about operator and components matrix.", - "type": "object", - "properties": { - "product": { - "type": "string", - "x-order": 0 - }, - "operator": { - "type": "string", - "x-order": 1 - }, - "matrix": { - "description": "Matrix contains all available components.", - "type": "object", - "properties": { - "mongod": { - "type": "object", - "additionalProperties": { - "description": "Component contains information about component.", - "type": "object", - "properties": { - "image_path": { - "type": "string", - "x-order": 0 - }, - "image_hash": { - "type": "string", - "x-order": 1 - }, - "status": { - "type": "string", - "x-order": 2 - }, - "critical": { - "type": "boolean", - "x-order": 3 - }, - "default": { - "type": "boolean", - "x-order": 4 - }, - "disabled": { - "type": "boolean", - "x-order": 5 - } - } - }, - "x-order": 0 - }, - "pxc": { - "type": "object", - "additionalProperties": { - "description": "Component contains information about component.", - "type": "object", - "properties": { - "image_path": { - "type": "string", - "x-order": 0 - }, - "image_hash": { - "type": "string", - "x-order": 1 - }, - "status": { - "type": "string", - "x-order": 2 - }, - "critical": { - "type": "boolean", - "x-order": 3 - }, - "default": { - "type": "boolean", - "x-order": 4 - }, - "disabled": { - "type": "boolean", - "x-order": 5 - } - } - }, - "x-order": 1 - }, - "pmm": { - "type": "object", - "additionalProperties": { - "description": "Component contains information about component.", - "type": "object", - "properties": { - "image_path": { - "type": "string", - "x-order": 0 - }, - "image_hash": { - "type": "string", - "x-order": 1 - }, - "status": { - "type": "string", - "x-order": 2 - }, - "critical": { - "type": "boolean", - "x-order": 3 - }, - "default": { - "type": "boolean", - "x-order": 4 - }, - "disabled": { - "type": "boolean", - "x-order": 5 - } - } - }, - "x-order": 2 - }, - "proxysql": { - "type": "object", - "additionalProperties": { - "description": "Component contains information about component.", - "type": "object", - "properties": { - "image_path": { - "type": "string", - "x-order": 0 - }, - "image_hash": { - "type": "string", - "x-order": 1 - }, - "status": { - "type": "string", - "x-order": 2 - }, - "critical": { - "type": "boolean", - "x-order": 3 - }, - "default": { - "type": "boolean", - "x-order": 4 - }, - "disabled": { - "type": "boolean", - "x-order": 5 - } - } - }, - "x-order": 3 - }, - "haproxy": { - "type": "object", - "additionalProperties": { - "description": "Component contains information about component.", - "type": "object", - "properties": { - "image_path": { - "type": "string", - "x-order": 0 - }, - "image_hash": { - "type": "string", - "x-order": 1 - }, - "status": { - "type": "string", - "x-order": 2 - }, - "critical": { - "type": "boolean", - "x-order": 3 - }, - "default": { - "type": "boolean", - "x-order": 4 - }, - "disabled": { - "type": "boolean", - "x-order": 5 - } - } - }, - "x-order": 4 - }, - "backup": { - "type": "object", - "additionalProperties": { - "description": "Component contains information about component.", - "type": "object", - "properties": { - "image_path": { - "type": "string", - "x-order": 0 - }, - "image_hash": { - "type": "string", - "x-order": 1 - }, - "status": { - "type": "string", - "x-order": 2 - }, - "critical": { - "type": "boolean", - "x-order": 3 - }, - "default": { - "type": "boolean", - "x-order": 4 - }, - "disabled": { - "type": "boolean", - "x-order": 5 - } - } - }, - "x-order": 5 - }, - "operator": { - "type": "object", - "additionalProperties": { - "description": "Component contains information about component.", - "type": "object", - "properties": { - "image_path": { - "type": "string", - "x-order": 0 - }, - "image_hash": { - "type": "string", - "x-order": 1 - }, - "status": { - "type": "string", - "x-order": 2 - }, - "critical": { - "type": "boolean", - "x-order": 3 - }, - "default": { - "type": "boolean", - "x-order": 4 - }, - "disabled": { - "type": "boolean", - "x-order": 5 - } - } - }, - "x-order": 6 - }, - "log_collector": { - "type": "object", - "additionalProperties": { - "description": "Component contains information about component.", - "type": "object", - "properties": { - "image_path": { - "type": "string", - "x-order": 0 - }, - "image_hash": { - "type": "string", - "x-order": 1 - }, - "status": { - "type": "string", - "x-order": 2 - }, - "critical": { - "type": "boolean", - "x-order": 3 - }, - "default": { - "type": "boolean", - "x-order": 4 - }, - "disabled": { - "type": "boolean", - "x-order": 5 - } - } - }, - "x-order": 7 - } - }, - "x-order": 2 - } - } - }, - "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/DBaaS/Components/GetPXC": { - "post": { - "tags": [ - "Components" - ], - "summary": "GetPXCComponents returns list of available components for PXC Clusters.", - "operationId": "GetPXCComponents", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - }, - "db_version": { - "description": "Version of DB.", - "type": "string", - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "versions": { - "type": "array", - "items": { - "description": "OperatorVersion contains information about operator and components matrix.", - "type": "object", - "properties": { - "product": { - "type": "string", - "x-order": 0 - }, - "operator": { - "type": "string", - "x-order": 1 - }, - "matrix": { - "description": "Matrix contains all available components.", - "type": "object", - "properties": { - "mongod": { - "type": "object", - "additionalProperties": { - "description": "Component contains information about component.", - "type": "object", - "properties": { - "image_path": { - "type": "string", - "x-order": 0 - }, - "image_hash": { - "type": "string", - "x-order": 1 - }, - "status": { - "type": "string", - "x-order": 2 - }, - "critical": { - "type": "boolean", - "x-order": 3 - }, - "default": { - "type": "boolean", - "x-order": 4 - }, - "disabled": { - "type": "boolean", - "x-order": 5 - } - } - }, - "x-order": 0 - }, - "pxc": { - "type": "object", - "additionalProperties": { - "description": "Component contains information about component.", - "type": "object", - "properties": { - "image_path": { - "type": "string", - "x-order": 0 - }, - "image_hash": { - "type": "string", - "x-order": 1 - }, - "status": { - "type": "string", - "x-order": 2 - }, - "critical": { - "type": "boolean", - "x-order": 3 - }, - "default": { - "type": "boolean", - "x-order": 4 - }, - "disabled": { - "type": "boolean", - "x-order": 5 - } - } - }, - "x-order": 1 - }, - "pmm": { - "type": "object", - "additionalProperties": { - "description": "Component contains information about component.", - "type": "object", - "properties": { - "image_path": { - "type": "string", - "x-order": 0 - }, - "image_hash": { - "type": "string", - "x-order": 1 - }, - "status": { - "type": "string", - "x-order": 2 - }, - "critical": { - "type": "boolean", - "x-order": 3 - }, - "default": { - "type": "boolean", - "x-order": 4 - }, - "disabled": { - "type": "boolean", - "x-order": 5 - } - } - }, - "x-order": 2 - }, - "proxysql": { - "type": "object", - "additionalProperties": { - "description": "Component contains information about component.", - "type": "object", - "properties": { - "image_path": { - "type": "string", - "x-order": 0 - }, - "image_hash": { - "type": "string", - "x-order": 1 - }, - "status": { - "type": "string", - "x-order": 2 - }, - "critical": { - "type": "boolean", - "x-order": 3 - }, - "default": { - "type": "boolean", - "x-order": 4 - }, - "disabled": { - "type": "boolean", - "x-order": 5 - } - } - }, - "x-order": 3 - }, - "haproxy": { - "type": "object", - "additionalProperties": { - "description": "Component contains information about component.", - "type": "object", - "properties": { - "image_path": { - "type": "string", - "x-order": 0 - }, - "image_hash": { - "type": "string", - "x-order": 1 - }, - "status": { - "type": "string", - "x-order": 2 - }, - "critical": { - "type": "boolean", - "x-order": 3 - }, - "default": { - "type": "boolean", - "x-order": 4 - }, - "disabled": { - "type": "boolean", - "x-order": 5 - } - } - }, - "x-order": 4 - }, - "backup": { - "type": "object", - "additionalProperties": { - "description": "Component contains information about component.", - "type": "object", - "properties": { - "image_path": { - "type": "string", - "x-order": 0 - }, - "image_hash": { - "type": "string", - "x-order": 1 - }, - "status": { - "type": "string", - "x-order": 2 - }, - "critical": { - "type": "boolean", - "x-order": 3 - }, - "default": { - "type": "boolean", - "x-order": 4 - }, - "disabled": { - "type": "boolean", - "x-order": 5 - } - } - }, - "x-order": 5 - }, - "operator": { - "type": "object", - "additionalProperties": { - "description": "Component contains information about component.", - "type": "object", - "properties": { - "image_path": { - "type": "string", - "x-order": 0 - }, - "image_hash": { - "type": "string", - "x-order": 1 - }, - "status": { - "type": "string", - "x-order": 2 - }, - "critical": { - "type": "boolean", - "x-order": 3 - }, - "default": { - "type": "boolean", - "x-order": 4 - }, - "disabled": { - "type": "boolean", - "x-order": 5 - } - } - }, - "x-order": 6 - }, - "log_collector": { - "type": "object", - "additionalProperties": { - "description": "Component contains information about component.", - "type": "object", - "properties": { - "image_path": { - "type": "string", - "x-order": 0 - }, - "image_hash": { - "type": "string", - "x-order": 1 - }, - "status": { - "type": "string", - "x-order": 2 - }, - "critical": { - "type": "boolean", - "x-order": 3 - }, - "default": { - "type": "boolean", - "x-order": 4 - }, - "disabled": { - "type": "boolean", - "x-order": 5 - } - } - }, - "x-order": 7 - } - }, - "x-order": 2 - } - } - }, - "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/DBaaS/Components/InstallOperator": { - "post": { - "tags": [ - "Components" - ], - "summary": "InstallOperator installs given operator in given version.", - "operationId": "InstallOperator", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - }, - "operator_type": { - "description": "operator_type tells what operator we are interested in updating.", - "type": "string", - "x-order": 1 - }, - "version": { - "description": "version tells what version of the operator we should update to.", - "type": "string", - "x-order": 2 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "status": { - "description": "OperatorsStatus defines status of operators installed in Kubernetes cluster.\n\n - OPERATORS_STATUS_INVALID: OPERATORS_STATUS_INVALID represents unknown state.\n - OPERATORS_STATUS_OK: OPERATORS_STATUS_OK represents that operators are installed and have supported API version.\n - OPERATORS_STATUS_UNSUPPORTED: OPERATORS_STATUS_UNSUPPORTED represents that operators are installed, but doesn't have supported API version.\n - OPERATORS_STATUS_NOT_INSTALLED: OPERATORS_STATUS_NOT_INSTALLED represents that operators are not installed.", - "type": "string", - "default": "OPERATORS_STATUS_INVALID", - "enum": [ - "OPERATORS_STATUS_INVALID", - "OPERATORS_STATUS_OK", - "OPERATORS_STATUS_UNSUPPORTED", - "OPERATORS_STATUS_NOT_INSTALLED" - ], - "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/DBaaS/DBClusters/Delete": { - "post": { - "tags": [ - "DBClusters" - ], - "summary": "DeleteDBCluster deletes DB cluster.", - "operationId": "DeleteDBCluster", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - }, - "name": { - "description": "DB cluster name.", - "type": "string", - "x-order": 1 - }, - "cluster_type": { - "description": "DBClusterType represents database cluster type.\n\n - DB_CLUSTER_TYPE_INVALID: DB_CLUSTER_TYPE_INVALID represents unknown cluster type.\n - DB_CLUSTER_TYPE_PXC: DB_CLUSTER_TYPE_PXC represents pxc cluster type.\n - DB_CLUSTER_TYPE_PSMDB: DB_CLUSTER_TYPE_PSMDB represents psmdb cluster type.", - "type": "string", - "default": "DB_CLUSTER_TYPE_INVALID", - "enum": [ - "DB_CLUSTER_TYPE_INVALID", - "DB_CLUSTER_TYPE_PXC", - "DB_CLUSTER_TYPE_PSMDB" - ], - "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 - } - } - } - } - } - } - }, - "/v1/management/DBaaS/DBClusters/Get": { - "post": { - "tags": [ - "DBClusters" - ], - "summary": "GetDBCluster returns parameters used to create a database cluster", - "operationId": "GetDBCluster", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - }, - "name": { - "description": "DB cluster name.", - "type": "string", - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "pxc_cluster": { - "description": "PXCCluster represents PXC cluster information.", - "type": "object", - "properties": { - "name": { - "description": "Cluster name.", - "type": "string", - "x-order": 0 - }, - "state": { - "description": "DBClusterState represents DB cluster CR state.\n\n - DB_CLUSTER_STATE_INVALID: DB_CLUSTER_STATE_INVALID represents unknown state.\n - DB_CLUSTER_STATE_CHANGING: DB_CLUSTER_STATE_CHANGING represents a cluster being changed.\n - DB_CLUSTER_STATE_READY: DB_CLUSTER_STATE_READY represents a cluster without pending changes.\n - DB_CLUSTER_STATE_FAILED: DB_CLUSTER_STATE_FAILED represents a failed cluster.\n - DB_CLUSTER_STATE_DELETING: DB_CLUSTER_STATE_DELETING represents a cluster being deleting.\n - DB_CLUSTER_STATE_PAUSED: DB_CLUSTER_STATE_PAUSED represents a cluster is paused.\n - DB_CLUSTER_STATE_UPGRADING: DB_CLUSTER_STATE_UPGRADING is a special case of DB_CLUSTER_STATE_CHANGING.\nIt indicates database cluster upgrade is ongoing.", - "type": "string", - "default": "DB_CLUSTER_STATE_INVALID", - "enum": [ - "DB_CLUSTER_STATE_INVALID", - "DB_CLUSTER_STATE_CHANGING", - "DB_CLUSTER_STATE_READY", - "DB_CLUSTER_STATE_FAILED", - "DB_CLUSTER_STATE_DELETING", - "DB_CLUSTER_STATE_PAUSED", - "DB_CLUSTER_STATE_UPGRADING" - ], - "x-order": 1 - }, - "operation": { - "description": "RunningOperation respresents a long-running operation.", - "type": "object", - "properties": { - "finished_steps": { - "description": "Finished steps of the operaion; can decrease or increase compared to the previous value.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "description": "Text describing the current operation progress step.", - "type": "string", - "x-order": 1 - }, - "total_steps": { - "description": "Total steps needed to finish the operation; can decrease or increase compared to the previous value.", - "type": "integer", - "format": "int32", - "x-order": 2 - } - }, - "x-order": 2 - }, - "params": { - "description": "PXCClusterParams represents PXC cluster parameters that can be updated.", - "type": "object", - "properties": { - "cluster_size": { - "description": "Cluster size.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "pxc": { - "description": "PXC container parameters.\nTODO Do not use inner messages in all public APIs (for consistency).", - "type": "object", - "properties": { - "image": { - "description": "Docker image used for PXC.", - "type": "string", - "x-order": 0 - }, - "compute_resources": { - "description": "ComputeResources represents container computer resources requests or limits.", - "type": "object", - "properties": { - "cpu_m": { - "description": "CPUs in milliCPUs; 1000m = 1 vCPU.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - } - }, - "x-order": 1 - }, - "disk_size": { - "description": "Disk size in bytes.", - "type": "string", - "format": "int64", - "x-order": 2 - }, - "configuration": { - "type": "string", - "title": "Configuration for PXC cluster", - "x-order": 3 - }, - "storage_class": { - "description": "Storage Class for PXC cluster.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 1 - }, - "proxysql": { - "description": "ProxySQL container parameters.\nTODO Do not use inner messages in all public APIs (for consistency).", - "type": "object", - "properties": { - "image": { - "description": "Docker image used for ProxySQL.", - "type": "string", - "x-order": 0 - }, - "compute_resources": { - "description": "ComputeResources represents container computer resources requests or limits.", - "type": "object", - "properties": { - "cpu_m": { - "description": "CPUs in milliCPUs; 1000m = 1 vCPU.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - } - }, - "x-order": 1 - }, - "disk_size": { - "description": "Disk size in bytes.", - "type": "string", - "format": "int64", - "x-order": 2 - } - }, - "x-order": 2 - }, - "haproxy": { - "description": "HAProxy container parameters.\nNOTE: HAProxy does not need disk size as ProxySQL does because the container does not require it.", - "type": "object", - "properties": { - "image": { - "description": "Docker image used for HAProxy.", - "type": "string", - "x-order": 0 - }, - "compute_resources": { - "description": "ComputeResources represents container computer resources requests or limits.", - "type": "object", - "properties": { - "cpu_m": { - "description": "CPUs in milliCPUs; 1000m = 1 vCPU.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - } - }, - "x-order": 1 - } - }, - "x-order": 3 - }, - "backup": { - "type": "object", - "title": "Backup configuration for a database cluster", - "properties": { - "location_id": { - "description": "Backup Location id of stored backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "keep_copies": { - "description": "Keep copies represents how many copies should retain.", - "type": "integer", - "format": "int32", - "x-order": 1 - }, - "cron_expression": { - "type": "string", - "title": "Cron expression represents cron expression", - "x-order": 2 - }, - "service_account": { - "type": "string", - "title": "Service acccount used for backups", - "x-order": 3 - } - }, - "x-order": 4 - }, - "restore": { - "type": "object", - "title": "Restore represents restoration payload to restore a database cluster from backup", - "properties": { - "location_id": { - "description": "Backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "destination": { - "description": "Destination filename.", - "type": "string", - "x-order": 1 - }, - "secrets_name": { - "description": "K8s Secrets name.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 5 - } - }, - "x-order": 3 - }, - "exposed": { - "description": "DB cluster accessible outside of K8s cluster.", - "type": "boolean", - "x-order": 4 - }, - "installed_image": { - "description": "Installed XtraDB image.", - "type": "string", - "x-order": 5 - }, - "available_image": { - "description": "Available database version user can upgrade cluster to, returned as an image. Image tag contains the version.\nIf it's empty, no upgrade is available.", - "type": "string", - "x-order": 6 - }, - "internet_facing": { - "description": "Is DB cluster accessible via public internet.", - "type": "boolean", - "x-order": 7 - }, - "backup": { - "type": "object", - "title": "Backup configuration for a database cluster", - "properties": { - "location_id": { - "description": "Backup Location id of stored backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "keep_copies": { - "description": "Keep copies represents how many copies should retain.", - "type": "integer", - "format": "int32", - "x-order": 1 - }, - "cron_expression": { - "type": "string", - "title": "Cron expression represents cron expression", - "x-order": 2 - }, - "service_account": { - "type": "string", - "title": "Service acccount used for backups", - "x-order": 3 - } - }, - "x-order": 8 - }, - "restore": { - "type": "object", - "title": "Restore represents restoration payload to restore a database cluster from backup", - "properties": { - "location_id": { - "description": "Backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "destination": { - "description": "Destination filename.", - "type": "string", - "x-order": 1 - }, - "secrets_name": { - "description": "K8s Secrets name.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 9 - }, - "source_ranges": { - "description": "Apply IP source ranges against the cluster.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 10 - }, - "template": { - "type": "object", - "properties": { - "name": { - "description": "Template CR name.", - "type": "string", - "x-order": 0 - }, - "kind": { - "description": "Template CR kind.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 11 - } - }, - "x-order": 0 - }, - "psmdb_cluster": { - "description": "PSMDBCluster represents PSMDB cluster information.", - "type": "object", - "properties": { - "name": { - "description": "Cluster name.", - "type": "string", - "x-order": 0 - }, - "state": { - "description": "DBClusterState represents DB cluster CR state.\n\n - DB_CLUSTER_STATE_INVALID: DB_CLUSTER_STATE_INVALID represents unknown state.\n - DB_CLUSTER_STATE_CHANGING: DB_CLUSTER_STATE_CHANGING represents a cluster being changed.\n - DB_CLUSTER_STATE_READY: DB_CLUSTER_STATE_READY represents a cluster without pending changes.\n - DB_CLUSTER_STATE_FAILED: DB_CLUSTER_STATE_FAILED represents a failed cluster.\n - DB_CLUSTER_STATE_DELETING: DB_CLUSTER_STATE_DELETING represents a cluster being deleting.\n - DB_CLUSTER_STATE_PAUSED: DB_CLUSTER_STATE_PAUSED represents a cluster is paused.\n - DB_CLUSTER_STATE_UPGRADING: DB_CLUSTER_STATE_UPGRADING is a special case of DB_CLUSTER_STATE_CHANGING.\nIt indicates database cluster upgrade is ongoing.", - "type": "string", - "default": "DB_CLUSTER_STATE_INVALID", - "enum": [ - "DB_CLUSTER_STATE_INVALID", - "DB_CLUSTER_STATE_CHANGING", - "DB_CLUSTER_STATE_READY", - "DB_CLUSTER_STATE_FAILED", - "DB_CLUSTER_STATE_DELETING", - "DB_CLUSTER_STATE_PAUSED", - "DB_CLUSTER_STATE_UPGRADING" - ], - "x-order": 1 - }, - "operation": { - "description": "RunningOperation respresents a long-running operation.", - "type": "object", - "properties": { - "finished_steps": { - "description": "Finished steps of the operaion; can decrease or increase compared to the previous value.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "description": "Text describing the current operation progress step.", - "type": "string", - "x-order": 1 - }, - "total_steps": { - "description": "Total steps needed to finish the operation; can decrease or increase compared to the previous value.", - "type": "integer", - "format": "int32", - "x-order": 2 - } - }, - "x-order": 2 - }, - "params": { - "description": "PSMDBClusterParams represents PSMDB cluster parameters that can be updated.", - "type": "object", - "properties": { - "cluster_size": { - "description": "Cluster size.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "replicaset": { - "description": "ReplicaSet container parameters.\nTODO Do not use inner messages in all public APIs (for consistency).", - "type": "object", - "properties": { - "compute_resources": { - "description": "ComputeResources represents container computer resources requests or limits.", - "type": "object", - "properties": { - "cpu_m": { - "description": "CPUs in milliCPUs; 1000m = 1 vCPU.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - } - }, - "x-order": 0 - }, - "disk_size": { - "description": "Disk size in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - }, - "configuration": { - "type": "string", - "title": "Configuration for PSMDB cluster", - "x-order": 2 - }, - "storage_class": { - "description": "Storage Class for PSMDB cluster.", - "type": "string", - "x-order": 3 - } - }, - "x-order": 1 - }, - "image": { - "description": "Docker image used for PSMDB.", - "type": "string", - "x-order": 2 - }, - "backup": { - "type": "object", - "title": "Backup configuration for a database cluster", - "properties": { - "location_id": { - "description": "Backup Location id of stored backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "keep_copies": { - "description": "Keep copies represents how many copies should retain.", - "type": "integer", - "format": "int32", - "x-order": 1 - }, - "cron_expression": { - "type": "string", - "title": "Cron expression represents cron expression", - "x-order": 2 - }, - "service_account": { - "type": "string", - "title": "Service acccount used for backups", - "x-order": 3 - } - }, - "x-order": 3 - }, - "restore": { - "type": "object", - "title": "Restore represents restoration payload to restore a database cluster from backup", - "properties": { - "location_id": { - "description": "Backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "destination": { - "description": "Destination filename.", - "type": "string", - "x-order": 1 - }, - "secrets_name": { - "description": "K8s Secrets name.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 4 - } - }, - "x-order": 3 - }, - "exposed": { - "description": "DB cluster accessible outside of K8s cluster.", - "type": "boolean", - "x-order": 4 - }, - "installed_image": { - "description": "Installed PSMDB image.", - "type": "string", - "x-order": 5 - }, - "available_image": { - "description": "Available database version user can upgrade cluster to, returned as an image. Image tag contains the version.\nIf it's empty, no upgrade is available.", - "type": "string", - "x-order": 6 - }, - "internet_facing": { - "description": "Is DB cluster accessible via public internet.", - "type": "boolean", - "x-order": 7 - }, - "backup": { - "type": "object", - "title": "Backup configuration for a database cluster", - "properties": { - "location_id": { - "description": "Backup Location id of stored backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "keep_copies": { - "description": "Keep copies represents how many copies should retain.", - "type": "integer", - "format": "int32", - "x-order": 1 - }, - "cron_expression": { - "type": "string", - "title": "Cron expression represents cron expression", - "x-order": 2 - }, - "service_account": { - "type": "string", - "title": "Service acccount used for backups", - "x-order": 3 - } - }, - "x-order": 8 - }, - "restore": { - "type": "object", - "title": "Restore represents restoration payload to restore a database cluster from backup", - "properties": { - "location_id": { - "description": "Backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "destination": { - "description": "Destination filename.", - "type": "string", - "x-order": 1 - }, - "secrets_name": { - "description": "K8s Secrets name.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 9 - }, - "source_ranges": { - "description": "Apply IP source ranges against the cluster.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 10 - }, - "template": { - "type": "object", - "properties": { - "name": { - "description": "Template CR name.", - "type": "string", - "x-order": 0 - }, - "kind": { - "description": "Template CR kind.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 11 - } - }, - "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/management/DBaaS/DBClusters/List": { - "post": { - "tags": [ - "DBClusters" - ], - "summary": "ListDBClusters returns a list of DB clusters.", - "operationId": "ListDBClusters", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "pxc_clusters": { - "description": "PXC clusters information.", - "type": "array", - "items": { - "description": "PXCCluster represents PXC cluster information.", - "type": "object", - "properties": { - "name": { - "description": "Cluster name.", - "type": "string", - "x-order": 0 - }, - "state": { - "description": "DBClusterState represents DB cluster CR state.\n\n - DB_CLUSTER_STATE_INVALID: DB_CLUSTER_STATE_INVALID represents unknown state.\n - DB_CLUSTER_STATE_CHANGING: DB_CLUSTER_STATE_CHANGING represents a cluster being changed.\n - DB_CLUSTER_STATE_READY: DB_CLUSTER_STATE_READY represents a cluster without pending changes.\n - DB_CLUSTER_STATE_FAILED: DB_CLUSTER_STATE_FAILED represents a failed cluster.\n - DB_CLUSTER_STATE_DELETING: DB_CLUSTER_STATE_DELETING represents a cluster being deleting.\n - DB_CLUSTER_STATE_PAUSED: DB_CLUSTER_STATE_PAUSED represents a cluster is paused.\n - DB_CLUSTER_STATE_UPGRADING: DB_CLUSTER_STATE_UPGRADING is a special case of DB_CLUSTER_STATE_CHANGING.\nIt indicates database cluster upgrade is ongoing.", - "type": "string", - "default": "DB_CLUSTER_STATE_INVALID", - "enum": [ - "DB_CLUSTER_STATE_INVALID", - "DB_CLUSTER_STATE_CHANGING", - "DB_CLUSTER_STATE_READY", - "DB_CLUSTER_STATE_FAILED", - "DB_CLUSTER_STATE_DELETING", - "DB_CLUSTER_STATE_PAUSED", - "DB_CLUSTER_STATE_UPGRADING" - ], - "x-order": 1 - }, - "operation": { - "description": "RunningOperation respresents a long-running operation.", - "type": "object", - "properties": { - "finished_steps": { - "description": "Finished steps of the operaion; can decrease or increase compared to the previous value.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "description": "Text describing the current operation progress step.", - "type": "string", - "x-order": 1 - }, - "total_steps": { - "description": "Total steps needed to finish the operation; can decrease or increase compared to the previous value.", - "type": "integer", - "format": "int32", - "x-order": 2 - } - }, - "x-order": 2 - }, - "params": { - "description": "PXCClusterParams represents PXC cluster parameters that can be updated.", - "type": "object", - "properties": { - "cluster_size": { - "description": "Cluster size.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "pxc": { - "description": "PXC container parameters.\nTODO Do not use inner messages in all public APIs (for consistency).", - "type": "object", - "properties": { - "image": { - "description": "Docker image used for PXC.", - "type": "string", - "x-order": 0 - }, - "compute_resources": { - "description": "ComputeResources represents container computer resources requests or limits.", - "type": "object", - "properties": { - "cpu_m": { - "description": "CPUs in milliCPUs; 1000m = 1 vCPU.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - } - }, - "x-order": 1 - }, - "disk_size": { - "description": "Disk size in bytes.", - "type": "string", - "format": "int64", - "x-order": 2 - }, - "configuration": { - "type": "string", - "title": "Configuration for PXC cluster", - "x-order": 3 - }, - "storage_class": { - "description": "Storage Class for PXC cluster.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 1 - }, - "proxysql": { - "description": "ProxySQL container parameters.\nTODO Do not use inner messages in all public APIs (for consistency).", - "type": "object", - "properties": { - "image": { - "description": "Docker image used for ProxySQL.", - "type": "string", - "x-order": 0 - }, - "compute_resources": { - "description": "ComputeResources represents container computer resources requests or limits.", - "type": "object", - "properties": { - "cpu_m": { - "description": "CPUs in milliCPUs; 1000m = 1 vCPU.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - } - }, - "x-order": 1 - }, - "disk_size": { - "description": "Disk size in bytes.", - "type": "string", - "format": "int64", - "x-order": 2 - } - }, - "x-order": 2 - }, - "haproxy": { - "description": "HAProxy container parameters.\nNOTE: HAProxy does not need disk size as ProxySQL does because the container does not require it.", - "type": "object", - "properties": { - "image": { - "description": "Docker image used for HAProxy.", - "type": "string", - "x-order": 0 - }, - "compute_resources": { - "description": "ComputeResources represents container computer resources requests or limits.", - "type": "object", - "properties": { - "cpu_m": { - "description": "CPUs in milliCPUs; 1000m = 1 vCPU.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - } - }, - "x-order": 1 - } - }, - "x-order": 3 - }, - "backup": { - "type": "object", - "title": "Backup configuration for a database cluster", - "properties": { - "location_id": { - "description": "Backup Location id of stored backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "keep_copies": { - "description": "Keep copies represents how many copies should retain.", - "type": "integer", - "format": "int32", - "x-order": 1 - }, - "cron_expression": { - "type": "string", - "title": "Cron expression represents cron expression", - "x-order": 2 - }, - "service_account": { - "type": "string", - "title": "Service acccount used for backups", - "x-order": 3 - } - }, - "x-order": 4 - }, - "restore": { - "type": "object", - "title": "Restore represents restoration payload to restore a database cluster from backup", - "properties": { - "location_id": { - "description": "Backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "destination": { - "description": "Destination filename.", - "type": "string", - "x-order": 1 - }, - "secrets_name": { - "description": "K8s Secrets name.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 5 - } - }, - "x-order": 3 - }, - "exposed": { - "description": "DB cluster accessible outside of K8s cluster.", - "type": "boolean", - "x-order": 4 - }, - "installed_image": { - "description": "Installed XtraDB image.", - "type": "string", - "x-order": 5 - }, - "available_image": { - "description": "Available database version user can upgrade cluster to, returned as an image. Image tag contains the version.\nIf it's empty, no upgrade is available.", - "type": "string", - "x-order": 6 - }, - "internet_facing": { - "description": "Is DB cluster accessible via public internet.", - "type": "boolean", - "x-order": 7 - }, - "backup": { - "type": "object", - "title": "Backup configuration for a database cluster", - "properties": { - "location_id": { - "description": "Backup Location id of stored backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "keep_copies": { - "description": "Keep copies represents how many copies should retain.", - "type": "integer", - "format": "int32", - "x-order": 1 - }, - "cron_expression": { - "type": "string", - "title": "Cron expression represents cron expression", - "x-order": 2 - }, - "service_account": { - "type": "string", - "title": "Service acccount used for backups", - "x-order": 3 - } - }, - "x-order": 8 - }, - "restore": { - "type": "object", - "title": "Restore represents restoration payload to restore a database cluster from backup", - "properties": { - "location_id": { - "description": "Backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "destination": { - "description": "Destination filename.", - "type": "string", - "x-order": 1 - }, - "secrets_name": { - "description": "K8s Secrets name.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 9 - }, - "source_ranges": { - "description": "Apply IP source ranges against the cluster.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 10 - }, - "template": { - "type": "object", - "properties": { - "name": { - "description": "Template CR name.", - "type": "string", - "x-order": 0 - }, - "kind": { - "description": "Template CR kind.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 11 - } - } - }, - "x-order": 0 - }, - "psmdb_clusters": { - "description": "PSMDB clusters information.", - "type": "array", - "items": { - "description": "PSMDBCluster represents PSMDB cluster information.", - "type": "object", - "properties": { - "name": { - "description": "Cluster name.", - "type": "string", - "x-order": 0 - }, - "state": { - "description": "DBClusterState represents DB cluster CR state.\n\n - DB_CLUSTER_STATE_INVALID: DB_CLUSTER_STATE_INVALID represents unknown state.\n - DB_CLUSTER_STATE_CHANGING: DB_CLUSTER_STATE_CHANGING represents a cluster being changed.\n - DB_CLUSTER_STATE_READY: DB_CLUSTER_STATE_READY represents a cluster without pending changes.\n - DB_CLUSTER_STATE_FAILED: DB_CLUSTER_STATE_FAILED represents a failed cluster.\n - DB_CLUSTER_STATE_DELETING: DB_CLUSTER_STATE_DELETING represents a cluster being deleting.\n - DB_CLUSTER_STATE_PAUSED: DB_CLUSTER_STATE_PAUSED represents a cluster is paused.\n - DB_CLUSTER_STATE_UPGRADING: DB_CLUSTER_STATE_UPGRADING is a special case of DB_CLUSTER_STATE_CHANGING.\nIt indicates database cluster upgrade is ongoing.", - "type": "string", - "default": "DB_CLUSTER_STATE_INVALID", - "enum": [ - "DB_CLUSTER_STATE_INVALID", - "DB_CLUSTER_STATE_CHANGING", - "DB_CLUSTER_STATE_READY", - "DB_CLUSTER_STATE_FAILED", - "DB_CLUSTER_STATE_DELETING", - "DB_CLUSTER_STATE_PAUSED", - "DB_CLUSTER_STATE_UPGRADING" - ], - "x-order": 1 - }, - "operation": { - "description": "RunningOperation respresents a long-running operation.", - "type": "object", - "properties": { - "finished_steps": { - "description": "Finished steps of the operaion; can decrease or increase compared to the previous value.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "message": { - "description": "Text describing the current operation progress step.", - "type": "string", - "x-order": 1 - }, - "total_steps": { - "description": "Total steps needed to finish the operation; can decrease or increase compared to the previous value.", - "type": "integer", - "format": "int32", - "x-order": 2 - } - }, - "x-order": 2 - }, - "params": { - "description": "PSMDBClusterParams represents PSMDB cluster parameters that can be updated.", - "type": "object", - "properties": { - "cluster_size": { - "description": "Cluster size.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "replicaset": { - "description": "ReplicaSet container parameters.\nTODO Do not use inner messages in all public APIs (for consistency).", - "type": "object", - "properties": { - "compute_resources": { - "description": "ComputeResources represents container computer resources requests or limits.", - "type": "object", - "properties": { - "cpu_m": { - "description": "CPUs in milliCPUs; 1000m = 1 vCPU.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - } - }, - "x-order": 0 - }, - "disk_size": { - "description": "Disk size in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - }, - "configuration": { - "type": "string", - "title": "Configuration for PSMDB cluster", - "x-order": 2 - }, - "storage_class": { - "description": "Storage Class for PSMDB cluster.", - "type": "string", - "x-order": 3 - } - }, - "x-order": 1 - }, - "image": { - "description": "Docker image used for PSMDB.", - "type": "string", - "x-order": 2 - }, - "backup": { - "type": "object", - "title": "Backup configuration for a database cluster", - "properties": { - "location_id": { - "description": "Backup Location id of stored backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "keep_copies": { - "description": "Keep copies represents how many copies should retain.", - "type": "integer", - "format": "int32", - "x-order": 1 - }, - "cron_expression": { - "type": "string", - "title": "Cron expression represents cron expression", - "x-order": 2 - }, - "service_account": { - "type": "string", - "title": "Service acccount used for backups", - "x-order": 3 - } - }, - "x-order": 3 - }, - "restore": { - "type": "object", - "title": "Restore represents restoration payload to restore a database cluster from backup", - "properties": { - "location_id": { - "description": "Backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "destination": { - "description": "Destination filename.", - "type": "string", - "x-order": 1 - }, - "secrets_name": { - "description": "K8s Secrets name.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 4 - } - }, - "x-order": 3 - }, - "exposed": { - "description": "DB cluster accessible outside of K8s cluster.", - "type": "boolean", - "x-order": 4 - }, - "installed_image": { - "description": "Installed PSMDB image.", - "type": "string", - "x-order": 5 - }, - "available_image": { - "description": "Available database version user can upgrade cluster to, returned as an image. Image tag contains the version.\nIf it's empty, no upgrade is available.", - "type": "string", - "x-order": 6 - }, - "internet_facing": { - "description": "Is DB cluster accessible via public internet.", - "type": "boolean", - "x-order": 7 - }, - "backup": { - "type": "object", - "title": "Backup configuration for a database cluster", - "properties": { - "location_id": { - "description": "Backup Location id of stored backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "keep_copies": { - "description": "Keep copies represents how many copies should retain.", - "type": "integer", - "format": "int32", - "x-order": 1 - }, - "cron_expression": { - "type": "string", - "title": "Cron expression represents cron expression", - "x-order": 2 - }, - "service_account": { - "type": "string", - "title": "Service acccount used for backups", - "x-order": 3 - } - }, - "x-order": 8 - }, - "restore": { - "type": "object", - "title": "Restore represents restoration payload to restore a database cluster from backup", - "properties": { - "location_id": { - "description": "Backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "destination": { - "description": "Destination filename.", - "type": "string", - "x-order": 1 - }, - "secrets_name": { - "description": "K8s Secrets name.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 9 - }, - "source_ranges": { - "description": "Apply IP source ranges against the cluster.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 10 - }, - "template": { - "type": "object", - "properties": { - "name": { - "description": "Template CR name.", - "type": "string", - "x-order": 0 - }, - "kind": { - "description": "Template CR kind.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 11 - } - } - }, - "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/management/DBaaS/DBClusters/Restart": { - "post": { - "tags": [ - "DBClusters" - ], - "summary": "RestartDBCluster restarts DB cluster.", - "operationId": "RestartDBCluster", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - }, - "name": { - "description": "PXC cluster name.", - "type": "string", - "x-order": 1 - }, - "cluster_type": { - "description": "DBClusterType represents database cluster type.\n\n - DB_CLUSTER_TYPE_INVALID: DB_CLUSTER_TYPE_INVALID represents unknown cluster type.\n - DB_CLUSTER_TYPE_PXC: DB_CLUSTER_TYPE_PXC represents pxc cluster type.\n - DB_CLUSTER_TYPE_PSMDB: DB_CLUSTER_TYPE_PSMDB represents psmdb cluster type.", - "type": "string", - "default": "DB_CLUSTER_TYPE_INVALID", - "enum": [ - "DB_CLUSTER_TYPE_INVALID", - "DB_CLUSTER_TYPE_PXC", - "DB_CLUSTER_TYPE_PSMDB" - ], - "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 - } - } - } - } - } - } - }, - "/v1/management/DBaaS/GetLogs": { - "post": { - "tags": [ - "LogsAPI" - ], - "summary": "GetLogs gets all logs from db cluster.", - "operationId": "GetLogs", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - }, - "cluster_name": { - "description": "DB cluster name.", - "type": "string", - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "logs": { - "description": "Log represents list of logs. Each entry contains either container's logs or,\nwhen container field is empty, pod's events.", - "type": "array", - "items": { - "description": "Logs contain logs for certain pod's container. If container is an empty\nstring, logs contain pod's events.", - "type": "object", - "properties": { - "pod": { - "description": "Pod name.", - "type": "string", - "x-order": 0 - }, - "container": { - "description": "Container name.", - "type": "string", - "x-order": 1 - }, - "logs": { - "description": "Content of container's log or pod's events.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 2 - } - } - }, - "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/DBaaS/Kubernetes/Get": { - "post": { - "tags": [ - "Kubernetes" - ], - "summary": "GetKubernetesCluster return KubeAuth with Kubernetes config.", - "operationId": "GetKubernetesCluster", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "kube_auth": { - "description": "KubeAuth represents Kubernetes / kubectl authentication and authorization information.", - "type": "object", - "properties": { - "kubeconfig": { - "description": "Kubeconfig file content.", - "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/management/DBaaS/Kubernetes/List": { - "post": { - "tags": [ - "Kubernetes" - ], - "summary": "ListKubernetesClusters returns a list of all registered Kubernetes clusters.", - "operationId": "ListKubernetesClusters", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "kubernetes_clusters": { - "description": "Kubernetes clusters.", - "type": "array", - "items": { - "description": "Cluster contains public info about Kubernetes cluster.\nTODO Do not use inner messages in all public APIs (for consistency).", - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - }, - "operators": { - "description": "Operators contains list of operators installed in Kubernetes cluster.", - "type": "object", - "properties": { - "pxc": { - "description": "Operator contains all information about operator installed in Kubernetes cluster.", - "type": "object", - "properties": { - "status": { - "description": "OperatorsStatus defines status of operators installed in Kubernetes cluster.\n\n - OPERATORS_STATUS_INVALID: OPERATORS_STATUS_INVALID represents unknown state.\n - OPERATORS_STATUS_OK: OPERATORS_STATUS_OK represents that operators are installed and have supported API version.\n - OPERATORS_STATUS_UNSUPPORTED: OPERATORS_STATUS_UNSUPPORTED represents that operators are installed, but doesn't have supported API version.\n - OPERATORS_STATUS_NOT_INSTALLED: OPERATORS_STATUS_NOT_INSTALLED represents that operators are not installed.", - "type": "string", - "default": "OPERATORS_STATUS_INVALID", - "enum": [ - "OPERATORS_STATUS_INVALID", - "OPERATORS_STATUS_OK", - "OPERATORS_STATUS_UNSUPPORTED", - "OPERATORS_STATUS_NOT_INSTALLED" - ], - "x-order": 0 - }, - "version": { - "type": "string", - "x-order": 1 - } - }, - "x-order": 0 - }, - "psmdb": { - "description": "Operator contains all information about operator installed in Kubernetes cluster.", - "type": "object", - "properties": { - "status": { - "description": "OperatorsStatus defines status of operators installed in Kubernetes cluster.\n\n - OPERATORS_STATUS_INVALID: OPERATORS_STATUS_INVALID represents unknown state.\n - OPERATORS_STATUS_OK: OPERATORS_STATUS_OK represents that operators are installed and have supported API version.\n - OPERATORS_STATUS_UNSUPPORTED: OPERATORS_STATUS_UNSUPPORTED represents that operators are installed, but doesn't have supported API version.\n - OPERATORS_STATUS_NOT_INSTALLED: OPERATORS_STATUS_NOT_INSTALLED represents that operators are not installed.", - "type": "string", - "default": "OPERATORS_STATUS_INVALID", - "enum": [ - "OPERATORS_STATUS_INVALID", - "OPERATORS_STATUS_OK", - "OPERATORS_STATUS_UNSUPPORTED", - "OPERATORS_STATUS_NOT_INSTALLED" - ], - "x-order": 0 - }, - "version": { - "type": "string", - "x-order": 1 - } - }, - "x-order": 1 - }, - "dbaas": { - "description": "Operator contains all information about operator installed in Kubernetes cluster.", - "type": "object", - "properties": { - "status": { - "description": "OperatorsStatus defines status of operators installed in Kubernetes cluster.\n\n - OPERATORS_STATUS_INVALID: OPERATORS_STATUS_INVALID represents unknown state.\n - OPERATORS_STATUS_OK: OPERATORS_STATUS_OK represents that operators are installed and have supported API version.\n - OPERATORS_STATUS_UNSUPPORTED: OPERATORS_STATUS_UNSUPPORTED represents that operators are installed, but doesn't have supported API version.\n - OPERATORS_STATUS_NOT_INSTALLED: OPERATORS_STATUS_NOT_INSTALLED represents that operators are not installed.", - "type": "string", - "default": "OPERATORS_STATUS_INVALID", - "enum": [ - "OPERATORS_STATUS_INVALID", - "OPERATORS_STATUS_OK", - "OPERATORS_STATUS_UNSUPPORTED", - "OPERATORS_STATUS_NOT_INSTALLED" - ], - "x-order": 0 - }, - "version": { - "type": "string", - "x-order": 1 - } - }, - "x-order": 2 - } - }, - "x-order": 1 - }, - "status": { - "description": "KubernetesClusterStatus defines status of Kubernetes cluster.\n\n - KUBERNETES_CLUSTER_STATUS_INVALID: KUBERNETES_CLUSTER_STATUS_INVALID represents unknown state.\n - KUBERNETES_CLUSTER_STATUS_OK: KUBERNETES_CLUSTER_STATUS_OK represents that Kubernetes cluster is accessible.\n - KUBERNETES_CLUSTER_STATUS_UNAVAILABLE: KUBERNETES_CLUSTER_STATUS_UNAVAILABLE represents that Kubernetes cluster is not accessible.\n - KUBERNETES_CLUSTER_STATUS_PROVISIONING: KUBERNETES_CLUSTER_STATUS_PROVISIONING represents that Kubernetes cluster is privisioning.", - "type": "string", - "default": "KUBERNETES_CLUSTER_STATUS_INVALID", - "enum": [ - "KUBERNETES_CLUSTER_STATUS_INVALID", - "KUBERNETES_CLUSTER_STATUS_OK", - "KUBERNETES_CLUSTER_STATUS_UNAVAILABLE", - "KUBERNETES_CLUSTER_STATUS_PROVISIONING" - ], - "x-order": 2 - } - } - }, - "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/DBaaS/Kubernetes/Register": { - "post": { - "tags": [ - "Kubernetes" - ], - "summary": "RegisterKubernetesCluster registers an existing Kubernetes cluster in PMM.", - "operationId": "RegisterKubernetesCluster", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - }, - "kube_auth": { - "description": "KubeAuth represents Kubernetes / kubectl authentication and authorization information.", - "type": "object", - "properties": { - "kubeconfig": { - "description": "Kubeconfig file content.", - "type": "string", - "x-order": 0 - } - }, - "x-order": 1 - }, - "aws_access_key_id": { - "description": "AWS access key id, only needed when registering EKS cluster and kubeconfig does not contain it.", - "type": "string", - "x-order": 2 - }, - "aws_secret_access_key": { - "description": "AWS secret access key, only needed when registering EKS cluster and kubeconfig does not contain it.", - "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/DBaaS/Kubernetes/Resources/Get": { - "post": { - "tags": [ - "Kubernetes" - ], - "summary": "GetResources returns all and available resources of a Kubernetes cluster.\nNOTE: The user defined in kubeconfig for the cluster has to have rights to\n list and get Pods from all Namespaces. Also getting and listing Nodes\n has to be allowed.", - "operationId": "GetResources", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "all": { - "description": "Resources contains Kubernetes cluster resources.", - "type": "object", - "properties": { - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "uint64", - "x-order": 0 - }, - "cpu_m": { - "description": "CPU in millicpus. For example 0.1 of CPU is equivalent to 100 millicpus.\nSee https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu.", - "type": "string", - "format": "uint64", - "x-order": 1 - }, - "disk_size": { - "description": "Disk size in bytes.", - "type": "string", - "format": "uint64", - "x-order": 2 - } - }, - "x-order": 0 - }, - "available": { - "description": "Resources contains Kubernetes cluster resources.", - "type": "object", - "properties": { - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "uint64", - "x-order": 0 - }, - "cpu_m": { - "description": "CPU in millicpus. For example 0.1 of CPU is equivalent to 100 millicpus.\nSee https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu.", - "type": "string", - "format": "uint64", - "x-order": 1 - }, - "disk_size": { - "description": "Disk size in bytes.", - "type": "string", - "format": "uint64", - "x-order": 2 - } - }, - "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/management/DBaaS/Kubernetes/StorageClasses/List": { - "post": { - "tags": [ - "Kubernetes" - ], - "summary": "ListStorageClasses returns the names of all storage classes available in a Kubernetes cluster.", - "operationId": "ListStorageClasses", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "storage_classes": { - "description": "Kubernetes storage classes names.", - "type": "array", - "items": { - "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/DBaaS/Kubernetes/Unregister": { - "post": { - "tags": [ - "Kubernetes" - ], - "summary": "UnregisterKubernetesCluster removes a registered Kubernetes cluster from PMM.", - "operationId": "UnregisterKubernetesCluster", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - }, - "force": { - "description": "If true then Kubernetes cluster will be deleted\neven if it contains database clusters.", - "type": "boolean", - "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/management/DBaaS/PSMDBCluster/Create": { - "post": { - "tags": [ - "PSMDBClusters" - ], - "summary": "CreatePSMDBCluster creates a new PSMDB cluster.", - "operationId": "CreatePSMDBCluster", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - }, - "name": { - "type": "string", - "title": "PSMDB cluster name.\na DNS-1035 label must consist of lower case alphanumeric characters or '-',\nstart with an alphabetic character, and end with an alphanumeric character\n(e.g. 'my-name', or 'abc-123', regex used for validation is '[a-z]([-a-z0-9]*[a-z0-9])?')", - "x-order": 1 - }, - "params": { - "description": "PSMDBClusterParams represents PSMDB cluster parameters that can be updated.", - "type": "object", - "properties": { - "cluster_size": { - "description": "Cluster size.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "replicaset": { - "description": "ReplicaSet container parameters.\nTODO Do not use inner messages in all public APIs (for consistency).", - "type": "object", - "properties": { - "compute_resources": { - "description": "ComputeResources represents container computer resources requests or limits.", - "type": "object", - "properties": { - "cpu_m": { - "description": "CPUs in milliCPUs; 1000m = 1 vCPU.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - } - }, - "x-order": 0 - }, - "disk_size": { - "description": "Disk size in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - }, - "configuration": { - "type": "string", - "title": "Configuration for PSMDB cluster", - "x-order": 2 - }, - "storage_class": { - "description": "Storage Class for PSMDB cluster.", - "type": "string", - "x-order": 3 - } - }, - "x-order": 1 - }, - "image": { - "description": "Docker image used for PSMDB.", - "type": "string", - "x-order": 2 - }, - "backup": { - "type": "object", - "title": "Backup configuration for a database cluster", - "properties": { - "location_id": { - "description": "Backup Location id of stored backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "keep_copies": { - "description": "Keep copies represents how many copies should retain.", - "type": "integer", - "format": "int32", - "x-order": 1 - }, - "cron_expression": { - "type": "string", - "title": "Cron expression represents cron expression", - "x-order": 2 - }, - "service_account": { - "type": "string", - "title": "Service acccount used for backups", - "x-order": 3 - } - }, - "x-order": 3 - }, - "restore": { - "type": "object", - "title": "Restore represents restoration payload to restore a database cluster from backup", - "properties": { - "location_id": { - "description": "Backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "destination": { - "description": "Destination filename.", - "type": "string", - "x-order": 1 - }, - "secrets_name": { - "description": "K8s Secrets name.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 4 - } - }, - "x-order": 2 - }, - "expose": { - "description": "Make DB cluster accessible outside of K8s cluster.", - "type": "boolean", - "x-order": 3 - }, - "internet_facing": { - "description": "Make DB cluster accessible via public internet.", - "type": "boolean", - "x-order": 4 - }, - "source_ranges": { - "description": "Apply IP source ranges against the cluster.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 5 - }, - "template": { - "type": "object", - "properties": { - "name": { - "description": "Template CR name.", - "type": "string", - "x-order": 0 - }, - "kind": { - "description": "Template CR kind.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 6 - } - } - } - } - ], - "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/DBaaS/PSMDBCluster/Resources/Get": { - "post": { - "tags": [ - "PSMDBClusters" - ], - "summary": "GetPSMDBClusterResources returns expected resources to be consumed by the cluster.", - "operationId": "GetPSMDBClusterResources", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "params": { - "description": "PSMDBClusterParams represents PSMDB cluster parameters that can be updated.", - "type": "object", - "properties": { - "cluster_size": { - "description": "Cluster size.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "replicaset": { - "description": "ReplicaSet container parameters.\nTODO Do not use inner messages in all public APIs (for consistency).", - "type": "object", - "properties": { - "compute_resources": { - "description": "ComputeResources represents container computer resources requests or limits.", - "type": "object", - "properties": { - "cpu_m": { - "description": "CPUs in milliCPUs; 1000m = 1 vCPU.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - } - }, - "x-order": 0 - }, - "disk_size": { - "description": "Disk size in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - }, - "configuration": { - "type": "string", - "title": "Configuration for PSMDB cluster", - "x-order": 2 - }, - "storage_class": { - "description": "Storage Class for PSMDB cluster.", - "type": "string", - "x-order": 3 - } - }, - "x-order": 1 - }, - "image": { - "description": "Docker image used for PSMDB.", - "type": "string", - "x-order": 2 - }, - "backup": { - "type": "object", - "title": "Backup configuration for a database cluster", - "properties": { - "location_id": { - "description": "Backup Location id of stored backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "keep_copies": { - "description": "Keep copies represents how many copies should retain.", - "type": "integer", - "format": "int32", - "x-order": 1 - }, - "cron_expression": { - "type": "string", - "title": "Cron expression represents cron expression", - "x-order": 2 - }, - "service_account": { - "type": "string", - "title": "Service acccount used for backups", - "x-order": 3 - } - }, - "x-order": 3 - }, - "restore": { - "type": "object", - "title": "Restore represents restoration payload to restore a database cluster from backup", - "properties": { - "location_id": { - "description": "Backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "destination": { - "description": "Destination filename.", - "type": "string", - "x-order": 1 - }, - "secrets_name": { - "description": "K8s Secrets name.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 4 - } - }, - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "expected": { - "description": "Resources contains Kubernetes cluster resources.", - "type": "object", - "properties": { - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "uint64", - "x-order": 0 - }, - "cpu_m": { - "description": "CPU in millicpus. For example 0.1 of CPU is equivalent to 100 millicpus.\nSee https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu.", - "type": "string", - "format": "uint64", - "x-order": 1 - }, - "disk_size": { - "description": "Disk size in bytes.", - "type": "string", - "format": "uint64", - "x-order": 2 - } - }, - "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/DBaaS/PSMDBCluster/Update": { - "post": { - "tags": [ - "PSMDBClusters" - ], - "summary": "UpdatePSMDBCluster updates existing PSMDB cluster.", - "operationId": "UpdatePSMDBCluster", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - }, - "name": { - "description": "PSMDB cluster name.", - "type": "string", - "x-order": 1 - }, - "params": { - "description": "UpdatePSMDBClusterParams represents PSMDB cluster parameters that can be updated.", - "type": "object", - "properties": { - "cluster_size": { - "description": "Cluster size.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "replicaset": { - "description": "ReplicaSet container parameters.", - "type": "object", - "properties": { - "compute_resources": { - "description": "ComputeResources represents container computer resources requests or limits.", - "type": "object", - "properties": { - "cpu_m": { - "description": "CPUs in milliCPUs; 1000m = 1 vCPU.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - } - }, - "x-order": 0 - }, - "configuration": { - "type": "string", - "title": "Configuration for PSMDB cluster", - "x-order": 1 - }, - "storage_class": { - "description": "Storage Class for PSMDB cluster.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 1 - }, - "suspend": { - "description": "Suspend cluster `pause: true`.", - "type": "boolean", - "x-order": 2 - }, - "resume": { - "description": "Resume cluster `pause: false`.", - "type": "boolean", - "x-order": 3 - }, - "image": { - "description": "PSMDB image to use. If it's the same image but with different version tag, upgrade of database cluster to version\nin given tag is triggered. If entirely different image is given, error is returned.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 2 - }, - "expose": { - "description": "Make DB cluster accessible outside of K8s cluster.", - "type": "boolean", - "x-order": 3 - }, - "internet_facing": { - "description": "Make DB cluster accessible via public internet.", - "type": "boolean", - "x-order": 4 - }, - "source_ranges": { - "description": "Apply IP source ranges against the cluster.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 5 - }, - "template": { - "type": "object", - "properties": { - "name": { - "description": "Template CR name.", - "type": "string", - "x-order": 0 - }, - "kind": { - "description": "Template CR kind.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 6 - } - } - } - } - ], - "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/DBaaS/PSMDBClusters/GetCredentials": { - "post": { - "tags": [ - "PSMDBClusters" - ], - "summary": "GetPSMDBClusterCredentials returns a PSMDB cluster credentials by cluster name.", - "operationId": "GetPSMDBClusterCredentials", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - }, - "name": { - "description": "PSMDB cluster name.", - "type": "string", - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "connection_credentials": { - "description": "PSMDBCredentials is a credentials to connect to PSMDB.\nTODO Do not use inner messages in all public APIs (for consistency).", - "type": "object", - "properties": { - "username": { - "description": "MongoDB username.", - "type": "string", - "x-order": 0 - }, - "password": { - "description": "MongoDB password.", - "type": "string", - "x-order": 1 - }, - "host": { - "description": "MongoDB host.", - "type": "string", - "x-order": 2 - }, - "port": { - "description": "MongoDB port.", - "type": "integer", - "format": "int32", - "x-order": 3 - }, - "replicaset": { - "description": "Replicaset name.", - "type": "string", - "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 - } - } - } - } - } - } - }, - "/v1/management/DBaaS/PXCCluster/Create": { - "post": { - "tags": [ - "PXCClusters" - ], - "summary": "CreatePXCCluster creates a new PXC cluster.", - "operationId": "CreatePXCCluster", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - }, - "name": { - "type": "string", - "title": "PXC cluster name.\na DNS-1035 label must consist of lower case alphanumeric characters or '-',\nstart with an alphabetic character, and end with an alphanumeric character\n(e.g. 'my-name', or 'abc-123', regex used for validation is '[a-z]([-a-z0-9]*[a-z0-9])?')", - "x-order": 1 - }, - "params": { - "description": "PXCClusterParams represents PXC cluster parameters that can be updated.", - "type": "object", - "properties": { - "cluster_size": { - "description": "Cluster size.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "pxc": { - "description": "PXC container parameters.\nTODO Do not use inner messages in all public APIs (for consistency).", - "type": "object", - "properties": { - "image": { - "description": "Docker image used for PXC.", - "type": "string", - "x-order": 0 - }, - "compute_resources": { - "description": "ComputeResources represents container computer resources requests or limits.", - "type": "object", - "properties": { - "cpu_m": { - "description": "CPUs in milliCPUs; 1000m = 1 vCPU.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - } - }, - "x-order": 1 - }, - "disk_size": { - "description": "Disk size in bytes.", - "type": "string", - "format": "int64", - "x-order": 2 - }, - "configuration": { - "type": "string", - "title": "Configuration for PXC cluster", - "x-order": 3 - }, - "storage_class": { - "description": "Storage Class for PXC cluster.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 1 - }, - "proxysql": { - "description": "ProxySQL container parameters.\nTODO Do not use inner messages in all public APIs (for consistency).", - "type": "object", - "properties": { - "image": { - "description": "Docker image used for ProxySQL.", - "type": "string", - "x-order": 0 - }, - "compute_resources": { - "description": "ComputeResources represents container computer resources requests or limits.", - "type": "object", - "properties": { - "cpu_m": { - "description": "CPUs in milliCPUs; 1000m = 1 vCPU.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - } - }, - "x-order": 1 - }, - "disk_size": { - "description": "Disk size in bytes.", - "type": "string", - "format": "int64", - "x-order": 2 - } - }, - "x-order": 2 - }, - "haproxy": { - "description": "HAProxy container parameters.\nNOTE: HAProxy does not need disk size as ProxySQL does because the container does not require it.", - "type": "object", - "properties": { - "image": { - "description": "Docker image used for HAProxy.", - "type": "string", - "x-order": 0 - }, - "compute_resources": { - "description": "ComputeResources represents container computer resources requests or limits.", - "type": "object", - "properties": { - "cpu_m": { - "description": "CPUs in milliCPUs; 1000m = 1 vCPU.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - } - }, - "x-order": 1 - } - }, - "x-order": 3 - }, - "backup": { - "type": "object", - "title": "Backup configuration for a database cluster", - "properties": { - "location_id": { - "description": "Backup Location id of stored backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "keep_copies": { - "description": "Keep copies represents how many copies should retain.", - "type": "integer", - "format": "int32", - "x-order": 1 - }, - "cron_expression": { - "type": "string", - "title": "Cron expression represents cron expression", - "x-order": 2 - }, - "service_account": { - "type": "string", - "title": "Service acccount used for backups", - "x-order": 3 - } - }, - "x-order": 4 - }, - "restore": { - "type": "object", - "title": "Restore represents restoration payload to restore a database cluster from backup", - "properties": { - "location_id": { - "description": "Backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "destination": { - "description": "Destination filename.", - "type": "string", - "x-order": 1 - }, - "secrets_name": { - "description": "K8s Secrets name.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 5 - } - }, - "x-order": 2 - }, - "expose": { - "description": "Make DB cluster accessible outside of K8s cluster.", - "type": "boolean", - "x-order": 3 - }, - "internet_facing": { - "description": "Make DB cluster accessible via public internet.", - "type": "boolean", - "x-order": 4 - }, - "source_ranges": { - "description": "Apply IP source ranges against the cluster.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 5 - }, - "template": { - "type": "object", - "properties": { - "name": { - "description": "Template CR name.", - "type": "string", - "x-order": 0 - }, - "kind": { - "description": "Template CR kind.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 6 - } - } - } - } - ], - "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/DBaaS/PXCCluster/Resources/Get": { - "post": { - "tags": [ - "PXCClusters" - ], - "summary": "GetPXCClusterResources returns expected resources to be consumed by the cluster.", - "operationId": "GetPXCClusterResources", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "params": { - "description": "PXCClusterParams represents PXC cluster parameters that can be updated.", - "type": "object", - "properties": { - "cluster_size": { - "description": "Cluster size.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "pxc": { - "description": "PXC container parameters.\nTODO Do not use inner messages in all public APIs (for consistency).", - "type": "object", - "properties": { - "image": { - "description": "Docker image used for PXC.", - "type": "string", - "x-order": 0 - }, - "compute_resources": { - "description": "ComputeResources represents container computer resources requests or limits.", - "type": "object", - "properties": { - "cpu_m": { - "description": "CPUs in milliCPUs; 1000m = 1 vCPU.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - } - }, - "x-order": 1 - }, - "disk_size": { - "description": "Disk size in bytes.", - "type": "string", - "format": "int64", - "x-order": 2 - }, - "configuration": { - "type": "string", - "title": "Configuration for PXC cluster", - "x-order": 3 - }, - "storage_class": { - "description": "Storage Class for PXC cluster.", - "type": "string", - "x-order": 4 - } - }, - "x-order": 1 - }, - "proxysql": { - "description": "ProxySQL container parameters.\nTODO Do not use inner messages in all public APIs (for consistency).", - "type": "object", - "properties": { - "image": { - "description": "Docker image used for ProxySQL.", - "type": "string", - "x-order": 0 - }, - "compute_resources": { - "description": "ComputeResources represents container computer resources requests or limits.", - "type": "object", - "properties": { - "cpu_m": { - "description": "CPUs in milliCPUs; 1000m = 1 vCPU.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - } - }, - "x-order": 1 - }, - "disk_size": { - "description": "Disk size in bytes.", - "type": "string", - "format": "int64", - "x-order": 2 - } - }, - "x-order": 2 - }, - "haproxy": { - "description": "HAProxy container parameters.\nNOTE: HAProxy does not need disk size as ProxySQL does because the container does not require it.", - "type": "object", - "properties": { - "image": { - "description": "Docker image used for HAProxy.", - "type": "string", - "x-order": 0 - }, - "compute_resources": { - "description": "ComputeResources represents container computer resources requests or limits.", - "type": "object", - "properties": { - "cpu_m": { - "description": "CPUs in milliCPUs; 1000m = 1 vCPU.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - } - }, - "x-order": 1 - } - }, - "x-order": 3 - }, - "backup": { - "type": "object", - "title": "Backup configuration for a database cluster", - "properties": { - "location_id": { - "description": "Backup Location id of stored backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "keep_copies": { - "description": "Keep copies represents how many copies should retain.", - "type": "integer", - "format": "int32", - "x-order": 1 - }, - "cron_expression": { - "type": "string", - "title": "Cron expression represents cron expression", - "x-order": 2 - }, - "service_account": { - "type": "string", - "title": "Service acccount used for backups", - "x-order": 3 - } - }, - "x-order": 4 - }, - "restore": { - "type": "object", - "title": "Restore represents restoration payload to restore a database cluster from backup", - "properties": { - "location_id": { - "description": "Backup location in PMM.", - "type": "string", - "x-order": 0 - }, - "destination": { - "description": "Destination filename.", - "type": "string", - "x-order": 1 - }, - "secrets_name": { - "description": "K8s Secrets name.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 5 - } - }, - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "expected": { - "description": "Resources contains Kubernetes cluster resources.", - "type": "object", - "properties": { - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "uint64", - "x-order": 0 - }, - "cpu_m": { - "description": "CPU in millicpus. For example 0.1 of CPU is equivalent to 100 millicpus.\nSee https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu.", - "type": "string", - "format": "uint64", - "x-order": 1 - }, - "disk_size": { - "description": "Disk size in bytes.", - "type": "string", - "format": "uint64", - "x-order": 2 - } - }, - "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/DBaaS/PXCCluster/Update": { - "post": { - "tags": [ - "PXCClusters" - ], - "summary": "UpdatePXCCluster updates existing PXC cluster.", - "operationId": "UpdatePXCCluster", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - }, - "name": { - "description": "PXC cluster name.", - "type": "string", - "x-order": 1 - }, - "params": { - "description": "UpdatePXCClusterParams represents PXC cluster parameters that can be updated.", - "type": "object", - "properties": { - "cluster_size": { - "description": "Cluster size.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "pxc": { - "description": "PXC container parameters.", - "type": "object", - "properties": { - "compute_resources": { - "description": "ComputeResources represents container computer resources requests or limits.", - "type": "object", - "properties": { - "cpu_m": { - "description": "CPUs in milliCPUs; 1000m = 1 vCPU.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - } - }, - "x-order": 0 - }, - "image": { - "description": "Image to use. If it's the same image but with different version tag, upgrade of database cluster to version\nin given tag is triggered. If entirely different image is given, error is returned.", - "type": "string", - "x-order": 1 - }, - "configuration": { - "type": "string", - "title": "Configuration for PXC cluster", - "x-order": 2 - }, - "storage_class": { - "description": "Storage Class for PXC cluster.", - "type": "string", - "x-order": 3 - } - }, - "x-order": 1 - }, - "proxysql": { - "description": "ProxySQL container parameters.", - "type": "object", - "properties": { - "compute_resources": { - "description": "ComputeResources represents container computer resources requests or limits.", - "type": "object", - "properties": { - "cpu_m": { - "description": "CPUs in milliCPUs; 1000m = 1 vCPU.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - } - }, - "x-order": 0 - } - }, - "x-order": 2 - }, - "suspend": { - "description": "Suspend cluster `pause: true`.", - "type": "boolean", - "x-order": 3 - }, - "resume": { - "description": "Resume cluster `pause: false`.", - "type": "boolean", - "x-order": 4 - }, - "haproxy": { - "description": "HAProxy container parameters.", - "type": "object", - "properties": { - "compute_resources": { - "description": "ComputeResources represents container computer resources requests or limits.", - "type": "object", - "properties": { - "cpu_m": { - "description": "CPUs in milliCPUs; 1000m = 1 vCPU.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "memory_bytes": { - "description": "Memory in bytes.", - "type": "string", - "format": "int64", - "x-order": 1 - } - }, - "x-order": 0 - } - }, - "x-order": 5 - } - }, - "x-order": 2 - }, - "expose": { - "description": "Make DB cluster accessible outside of K8s cluster.", - "type": "boolean", - "x-order": 3 - }, - "internet_facing": { - "description": "Make DB cluster accessible via public internet.", - "type": "boolean", - "x-order": 4 - }, - "source_ranges": { - "description": "Apply IP source ranges against the cluster.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 5 - }, - "template": { - "type": "object", - "properties": { - "name": { - "description": "Template CR name.", - "type": "string", - "x-order": 0 - }, - "kind": { - "description": "Template CR kind.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 6 - } - } - } - } - ], - "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/DBaaS/PXCClusters/GetCredentials": { - "post": { - "tags": [ - "PXCClusters" - ], - "summary": "GetPXCClusterCredentials returns a PXC cluster credentials by cluster name.", - "operationId": "GetPXCClusterCredentials", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - }, - "name": { - "description": "PXC cluster name.", - "type": "string", - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "connection_credentials": { - "description": "PXCClusterConnectionCredentials is cluster connection credentials.", - "type": "object", - "properties": { - "username": { - "description": "PXC username.", - "type": "string", - "x-order": 0 - }, - "password": { - "description": "PXC password.", - "type": "string", - "x-order": 1 - }, - "host": { - "description": "PXC host.", - "type": "string", - "x-order": 2 - }, - "port": { - "description": "PXC port.", - "type": "integer", - "format": "int32", - "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/DBaaS/Secrets/List": { - "post": { - "tags": [ - "DBClusters" - ], - "summary": "ListSecrets returns a list of secrets from k8s", - "operationId": "ListSecrets", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "secrets": { - "description": "Secret list.", - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "title": "Name of a secret", - "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/management/DBaaS/Templates/List": { - "post": { - "tags": [ - "Templates" - ], - "summary": "ListTemplates returns a list of all registered templates.", - "operationId": "ListTemplates", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "kubernetes_cluster_name": { - "description": "Kubernetes cluster name.", - "type": "string", - "x-order": 0 - }, - "cluster_type": { - "description": "DBClusterType represents database cluster type.\n\n - DB_CLUSTER_TYPE_INVALID: DB_CLUSTER_TYPE_INVALID represents unknown cluster type.\n - DB_CLUSTER_TYPE_PXC: DB_CLUSTER_TYPE_PXC represents pxc cluster type.\n - DB_CLUSTER_TYPE_PSMDB: DB_CLUSTER_TYPE_PSMDB represents psmdb cluster type.", - "type": "string", - "default": "DB_CLUSTER_TYPE_INVALID", - "enum": [ - "DB_CLUSTER_TYPE_INVALID", - "DB_CLUSTER_TYPE_PXC", - "DB_CLUSTER_TYPE_PSMDB" - ], - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "templates": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "description": "Template CR name.", - "type": "string", - "x-order": 0 - }, - "kind": { - "description": "Template CR kind.", - "type": "string", - "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/management/External/Add": { - "post": { - "description": "Adds external service and adds external exporter. It automatically adds a service to inventory, which is running on provided \"node_id\", then adds an \"external exporter\" agent to inventory, which is running on provided \"runs_on_node_id\".", - "tags": [ - "External" - ], - "summary": "Add External Service", - "operationId": "AddExternal", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "runs_on_node_id": { - "description": "Node identifier on which an external exporter is been running.\nruns_on_node_id always should 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_INVALID", - "enum": [ - "NODE_TYPE_INVALID", - "GENERIC_NODE", - "CONTAINER_NODE", - "REMOTE_NODE", - "REMOTE_RDS_NODE", - "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 - }, - "node_id": { - "description": "Node identifier on which an external service is been running.\nnode_id always should 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.", - "type": "string", - "default": "AUTO", - "enum": [ - "AUTO", - "PULL", - "PUSH" - ], - "x-order": 16 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 17 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "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 - } - } - } - }, - "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/HAProxy/Add": { - "post": { - "description": "Adds HAProxy service and external exporter. It automatically adds a service to inventory, which is running on the provided \"node_id\", then adds an \"external exporter\" agent to the inventory.", - "tags": [ - "HAProxy" - ], - "summary": "Add HAProxy", - "operationId": "AddHAProxy", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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_INVALID", - "enum": [ - "NODE_TYPE_INVALID", - "GENERIC_NODE", - "CONTAINER_NODE", - "REMOTE_NODE", - "REMOTE_RDS_NODE", - "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.", - "type": "string", - "default": "AUTO", - "enum": [ - "AUTO", - "PULL", - "PUSH" - ], - "x-order": 14 - }, - "skip_connection_check": { - "description": "Skip connection check.", - "type": "boolean", - "x-order": 15 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "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 - } - } - } - }, - "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/MongoDB/Add": { - "post": { - "description": "Adds MongoDB Service and starts several Agents. It automatically adds a service to inventory, which is running on the provided \"node_id\", then adds \"mongodb_exporter\", and \"qan_mongodb_profiler\" agents with the provided \"pmm_agent_id\" and other parameters.", - "tags": [ - "MongoDB" - ], - "summary": "Add MongoDB", - "operationId": "AddMongoDB", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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_INVALID", - "enum": [ - "NODE_TYPE_INVALID", - "GENERIC_NODE", - "CONTAINER_NODE", - "REMOTE_NODE", - "REMOTE_RDS_NODE", - "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.\n\nDisable query examples.\n bool disable_query_examples = 16; TODO https://jira.percona.com/browse/PMM-4650", - "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.", - "type": "string", - "default": "AUTO", - "enum": [ - "AUTO", - "PULL", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 30 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 31 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "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.\n\nStatus fields below.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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).\n\nTrue if query examples are disabled.\n bool query_examples_disabled = 8; TODO https://jira.percona.com/browse/PMM-4650", - "type": "integer", - "format": "int32", - "x-order": 7 - }, - "custom_labels": { - "description": "Custom user-assigned labels.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 8 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 9 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 10 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 11 - } - }, - "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/management/MySQL/Add": { - "post": { - "description": "Adds MySQL Service and starts several Agents. It automatically adds a service to inventory, which is running on the provided \"node_id\", then adds \"mysqld_exporter\", and \"qan_mysql_perfschema\" agents with the provided \"pmm_agent_id\" and other parameters.", - "tags": [ - "MySQL" - ], - "summary": "Add MySQL", - "operationId": "AddMySQL", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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_INVALID", - "enum": [ - "NODE_TYPE_INVALID", - "GENERIC_NODE", - "CONTAINER_NODE", - "REMOTE_NODE", - "REMOTE_RDS_NODE", - "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.", - "type": "string", - "default": "AUTO", - "enum": [ - "AUTO", - "PULL", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 30 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 31 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "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.\n\nStatus fields below.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 13 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 14 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 15 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 16 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 17 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 18 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "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 - }, - "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": 20 - } - }, - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 14 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 15 - }, - "process_exec_path": { - "type": "string", - "title": "mod tidy", - "x-order": 16 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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 - } - } - } - }, - "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/Node/Get": { - "post": { - "description": "Returns a single Node by ID.", - "tags": [ - "MgmtNode" - ], - "summary": "Get Node", - "operationId": "GetNodeMixin12", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "node_id": { - "description": "Unique Node identifier.", - "type": "string", - "x-order": 0 - } - } - } - } - ], - "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_INVALID: Invalid status.\n - UP: The node is up.\n - DOWN: The node is down.\n - UNKNOWN: The node's status cannot be known (e.g. there are no metrics yet).", - "type": "string", - "default": "STATUS_INVALID", - "enum": [ - "STATUS_INVALID", - "UP", - "DOWN", - "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 - } - } - } - } - } - } - }, - "/v1/management/Node/List": { - "post": { - "description": "Returns a filtered list of Nodes.", - "tags": [ - "MgmtNode" - ], - "summary": "List Nodes", - "operationId": "ListNodesMixin12", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "node_type": { - "description": "NodeType describes supported Node types.", - "type": "string", - "default": "NODE_TYPE_INVALID", - "enum": [ - "NODE_TYPE_INVALID", - "GENERIC_NODE", - "CONTAINER_NODE", - "REMOTE_NODE", - "REMOTE_RDS_NODE", - "REMOTE_AZURE_DATABASE_NODE" - ], - "x-order": 0 - } - } - } - } - ], - "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_INVALID: Invalid status.\n - UP: The node is up.\n - DOWN: The node is down.\n - UNKNOWN: The node's status cannot be known (e.g. there are no metrics yet).", - "type": "string", - "default": "STATUS_INVALID", - "enum": [ - "STATUS_INVALID", - "UP", - "DOWN", - "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 - } - } - } - } - } - } - }, - "/v1/management/Node/Register": { - "post": { - "description": "Registers a new Node and pmm-agent.", - "tags": [ - "Node" - ], - "summary": "Register 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_INVALID", - "enum": [ - "NODE_TYPE_INVALID", - "GENERIC_NODE", - "CONTAINER_NODE", - "REMOTE_NODE", - "REMOTE_RDS_NODE", - "REMOTE_AZURE_DATABASE_NODE" - ], - "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 - }, - "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.", - "type": "string", - "default": "AUTO", - "enum": [ - "AUTO", - "PULL", - "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.\n\nStatus fields below.", - "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/PostgreSQL/Add": { - "post": { - "description": "Adds PostgreSQL Service and starts postgres exporter. It automatically adds a service to inventory, which is running on provided \"node_id\", then adds \"postgres_exporter\" with provided \"pmm_agent_id\" and other parameters.", - "tags": [ - "PostgreSQL" - ], - "summary": "Add PostgreSQL", - "operationId": "AddPostgreSQL", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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_INVALID", - "enum": [ - "NODE_TYPE_INVALID", - "GENERIC_NODE", - "CONTAINER_NODE", - "REMOTE_NODE", - "REMOTE_RDS_NODE", - "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.", - "type": "string", - "default": "AUTO", - "enum": [ - "AUTO", - "PULL", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "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 - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 10 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 10 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 11 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 12 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 13 - } - }, - "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/ProxySQL/Add": { - "post": { - "description": "Adds ProxySQL Service and starts several Agents. It automatically adds a service to inventory, which is running on provided \"node_id\", then adds \"proxysql_exporter\" with provided \"pmm_agent_id\" and other parameters.", - "tags": [ - "ProxySQL" - ], - "summary": "Add ProxySQL", - "operationId": "AddProxySQL", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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_INVALID", - "enum": [ - "NODE_TYPE_INVALID", - "GENERIC_NODE", - "CONTAINER_NODE", - "REMOTE_NODE", - "REMOTE_RDS_NODE", - "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.", - "type": "string", - "default": "AUTO", - "enum": [ - "AUTO", - "PULL", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 20 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "x-order": 21 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "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.\n\nStatus fields below.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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 - } - } - } - }, - "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/RDS/Add": { - "post": { - "description": "Adds RDS instance.", - "tags": [ - "RDS" - ], - "summary": "Add RDS", - "operationId": "AddRDS", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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_INVALID", - "enum": [ - "DISCOVER_RDS_ENGINE_INVALID", - "DISCOVER_RDS_MYSQL", - "DISCOVER_RDS_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.", - "type": "string", - "default": "AUTO", - "enum": [ - "AUTO", - "PULL", - "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 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 5 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 6 - }, - "listen_port": { - "description": "Listen port for scraping metrics (the same for several configurations).\n\nMetric collections flags below.", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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.\n\nStatus fields below.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 13 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 14 - }, - "listen_port": { - "description": "Listen port for scraping metrics.", - "type": "integer", - "format": "int64", - "x-order": 15 - }, - "tablestats_group_disabled": { - "description": "True if tablestats group collectors are currently disabled.", - "type": "boolean", - "x-order": 16 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 17 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 18 - }, - "expose_exporter": { - "type": "boolean", - "title": "Optionally expose the exporter process on all public interfaces", - "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 - }, - "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": 20 - } - }, - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 14 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 15 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 16 - } - }, - "x-order": 4 - }, - "table_count": { - "description": "Actual table count at the moment of adding.", - "type": "integer", - "format": "int32", - "x-order": 5 - }, - "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": 6 - }, - "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 - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "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": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "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": 7 - }, - "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.\n\nStatus fields below.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 9 - }, - "status": { - "description": "AgentStatus represents actual Agent status.\n\n - STARTING: Agent is starting.\n - INITIALIZATION_ERROR: Agent encountered error when starting.\n - RUNNING: Agent is running.\n - WAITING: Agent encountered error when running and will be restarted automatically soon.\n - STOPPING: Agent is stopping.\n - DONE: Agent finished.\n - UNKNOWN: Agent is not connected, we don't know anything about it's state.", - "type": "string", - "default": "AGENT_STATUS_INVALID", - "enum": [ - "AGENT_STATUS_INVALID", - "STARTING", - "INITIALIZATION_ERROR", - "RUNNING", - "WAITING", - "STOPPING", - "DONE", - "UNKNOWN" - ], - "x-order": 10 - }, - "process_exec_path": { - "description": "Path to exec process.", - "type": "string", - "x-order": 11 - }, - "log_level": { - "type": "string", - "title": "Log level for exporters", - "default": "auto", - "enum": [ - "auto", - "fatal", - "error", - "warn", - "info", - "debug" - ], - "x-order": 12 - } - }, - "x-order": 8 - } - } - } - }, - "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/RDS/Discover": { - "post": { - "description": "Discovers RDS instances.", - "tags": [ - "RDS" - ], - "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_INVALID", - "enum": [ - "DISCOVER_RDS_ENGINE_INVALID", - "DISCOVER_RDS_MYSQL", - "DISCOVER_RDS_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/management/Role/Assign": { - "post": { - "description": "Assigns Roles replaces all existing Roles for a User.", - "tags": [ - "Role" - ], - "summary": "Assign Roles", - "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/management/Role/Create": { - "post": { - "description": "Creates a new Role.", - "tags": [ - "Role" - ], - "summary": "Create 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/management/Role/Delete": { - "post": { - "description": "Deletes a Role.", - "tags": [ - "Role" - ], - "summary": "Delete Role", - "operationId": "DeleteRole", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "role_id": { - "type": "integer", - "format": "int64", - "x-order": 0 - }, - "replacement_role_id": { - "description": "Role ID to be used as a replacement for the role. Additional logic applies.", - "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/management/Role/Get": { - "post": { - "description": "Retrieves a Role by ID.", - "tags": [ - "Role" - ], - "summary": "Get Role", - "operationId": "GetRole", - "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", - "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 - } - } - } - } - } - } - }, - "/v1/management/Role/List": { - "post": { - "description": "Lists Roles.", - "tags": [ - "Role" - ], - "summary": "List Roles", - "operationId": "ListRoles", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } - } - ], - "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 - } - } - } - } - } - } - }, - "/v1/management/Role/SetDefault": { - "post": { - "description": "Configures default Role assigned to Users.", - "tags": [ - "Role" - ], - "summary": "Set 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/management/Role/Update": { - "post": { - "description": "Updates an existing Role.", - "tags": [ - "Role" - ], - "summary": "Update Role", - "operationId": "UpdateRole", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "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 - } - } - } - } - ], - "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/SecurityChecks/Change": { - "post": { - "description": "Enables/disables Security Thread Tool checks or changes their interval by names.", - "tags": [ - "SecurityChecks" - ], - "summary": "Change Security Checks", - "operationId": "ChangeSecurityChecks", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "params": { - "type": "array", - "items": { - "description": "ChangeSecurityCheckParams 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-order": 1 - }, - "disable": { - "type": "boolean", - "x-order": 2 - }, - "interval": { - "description": "SecurityCheckInterval represents possible execution interval values for checks.", - "type": "string", - "default": "SECURITY_CHECK_INTERVAL_INVALID", - "enum": [ - "SECURITY_CHECK_INTERVAL_INVALID", - "STANDARD", - "FREQUENT", - "RARE" - ], - "x-order": 3 - } - } - }, - "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/management/SecurityChecks/FailedChecks": { - "post": { - "description": "Returns the latest check results for a given service.", - "tags": [ - "SecurityChecks" - ], - "summary": "Get Failed Checks", - "operationId": "GetFailedChecks", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "service_id": { - "type": "string", - "x-order": 0 - }, - "page_params": { - "description": "PageParams represents page request parameters for pagination.", - "type": "object", - "properties": { - "page_size": { - "description": "Maximum number of results per page.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "index": { - "description": "Index of the requested page, starts from 0.", - "type": "integer", - "format": "int32", - "x-order": 1 - } - }, - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "results": { - "type": "array", - "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_INVALID", - "enum": [ - "SEVERITY_INVALID", - "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 STT 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 - }, - "alert_id": { - "type": "string", - "title": "ID of the check result as stored in AlertManager", - "x-order": 8 - }, - "silenced": { - "type": "boolean", - "title": "Silence status of the check result", - "x-order": 9 - } - } - }, - "x-order": 0 - }, - "page_totals": { - "description": "PageTotals represents total values for pagination.", - "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 - } - }, - "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/management/SecurityChecks/GetCheckResults": { - "post": { - "description": "Returns Security Thread Tool's latest checks results.", - "tags": [ - "SecurityChecks" - ], - "summary": "Get Security Check Results", - "operationId": "GetSecurityCheckResults", - "deprecated": true, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "results": { - "type": "array", - "items": { - "description": "SecurityCheckResult represents the check result returned from pmm-managed after running the check.", - "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_INVALID", - "enum": [ - "SEVERITY_INVALID", - "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 STT check.", - "type": "string", - "x-order": 4 - }, - "service_name": { - "description": "Name of the monitored service on which the check ran.", - "type": "string", - "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/management/SecurityChecks/List": { - "post": { - "description": "Returns a list of checks available to the user.", - "tags": [ - "SecurityChecks" - ], - "summary": "List advisor checks", - "operationId": "ListSecurityChecks", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "checks": { - "type": "array", - "items": { - "description": "SecurityCheck contains check name and status.", - "type": "object", - "properties": { - "name": { - "description": "Machine-readable name (ID) that is used in expression.", - "type": "string", - "x-order": 0 - }, - "disabled": { - "description": "True if that check is disabled.", - "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": "SecurityCheckInterval represents possible execution interval values for checks.", - "type": "string", - "default": "SECURITY_CHECK_INTERVAL_INVALID", - "enum": [ - "SECURITY_CHECK_INTERVAL_INVALID", - "STANDARD", - "FREQUENT", - "RARE" - ], - "x-order": 4 - }, - "family": { - "type": "string", - "default": "ADVISOR_CHECK_FAMILY_INVALID", - "enum": [ - "ADVISOR_CHECK_FAMILY_INVALID", - "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/management/SecurityChecks/ListFailedServices": { - "post": { - "description": "Returns a list of services with failed checks and a summary of check results.", - "tags": [ - "SecurityChecks" - ], - "summary": "List Failed Services", - "operationId": "ListFailedServices", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } - } - ], - "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/management/SecurityChecks/Start": { - "post": { - "description": "Executes Security Thread Tool checks and returns when all checks are executed. All available checks will be started if check names aren't specified.", - "tags": [ - "SecurityChecks" - ], - "summary": "Start Security Checks", - "operationId": "StartSecurityChecks", - "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/management/SecurityChecks/ToggleCheckAlert": { - "post": { - "description": "Silence/Unsilence alerts for a specific check result.", - "tags": [ - "SecurityChecks" - ], - "summary": "Toggle Check Alert", - "operationId": "ToggleCheckAlert", - "deprecated": true, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "alert_id": { - "description": "Alert ID of the check result.", - "type": "string", - "x-order": 0 - }, - "silence": { - "description": "Silence the check result if set to true, unsilence otherwise.", - "type": "boolean", - "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/management/Service/List": { - "post": { - "description": "Returns a filtered list of Services.", - "tags": [ - "MgmtService" - ], - "summary": "List Services", - "operationId": "ListServicesMixin13", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "node_id": { - "description": "Return only Services running on that Node.", - "type": "string", - "x-order": 0 - }, - "service_type": { - "description": "ServiceType describes supported Service types.", - "type": "string", - "default": "SERVICE_TYPE_INVALID", - "enum": [ - "SERVICE_TYPE_INVALID", - "MYSQL_SERVICE", - "MONGODB_SERVICE", - "POSTGRESQL_SERVICE", - "PROXYSQL_SERVICE", - "HAPROXY_SERVICE", - "EXTERNAL_SERVICE" - ], - "x-order": 1 - }, - "external_group": { - "description": "Return only services in this external group.", - "type": "string", - "x-order": 2 - } - } - } - } - ], - "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_INVALID: In case we don't support the db vendor yet.\n - UP: The service is up.\n - DOWN: The service is down.\n - UNKNOWN: The service's status cannot be known (e.g. there are no metrics yet).", - "type": "string", - "default": "STATUS_INVALID", - "enum": [ - "STATUS_INVALID", - "UP", - "DOWN", - "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 - } - } - } - } - } - } - }, - "/v1/management/Service/Remove": { - "post": { - "description": "Removes a Service along with Agents.", - "tags": [ - "Service" - ], - "summary": "Remove Service", - "operationId": "RemoveServiceMixin3", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "service_type": { - "description": "ServiceType describes supported Service types.", - "type": "string", - "default": "SERVICE_TYPE_INVALID", - "enum": [ - "SERVICE_TYPE_INVALID", - "MYSQL_SERVICE", - "MONGODB_SERVICE", - "POSTGRESQL_SERVICE", - "PROXYSQL_SERVICE", - "HAPROXY_SERVICE", - "EXTERNAL_SERVICE" - ], - "x-order": 0 - }, - "service_id": { - "description": "Service ID or Service Name is required.\nUnique randomly generated instance identifier.", - "type": "string", - "x-order": 1 - }, - "service_name": { - "description": "Unique across all Services user-defined name.", - "type": "string", - "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 - } - } - } - } - } - } - }, - "/v1/management/alerting/Rules/Create": { - "post": { - "tags": [ - "Alerting" - ], - "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_INVALID", - "enum": [ - "PARAM_TYPE_INVALID", - "BOOL", - "FLOAT", - "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_INVALID", - "enum": [ - "SEVERITY_INVALID", - "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_INVALID", - "enum": [ - "FILTER_TYPE_INVALID", - "MATCH", - "MISMATCH" - ], - "x-order": 0 - }, - "label": { - "type": "string", - "x-order": 1 - }, - "regexp": { - "type": "string", - "x-order": 2 - } - } - }, - "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/management/alerting/Templates/Create": { - "post": { - "tags": [ - "Alerting" - ], - "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/management/alerting/Templates/Delete": { - "post": { - "tags": [ - "Alerting" - ], - "summary": "DeleteTemplate deletes existing, previously created via API.", - "operationId": "DeleteTemplate", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "name": { - "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/management/alerting/Templates/List": { - "post": { - "tags": [ - "Alerting" - ], - "summary": "ListTemplates returns a list of all collected alert rule templates.", - "operationId": "ListTemplatesMixin6", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "reload": { - "description": "If true, template files will be re-read from disk.", - "type": "boolean", - "x-order": 0 - }, - "page_params": { - "description": "PageParams represents page request parameters for pagination.", - "type": "object", - "properties": { - "page_size": { - "description": "Maximum number of results per page.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "index": { - "description": "Index of the requested page, starts from 0.", - "type": "integer", - "format": "int32", - "x-order": 1 - } - }, - "x-order": 1 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "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_INVALID: Invalid, unknown or absent.\n - PERCENTAGE: %\n - SECONDS: s", - "type": "string", - "default": "PARAM_UNIT_INVALID", - "enum": [ - "PARAM_UNIT_INVALID", - "PERCENTAGE", - "SECONDS" - ], - "x-order": 2 - }, - "type": { - "description": "ParamType represents template parameter type.", - "type": "string", - "default": "PARAM_TYPE_INVALID", - "enum": [ - "PARAM_TYPE_INVALID", - "BOOL", - "FLOAT", - "STRING" - ], - "x-order": 3 - }, - "bool": { - "description": "BoolParamDefinition represents boolean parameter's default value.", - "type": "object", - "properties": { - "default": { - "description": "BooleanFlag represent a command to set some boolean property to true,\nto false, or avoid changing that property.\n\n - DO_NOT_CHANGE: Do not change boolean property. Default value.\n - TRUE: True.\n - FALSE: False.", - "type": "string", - "default": "DO_NOT_CHANGE", - "enum": [ - "DO_NOT_CHANGE", - "TRUE", - "FALSE" - ], - "x-order": 0 - } - }, - "x-order": 4 - }, - "float": { - "description": "FloatParamDefinition represents float parameter's default value and valid range.", - "type": "object", - "properties": { - "has_default": { - "description": "True if default value is set.", - "type": "boolean", - "x-order": 0 - }, - "default": { - "description": "Default value if has_default is true.", - "type": "number", - "format": "double", - "x-order": 1 - }, - "has_min": { - "description": "True if minimal valid value is set.", - "type": "boolean", - "x-order": 2 - }, - "min": { - "description": "Minimal valid value (inclusive) if has_min is true.", - "type": "number", - "format": "double", - "x-order": 3 - }, - "has_max": { - "description": "True if maximal valid value is set.", - "type": "boolean", - "x-order": 4 - }, - "max": { - "description": "Maximal valid value (inclusive) if has_max is true.", - "type": "number", - "format": "double", - "x-order": 5 - } - }, - "x-order": 5 - }, - "string": { - "description": "StringParamDefinition represents string parameter's default value.", - "type": "object", - "properties": { - "has_default": { - "description": "True if default value is set.", - "type": "boolean", - "x-order": 0 - }, - "default": { - "description": "Default value if has_default is true.", - "type": "string", - "x-order": 1 - } - }, - "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_INVALID", - "enum": [ - "SEVERITY_INVALID", - "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 - BUILT_IN: Template that is shipped with PMM Server releases.\n - SAAS: Template that is downloaded from check.percona.com.\n - USER_FILE: Templated loaded from user-suplied file.\n - USER_API: Templated created via API.", - "type": "string", - "default": "TEMPLATE_SOURCE_INVALID", - "enum": [ - "TEMPLATE_SOURCE_INVALID", - "BUILT_IN", - "SAAS", - "USER_FILE", - "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": 0 - }, - "totals": { - "description": "PageTotals represents total values for pagination.", - "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 - } - }, - "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/management/alerting/Templates/Update": { - "post": { - "tags": [ - "Alerting" - ], - "summary": "UpdateTemplate updates existing template, previously created via API.", - "operationId": "UpdateTemplate", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "name": { - "description": "Machine-readable name (ID).", - "type": "string", - "x-order": 0 - }, - "yaml": { - "description": "YAML template file content.", - "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/management/azure/AzureDatabase/Add": { - "post": { - "tags": [ - "AzureDatabase" - ], - "summary": "AddAzureDatabase adds Azure Database instance.", - "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_INVALID", - "enum": [ - "DISCOVER_AZURE_DATABASE_TYPE_INVALID", - "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": { - "error": { - "type": "string", - "x-order": 0 - }, - "code": { - "type": "integer", - "format": "int32", - "x-order": 1 - }, - "message": { - "type": "string", - "x-order": 2 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "x-order": 0 - }, - "value": { - "type": "string", - "format": "byte", - "x-order": 1 - } - } - }, - "x-order": 3 - } - } - } - } - } - } - }, - "/v1/management/azure/AzureDatabase/Discover": { - "post": { - "tags": [ - "AzureDatabase" - ], - "summary": "DiscoverAzureDatabase discovers Azure Database for MySQL, MariaDB and PostgreSQL Server instances.", - "operationId": "DiscoverAzureDatabase", - "parameters": [ - { - "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_INVALID", - "enum": [ - "DISCOVER_AZURE_DATABASE_TYPE_INVALID", - "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": { - "error": { - "type": "string", - "x-order": 0 - }, - "code": { - "type": "integer", - "format": "int32", - "x-order": 1 - }, - "message": { - "type": "string", - "x-order": 2 - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "x-order": 0 - }, - "value": { - "type": "string", - "format": "byte", - "x-order": 1 - } - } - }, - "x-order": 3 - } - } - } - } - } - } - }, - "/v1/management/backup/Artifacts/Delete": { - "post": { - "tags": [ - "Artifacts" - ], - "summary": "DeleteArtifact deletes specified artifact.", - "operationId": "DeleteArtifact", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "artifact_id": { - "description": "Machine-readable artifact ID.", - "type": "string", - "x-order": 0 - }, - "remove_files": { - "description": "Removes all the backup files associated with artifact if flag is set.", - "type": "boolean", - "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/management/backup/Artifacts/List": { - "post": { - "tags": [ - "Artifacts" - ], - "summary": "ListArtifacts returns a list of all backup artifacts.", - "operationId": "ListArtifacts", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } - } - ], - "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_INVALID", - "enum": [ - "DATA_MODEL_INVALID", - "PHYSICAL", - "LOGICAL" - ], - "x-order": 7 - }, - "status": { - "description": "BackupStatus shows the current status of execution of backup.", - "type": "string", - "default": "BACKUP_STATUS_INVALID", - "enum": [ - "BACKUP_STATUS_INVALID", - "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_INVALID", - "enum": [ - "BACKUP_MODE_INVALID", - "SNAPSHOT", - "INCREMENTAL", - "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/management/backup/Artifacts/ListPITRTimeranges": { - "post": { - "tags": [ - "Artifacts" - ], - "summary": "ListPitrTimeranges list the available MongoDB PITR timeranges in a given backup location", - "operationId": "ListPitrTimeranges", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "artifact_id": { - "description": "Artifact ID represents artifact whose location has PITR timeranges to be retrieved.", - "type": "string", - "x-order": 0 - } - } - } - } - ], - "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/management/backup/Backups/ChangeScheduled": { - "post": { - "tags": [ - "Backups" - ], - "summary": "ChangeScheduledBackup changes existing 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-order": 1 - }, - "cron_expression": { - "description": "How often backup should be run in cron format.", - "type": "string", - "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-order": 4 - }, - "description": { - "description": "Human-readable description.", - "type": "string", - "x-order": 5 - }, - "retry_interval": { - "description": "Delay between each retry. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 6 - }, - "retries": { - "description": "How many times to retry a failed backup before giving up.", - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "retention": { - "description": "How many artifacts keep. 0 - unlimited.", - "type": "integer", - "format": "int64", - "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/management/backup/Backups/GetLogs": { - "post": { - "tags": [ - "Backups" - ], - "summary": "GetLogs returns logs from the underlying tools for a backup/restore job.", - "operationId": "GetLogsMixin7", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "artifact_id": { - "type": "string", - "x-order": 0 - }, - "offset": { - "type": "integer", - "format": "int64", - "x-order": 1 - }, - "limit": { - "type": "integer", - "format": "int64", - "x-order": 2 - }, - "restore_id": { - "type": "string", - "x-order": 3 - } - } - } - } - ], - "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/management/backup/Backups/ListArtifactCompatibleServices": { - "post": { - "tags": [ - "Backups" - ], - "summary": "ListArtifactCompatibleServices lists compatible services for restoring a backup.", - "operationId": "ListArtifactCompatibleServices", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "artifact_id": { - "description": "Artifact id used to determine restore compatibility.", - "type": "string", - "x-order": 0 - } - } - } - } - ], - "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/management/backup/Backups/ListScheduled": { - "post": { - "tags": [ - "Backups" - ], - "summary": "ListScheduledBackups returns all scheduled backups.", - "operationId": "ListScheduledBackups", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } - } - ], - "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 - }, - "cron_expression": { - "description": "How often backup will be run in cron format.", - "type": "string", - "x-order": 5 - }, - "start_time": { - "description": "First backup wouldn't happen before this time.", - "type": "string", - "format": "date-time", - "x-order": 6 - }, - "name": { - "description": "Artifact name.", - "type": "string", - "x-order": 7 - }, - "description": { - "description": "Description.", - "type": "string", - "x-order": 8 - }, - "retry_interval": { - "description": "Delay between each retry. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 9 - }, - "retries": { - "description": "How many times to retry a failed backup before giving up.", - "type": "integer", - "format": "int64", - "x-order": 10 - }, - "enabled": { - "description": "If scheduling is enabled.", - "type": "boolean", - "x-order": 11 - }, - "data_model": { - "description": "DataModel is a model used for performing a backup.", - "type": "string", - "default": "DATA_MODEL_INVALID", - "enum": [ - "DATA_MODEL_INVALID", - "PHYSICAL", - "LOGICAL" - ], - "x-order": 12 - }, - "vendor": { - "description": "Database vendor e.g. PostgreSQL, MongoDB, MySQL.", - "type": "string", - "x-order": 13 - }, - "last_run": { - "description": "Last run.", - "type": "string", - "format": "date-time", - "x-order": 14 - }, - "next_run": { - "description": "Next run.", - "type": "string", - "format": "date-time", - "x-order": 15 - }, - "retention": { - "description": "How many artifacts keep. 0 - unlimited.", - "type": "integer", - "format": "int64", - "x-order": 16 - }, - "mode": { - "description": "BackupMode specifies backup mode.", - "type": "string", - "default": "BACKUP_MODE_INVALID", - "enum": [ - "BACKUP_MODE_INVALID", - "SNAPSHOT", - "INCREMENTAL", - "PITR" - ], - "x-order": 17 - }, - "folder": { - "description": "Folder on storage for artifact.", - "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 - } - } - } - } - } - } - }, - "/v1/management/backup/Backups/RemoveScheduled": { - "post": { - "tags": [ - "Backups" - ], - "summary": "RemoveScheduledBackup removes existing scheduled backup.", - "operationId": "RemoveScheduledBackup", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "scheduled_backup_id": { - "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/management/backup/Backups/Restore": { - "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": [ - "Backups" - ], - "summary": "RestoreBackup requests the backup restore.", - "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/management/backup/Backups/Schedule": { - "post": { - "tags": [ - "Backups" - ], - "summary": "ScheduleBackup schedules repeated 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 - }, - "cron_expression": { - "description": "How often backup should be run in cron format.", - "type": "string", - "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-order": 4 - }, - "description": { - "description": "Human-readable description.", - "type": "string", - "x-order": 5 - }, - "retry_interval": { - "description": "Delay between each retry. Should have a suffix in JSON: 1s, 1m, 1h.", - "type": "string", - "x-order": 6 - }, - "retries": { - "description": "How many times to retry a failed backup before giving up.", - "type": "integer", - "format": "int64", - "x-order": 7 - }, - "enabled": { - "description": "If scheduling is enabled.", - "type": "boolean", - "x-order": 8 - }, - "retention": { - "description": "How many artifacts keep. 0 - unlimited.", - "type": "integer", - "format": "int64", - "x-order": 9 - }, - "mode": { - "description": "BackupMode specifies backup mode.", - "type": "string", - "default": "BACKUP_MODE_INVALID", - "enum": [ - "BACKUP_MODE_INVALID", - "SNAPSHOT", - "INCREMENTAL", - "PITR" - ], - "x-order": 10 - }, - "data_model": { - "description": "DataModel is a model used for performing a backup.", - "type": "string", - "default": "DATA_MODEL_INVALID", - "enum": [ - "DATA_MODEL_INVALID", - "PHYSICAL", - "LOGICAL" - ], - "x-order": 11 - }, - "folder": { - "description": "Folder on storage for artifact.", - "type": "string", - "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/management/backup/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": [ - "Backups" - ], - "summary": "StartBackup request backup specified service to location.", - "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_INVALID", - "enum": [ - "DATA_MODEL_INVALID", - "PHYSICAL", - "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/management/backup/Locations/Add": { - "post": { - "tags": [ - "Locations" - ], - "summary": "AddLocation adds 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/management/backup/Locations/Change": { - "post": { - "tags": [ - "Locations" - ], - "summary": "ChangeLocation changes backup location.", - "operationId": "ChangeLocation", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "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", - "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 - } - } - } - } - ], - "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/backup/Locations/List": { - "post": { - "tags": [ - "Locations" - ], - "summary": "ListLocations returns a list of all backup locations.", - "operationId": "ListLocations", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } - } - ], - "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 - } - } - } - } - } - } - }, - "/v1/management/backup/Locations/Remove": { - "post": { - "tags": [ - "Locations" - ], - "summary": "RemoveLocation removes existing backup location.", - "operationId": "RemoveLocation", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "location_id": { - "description": "Machine-readable ID.", - "type": "string", - "x-order": 0 - }, - "force": { - "type": "boolean", - "title": "Force mode", - "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/management/backup/Locations/TestConfig": { - "post": { - "tags": [ - "Locations" - ], - "summary": "TestLocationConfig tests 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/management/backup/RestoreHistory/List": { - "post": { - "tags": [ - "RestoreHistory" - ], - "summary": "ListRestoreHistory returns a list of all backup restore history items.", - "operationId": "ListRestoreHistory", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } - } - ], - "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_INVALID", - "enum": [ - "DATA_MODEL_INVALID", - "PHYSICAL", - "LOGICAL" - ], - "x-order": 8 - }, - "status": { - "description": "RestoreStatus shows the current status of execution of restore.", - "type": "string", - "default": "RESTORE_STATUS_INVALID", - "enum": [ - "RESTORE_STATUS_INVALID", - "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/management/dump/Dumps/Delete": { - "post": { - "tags": [ - "Dumps" - ], - "summary": "DeleteDump deletes specified pmm dump.", - "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/management/dump/Dumps/GetLogs": { - "post": { - "tags": [ - "Dumps" - ], - "summary": "GetLogs returns logs from pmm-dump tool.", - "operationId": "GetDumpLogs", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "dump_id": { - "type": "string", - "x-order": 0 - }, - "offset": { - "type": "integer", - "format": "int64", - "x-order": 1 - }, - "limit": { - "type": "integer", - "format": "int64", - "x-order": 2 - } - } - } - } - ], - "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/management/dump/Dumps/List": { - "post": { - "tags": [ - "Dumps" - ], - "summary": "ListDumps returns a list of all pmm dumps.", - "operationId": "ListDumps", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } - } - ], - "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_INVALID", - "enum": [ - "DUMP_STATUS_INVALID", - "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/management/dump/Dumps/Start": { - "post": { - "tags": [ - "Dumps" - ], - "summary": "StartDump request creates pmm 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/management/dump/Dumps/Upload": { - "post": { - "tags": [ - "Dumps" - ], - "summary": "UploadDump uploads selected dumps to remote server.", - "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/management/ia/Alerts/List": { - "post": { - "tags": [ - "Alerts" - ], - "summary": "ListAlerts returns a list of all Alerts.", - "operationId": "ListAlerts", - "deprecated": true, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "page_params": { - "description": "PageParams represents page request parameters for pagination.", - "type": "object", - "properties": { - "page_size": { - "description": "Maximum number of results per page.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "index": { - "description": "Index of the requested page, starts from 0.", - "type": "integer", - "format": "int32", - "x-order": 1 - } - }, - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "alerts": { - "type": "array", - "items": { - "description": "Alert represents Alert.", - "type": "object", - "properties": { - "alert_id": { - "description": "ID.", - "type": "string", - "x-order": 0 - }, - "summary": { - "description": "Human-readable summary.", - "type": "string", - "x-order": 1 - }, - "severity": { - "description": "Severity represents severity level of the check result or alert.", - "type": "string", - "default": "SEVERITY_INVALID", - "enum": [ - "SEVERITY_INVALID", - "SEVERITY_EMERGENCY", - "SEVERITY_ALERT", - "SEVERITY_CRITICAL", - "SEVERITY_ERROR", - "SEVERITY_WARNING", - "SEVERITY_NOTICE", - "SEVERITY_INFO", - "SEVERITY_DEBUG" - ], - "x-order": 2 - }, - "status": { - "description": "Status represents Alert Rule's and Alert's combined status.\n\n - CLEAR: No alert.\n - PENDING: Pending, but not triggering alert.\n - TRIGGERING: Triggering (firing) alert.\n - SILENCED: Silenced alert.", - "type": "string", - "default": "STATUS_INVALID", - "enum": [ - "STATUS_INVALID", - "CLEAR", - "PENDING", - "TRIGGERING", - "SILENCED" - ], - "x-order": 3 - }, - "labels": { - "description": "Combined labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 4 - }, - "rule": { - "description": "Rule represents Alert Rule.", - "type": "object", - "properties": { - "rule_id": { - "description": "Rule ID.", - "type": "string", - "x-order": 0 - }, - "name": { - "description": "Rule name.", - "type": "string", - "x-order": 1 - }, - "summary": { - "description": "Rule human-readable summary.", - "type": "string", - "x-order": 2 - }, - "template_name": { - "description": "Template used for this rule.", - "type": "string", - "x-order": 3 - }, - "disabled": { - "description": "True if that rule is disabled.", - "type": "boolean", - "x-order": 4 - }, - "expr_template": { - "description": "Expression template.", - "type": "string", - "x-order": 5 - }, - "expr": { - "description": "Expression filled with parameters.", - "type": "string", - "x-order": 6 - }, - "params_definitions": { - "description": "Expression 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_INVALID: Invalid, unknown or absent.\n - PERCENTAGE: %\n - SECONDS: s", - "type": "string", - "default": "PARAM_UNIT_INVALID", - "enum": [ - "PARAM_UNIT_INVALID", - "PERCENTAGE", - "SECONDS" - ], - "x-order": 2 - }, - "type": { - "description": "ParamType represents template parameter type.", - "type": "string", - "default": "PARAM_TYPE_INVALID", - "enum": [ - "PARAM_TYPE_INVALID", - "BOOL", - "FLOAT", - "STRING" - ], - "x-order": 3 - }, - "bool": { - "description": "BoolParamDefinition represents boolean parameter's default value.", - "type": "object", - "properties": { - "default": { - "description": "BooleanFlag represent a command to set some boolean property to true,\nto false, or avoid changing that property.\n\n - DO_NOT_CHANGE: Do not change boolean property. Default value.\n - TRUE: True.\n - FALSE: False.", - "type": "string", - "default": "DO_NOT_CHANGE", - "enum": [ - "DO_NOT_CHANGE", - "TRUE", - "FALSE" - ], - "x-order": 0 - } - }, - "x-order": 4 - }, - "float": { - "description": "FloatParamDefinition represents float parameter's default value and valid range.", - "type": "object", - "properties": { - "has_default": { - "description": "True if default value is set.", - "type": "boolean", - "x-order": 0 - }, - "default": { - "description": "Default value if has_default is true.", - "type": "number", - "format": "double", - "x-order": 1 - }, - "has_min": { - "description": "True if minimal valid value is set.", - "type": "boolean", - "x-order": 2 - }, - "min": { - "description": "Minimal valid value (inclusive) if has_min is true.", - "type": "number", - "format": "double", - "x-order": 3 - }, - "has_max": { - "description": "True if maximal valid value is set.", - "type": "boolean", - "x-order": 4 - }, - "max": { - "description": "Maximal valid value (inclusive) if has_max is true.", - "type": "number", - "format": "double", - "x-order": 5 - } - }, - "x-order": 5 - }, - "string": { - "description": "StringParamDefinition represents string parameter's default value.", - "type": "object", - "properties": { - "has_default": { - "description": "True if default value is set.", - "type": "boolean", - "x-order": 0 - }, - "default": { - "description": "Default value if has_default is true.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 6 - } - } - }, - "x-order": 7 - }, - "params_values": { - "description": "Expression parameters values.", - "type": "array", - "items": { - "description": "ParamValue represents a single rule parameter value for List, Change and Update APIs.", - "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_INVALID", - "enum": [ - "PARAM_TYPE_INVALID", - "BOOL", - "FLOAT", - "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": 8 - }, - "default_for": { - "description": "Default for duration.", - "type": "string", - "x-order": 9 - }, - "for": { - "description": "For duration.", - "type": "string", - "x-order": 10 - }, - "default_severity": { - "description": "Severity represents severity level of the check result or alert.", - "type": "string", - "default": "SEVERITY_INVALID", - "enum": [ - "SEVERITY_INVALID", - "SEVERITY_EMERGENCY", - "SEVERITY_ALERT", - "SEVERITY_CRITICAL", - "SEVERITY_ERROR", - "SEVERITY_WARNING", - "SEVERITY_NOTICE", - "SEVERITY_INFO", - "SEVERITY_DEBUG" - ], - "x-order": 11 - }, - "severity": { - "description": "Severity represents severity level of the check result or alert.", - "type": "string", - "default": "SEVERITY_INVALID", - "enum": [ - "SEVERITY_INVALID", - "SEVERITY_EMERGENCY", - "SEVERITY_ALERT", - "SEVERITY_CRITICAL", - "SEVERITY_ERROR", - "SEVERITY_WARNING", - "SEVERITY_NOTICE", - "SEVERITY_INFO", - "SEVERITY_DEBUG" - ], - "x-order": 12 - }, - "custom_labels": { - "description": "Custom labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "labels": { - "description": "Labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 14 - }, - "annotations": { - "description": "Annotations.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 15 - }, - "filters": { - "description": "Filters.", - "type": "array", - "items": { - "description": "Filter repsents a single filter condition.", - "type": "object", - "properties": { - "type": { - "description": "FilterType represents filter matching type.\n\n - EQUAL: =\n\n!=\n NOT_EQUAL = 2;\n - REGEX: =~\n\n!~\n NOT_REGEX = 4;", - "type": "string", - "default": "FILTER_TYPE_INVALID", - "enum": [ - "FILTER_TYPE_INVALID", - "EQUAL", - "REGEX" - ], - "x-order": 0 - }, - "key": { - "type": "string", - "x-order": 1 - }, - "value": { - "type": "string", - "x-order": 2 - } - } - }, - "x-order": 16 - }, - "channels": { - "description": "Channels.", - "type": "array", - "items": { - "description": "Channel represents a single Notification Channel.", - "type": "object", - "properties": { - "channel_id": { - "description": "Machine-readable ID.", - "type": "string", - "x-order": 0 - }, - "summary": { - "description": "Short human-readable summary.", - "type": "string", - "x-order": 1 - }, - "email_config": { - "description": "EmailConfig represents email configuration.", - "type": "object", - "properties": { - "send_resolved": { - "type": "boolean", - "x-order": 0 - }, - "to": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 1 - } - }, - "x-order": 2 - }, - "pagerduty_config": { - "description": "PagerDutyConfig represents PagerDuty configuration.", - "type": "object", - "properties": { - "send_resolved": { - "type": "boolean", - "x-order": 0 - }, - "routing_key": { - "description": "The PagerDuty key for \"Events API v2\" integration type. Exactly one key should be set.", - "type": "string", - "x-order": 1 - }, - "service_key": { - "description": "The PagerDuty key for \"Prometheus\" integration type. Exactly one key should be set.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 3 - }, - "slack_config": { - "description": "SlackConfig represents Slack configuration.", - "type": "object", - "properties": { - "send_resolved": { - "type": "boolean", - "x-order": 0 - }, - "channel": { - "type": "string", - "x-order": 1 - } - }, - "x-order": 4 - }, - "webhook_config": { - "description": "WebhookConfig represents webhook configuration.", - "type": "object", - "properties": { - "send_resolved": { - "type": "boolean", - "x-order": 0 - }, - "url": { - "type": "string", - "x-order": 1 - }, - "http_config": { - "description": "HTTPConfig represents HTTP client configuration.", - "type": "object", - "properties": { - "basic_auth": { - "description": "BasicAuth represents basic HTTP auth configuration.", - "type": "object", - "properties": { - "username": { - "type": "string", - "x-order": 0 - }, - "password": { - "type": "string", - "x-order": 1 - }, - "password_file": { - "type": "string", - "x-order": 2 - } - }, - "x-order": 0 - }, - "bearer_token": { - "type": "string", - "x-order": 1 - }, - "bearer_token_file": { - "type": "string", - "x-order": 2 - }, - "tls_config": { - "type": "object", - "title": "TLSConfig represents TLS configuration for alertmanager\nhttps://prometheus.io/docs/alerting/latest/configuration/#tls_config", - "properties": { - "ca_file": { - "description": "A path to the CA certificate file to validate the server certificate with.\nca_file and ca_file_content should not be set at the same time.", - "type": "string", - "x-order": 0 - }, - "cert_file": { - "description": "A path to the certificate file for client cert authentication to the server.\ncert_file and cert_file_content should not be set at the same time.", - "type": "string", - "x-order": 1 - }, - "key_file": { - "description": "A path to the key file for client cert authentication to the server.\nkey_file and key_file_content should not be set at the same time.", - "type": "string", - "x-order": 2 - }, - "server_name": { - "description": "Name of the server.", - "type": "string", - "x-order": 3 - }, - "insecure_skip_verify": { - "description": "Disable validation of the server certificate.", - "type": "boolean", - "x-order": 4 - }, - "ca_file_content": { - "description": "CA certificate to validate the server certificate with.\nca_file and ca_file_content should not be set at the same time.", - "type": "string", - "x-order": 5 - }, - "cert_file_content": { - "description": "A certificate for client cert authentication to the server.\ncert_file and cert_file_content should not be set at the same time.", - "type": "string", - "x-order": 6 - }, - "key_file_content": { - "description": "A key for client cert authentication to the server.\nkey_file and key_file_content should not be set at the same time.", - "type": "string", - "x-order": 7 - } - }, - "x-order": 3 - }, - "proxy_url": { - "type": "string", - "x-order": 4 - } - }, - "x-order": 2 - }, - "max_alerts": { - "type": "integer", - "format": "int32", - "x-order": 3 - } - }, - "x-order": 5 - }, - "disabled": { - "description": "True if that channel is disabled.", - "type": "boolean", - "x-order": 6 - } - } - }, - "x-order": 17 - }, - "created_at": { - "description": "Rule creation time.", - "type": "string", - "format": "date-time", - "x-order": 18 - } - }, - "x-order": 5 - }, - "created_at": { - "description": "Alert creation time.", - "type": "string", - "format": "date-time", - "x-order": 6 - }, - "updated_at": { - "description": "Alert last update time.", - "type": "string", - "format": "date-time", - "x-order": 7 - } - } - }, - "x-order": 0 - }, - "totals": { - "description": "PageTotals represents total values for pagination.", - "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 - } - }, - "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/management/ia/Alerts/Toggle": { - "post": { - "description": "Pass empty list to apply toggle action to all existing alerts", - "tags": [ - "Alerts" - ], - "summary": "ToggleAlerts allows to switch alerts state between silenced and unsilenced.", - "operationId": "ToggleAlerts", - "deprecated": true, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "alert_ids": { - "description": "List of alerts that silence state should be switched. If provided array is empty than all\nexisting alerts are switched.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 0 - }, - "silenced": { - "description": "BooleanFlag represent a command to set some boolean property to true,\nto false, or avoid changing that property.\n\n - DO_NOT_CHANGE: Do not change boolean property. Default value.\n - TRUE: True.\n - FALSE: False.", - "type": "string", - "default": "DO_NOT_CHANGE", - "enum": [ - "DO_NOT_CHANGE", - "TRUE", - "FALSE" - ], - "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/management/ia/Channels/Add": { - "post": { - "tags": [ - "Channels" - ], - "summary": "AddChannel adds notification channel.", - "operationId": "AddChannel", - "deprecated": true, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "summary": { - "description": "Short human-readable summary.", - "type": "string", - "x-order": 0 - }, - "email_config": { - "description": "EmailConfig represents email configuration.", - "type": "object", - "properties": { - "send_resolved": { - "type": "boolean", - "x-order": 0 - }, - "to": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 1 - } - }, - "x-order": 1 - }, - "pagerduty_config": { - "description": "PagerDutyConfig represents PagerDuty configuration.", - "type": "object", - "properties": { - "send_resolved": { - "type": "boolean", - "x-order": 0 - }, - "routing_key": { - "description": "The PagerDuty key for \"Events API v2\" integration type. Exactly one key should be set.", - "type": "string", - "x-order": 1 - }, - "service_key": { - "description": "The PagerDuty key for \"Prometheus\" integration type. Exactly one key should be set.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 2 - }, - "slack_config": { - "description": "SlackConfig represents Slack configuration.", - "type": "object", - "properties": { - "send_resolved": { - "type": "boolean", - "x-order": 0 - }, - "channel": { - "type": "string", - "x-order": 1 - } - }, - "x-order": 3 - }, - "webhook_config": { - "description": "WebhookConfig represents webhook configuration.", - "type": "object", - "properties": { - "send_resolved": { - "type": "boolean", - "x-order": 0 - }, - "url": { - "type": "string", - "x-order": 1 - }, - "http_config": { - "description": "HTTPConfig represents HTTP client configuration.", - "type": "object", - "properties": { - "basic_auth": { - "description": "BasicAuth represents basic HTTP auth configuration.", - "type": "object", - "properties": { - "username": { - "type": "string", - "x-order": 0 - }, - "password": { - "type": "string", - "x-order": 1 - }, - "password_file": { - "type": "string", - "x-order": 2 - } - }, - "x-order": 0 - }, - "bearer_token": { - "type": "string", - "x-order": 1 - }, - "bearer_token_file": { - "type": "string", - "x-order": 2 - }, - "tls_config": { - "type": "object", - "title": "TLSConfig represents TLS configuration for alertmanager\nhttps://prometheus.io/docs/alerting/latest/configuration/#tls_config", - "properties": { - "ca_file": { - "description": "A path to the CA certificate file to validate the server certificate with.\nca_file and ca_file_content should not be set at the same time.", - "type": "string", - "x-order": 0 - }, - "cert_file": { - "description": "A path to the certificate file for client cert authentication to the server.\ncert_file and cert_file_content should not be set at the same time.", - "type": "string", - "x-order": 1 - }, - "key_file": { - "description": "A path to the key file for client cert authentication to the server.\nkey_file and key_file_content should not be set at the same time.", - "type": "string", - "x-order": 2 - }, - "server_name": { - "description": "Name of the server.", - "type": "string", - "x-order": 3 - }, - "insecure_skip_verify": { - "description": "Disable validation of the server certificate.", - "type": "boolean", - "x-order": 4 - }, - "ca_file_content": { - "description": "CA certificate to validate the server certificate with.\nca_file and ca_file_content should not be set at the same time.", - "type": "string", - "x-order": 5 - }, - "cert_file_content": { - "description": "A certificate for client cert authentication to the server.\ncert_file and cert_file_content should not be set at the same time.", - "type": "string", - "x-order": 6 - }, - "key_file_content": { - "description": "A key for client cert authentication to the server.\nkey_file and key_file_content should not be set at the same time.", - "type": "string", - "x-order": 7 - } - }, - "x-order": 3 - }, - "proxy_url": { - "type": "string", - "x-order": 4 - } - }, - "x-order": 2 - }, - "max_alerts": { - "type": "integer", - "format": "int32", - "x-order": 3 - } - }, - "x-order": 4 - }, - "disabled": { - "description": "New channel status.", - "type": "boolean", - "x-order": 5 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "channel_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/management/ia/Channels/Change": { - "post": { - "tags": [ - "Channels" - ], - "summary": "ChangeChannel changes notification channel.", - "operationId": "ChangeChannel", - "deprecated": true, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "channel_id": { - "description": "Machine-readable ID.", - "type": "string", - "x-order": 0 - }, - "summary": { - "description": "Short human-readable summary. Empty value will not change it.", - "type": "string", - "x-order": 1 - }, - "email_config": { - "description": "EmailConfig represents email configuration.", - "type": "object", - "properties": { - "send_resolved": { - "type": "boolean", - "x-order": 0 - }, - "to": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 1 - } - }, - "x-order": 2 - }, - "pagerduty_config": { - "description": "PagerDutyConfig represents PagerDuty configuration.", - "type": "object", - "properties": { - "send_resolved": { - "type": "boolean", - "x-order": 0 - }, - "routing_key": { - "description": "The PagerDuty key for \"Events API v2\" integration type. Exactly one key should be set.", - "type": "string", - "x-order": 1 - }, - "service_key": { - "description": "The PagerDuty key for \"Prometheus\" integration type. Exactly one key should be set.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 3 - }, - "slack_config": { - "description": "SlackConfig represents Slack configuration.", - "type": "object", - "properties": { - "send_resolved": { - "type": "boolean", - "x-order": 0 - }, - "channel": { - "type": "string", - "x-order": 1 - } - }, - "x-order": 4 - }, - "webhook_config": { - "description": "WebhookConfig represents webhook configuration.", - "type": "object", - "properties": { - "send_resolved": { - "type": "boolean", - "x-order": 0 - }, - "url": { - "type": "string", - "x-order": 1 - }, - "http_config": { - "description": "HTTPConfig represents HTTP client configuration.", - "type": "object", - "properties": { - "basic_auth": { - "description": "BasicAuth represents basic HTTP auth configuration.", - "type": "object", - "properties": { - "username": { - "type": "string", - "x-order": 0 - }, - "password": { - "type": "string", - "x-order": 1 - }, - "password_file": { - "type": "string", - "x-order": 2 - } - }, - "x-order": 0 - }, - "bearer_token": { - "type": "string", - "x-order": 1 - }, - "bearer_token_file": { - "type": "string", - "x-order": 2 - }, - "tls_config": { - "type": "object", - "title": "TLSConfig represents TLS configuration for alertmanager\nhttps://prometheus.io/docs/alerting/latest/configuration/#tls_config", - "properties": { - "ca_file": { - "description": "A path to the CA certificate file to validate the server certificate with.\nca_file and ca_file_content should not be set at the same time.", - "type": "string", - "x-order": 0 - }, - "cert_file": { - "description": "A path to the certificate file for client cert authentication to the server.\ncert_file and cert_file_content should not be set at the same time.", - "type": "string", - "x-order": 1 - }, - "key_file": { - "description": "A path to the key file for client cert authentication to the server.\nkey_file and key_file_content should not be set at the same time.", - "type": "string", - "x-order": 2 - }, - "server_name": { - "description": "Name of the server.", - "type": "string", - "x-order": 3 - }, - "insecure_skip_verify": { - "description": "Disable validation of the server certificate.", - "type": "boolean", - "x-order": 4 - }, - "ca_file_content": { - "description": "CA certificate to validate the server certificate with.\nca_file and ca_file_content should not be set at the same time.", - "type": "string", - "x-order": 5 - }, - "cert_file_content": { - "description": "A certificate for client cert authentication to the server.\ncert_file and cert_file_content should not be set at the same time.", - "type": "string", - "x-order": 6 - }, - "key_file_content": { - "description": "A key for client cert authentication to the server.\nkey_file and key_file_content should not be set at the same time.", - "type": "string", - "x-order": 7 - } - }, - "x-order": 3 - }, - "proxy_url": { - "type": "string", - "x-order": 4 - } - }, - "x-order": 2 - }, - "max_alerts": { - "type": "integer", - "format": "int32", - "x-order": 3 - } - }, - "x-order": 5 - }, - "disabled": { - "description": "Enables or disables that channel. Should be set.", - "type": "boolean", - "x-order": 6 - } - } - } - } - ], - "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/ia/Channels/List": { - "post": { - "tags": [ - "Channels" - ], - "summary": "ListChannels returns a list of all notifation channels.", - "operationId": "ListChannels", - "deprecated": true, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "page_params": { - "description": "PageParams represents page request parameters for pagination.", - "type": "object", - "properties": { - "page_size": { - "description": "Maximum number of results per page.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "index": { - "description": "Index of the requested page, starts from 0.", - "type": "integer", - "format": "int32", - "x-order": 1 - } - }, - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "channels": { - "type": "array", - "items": { - "description": "Channel represents a single Notification Channel.", - "type": "object", - "properties": { - "channel_id": { - "description": "Machine-readable ID.", - "type": "string", - "x-order": 0 - }, - "summary": { - "description": "Short human-readable summary.", - "type": "string", - "x-order": 1 - }, - "email_config": { - "description": "EmailConfig represents email configuration.", - "type": "object", - "properties": { - "send_resolved": { - "type": "boolean", - "x-order": 0 - }, - "to": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 1 - } - }, - "x-order": 2 - }, - "pagerduty_config": { - "description": "PagerDutyConfig represents PagerDuty configuration.", - "type": "object", - "properties": { - "send_resolved": { - "type": "boolean", - "x-order": 0 - }, - "routing_key": { - "description": "The PagerDuty key for \"Events API v2\" integration type. Exactly one key should be set.", - "type": "string", - "x-order": 1 - }, - "service_key": { - "description": "The PagerDuty key for \"Prometheus\" integration type. Exactly one key should be set.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 3 - }, - "slack_config": { - "description": "SlackConfig represents Slack configuration.", - "type": "object", - "properties": { - "send_resolved": { - "type": "boolean", - "x-order": 0 - }, - "channel": { - "type": "string", - "x-order": 1 - } - }, - "x-order": 4 - }, - "webhook_config": { - "description": "WebhookConfig represents webhook configuration.", - "type": "object", - "properties": { - "send_resolved": { - "type": "boolean", - "x-order": 0 - }, - "url": { - "type": "string", - "x-order": 1 - }, - "http_config": { - "description": "HTTPConfig represents HTTP client configuration.", - "type": "object", - "properties": { - "basic_auth": { - "description": "BasicAuth represents basic HTTP auth configuration.", - "type": "object", - "properties": { - "username": { - "type": "string", - "x-order": 0 - }, - "password": { - "type": "string", - "x-order": 1 - }, - "password_file": { - "type": "string", - "x-order": 2 - } - }, - "x-order": 0 - }, - "bearer_token": { - "type": "string", - "x-order": 1 - }, - "bearer_token_file": { - "type": "string", - "x-order": 2 - }, - "tls_config": { - "type": "object", - "title": "TLSConfig represents TLS configuration for alertmanager\nhttps://prometheus.io/docs/alerting/latest/configuration/#tls_config", - "properties": { - "ca_file": { - "description": "A path to the CA certificate file to validate the server certificate with.\nca_file and ca_file_content should not be set at the same time.", - "type": "string", - "x-order": 0 - }, - "cert_file": { - "description": "A path to the certificate file for client cert authentication to the server.\ncert_file and cert_file_content should not be set at the same time.", - "type": "string", - "x-order": 1 - }, - "key_file": { - "description": "A path to the key file for client cert authentication to the server.\nkey_file and key_file_content should not be set at the same time.", - "type": "string", - "x-order": 2 - }, - "server_name": { - "description": "Name of the server.", - "type": "string", - "x-order": 3 - }, - "insecure_skip_verify": { - "description": "Disable validation of the server certificate.", - "type": "boolean", - "x-order": 4 - }, - "ca_file_content": { - "description": "CA certificate to validate the server certificate with.\nca_file and ca_file_content should not be set at the same time.", - "type": "string", - "x-order": 5 - }, - "cert_file_content": { - "description": "A certificate for client cert authentication to the server.\ncert_file and cert_file_content should not be set at the same time.", - "type": "string", - "x-order": 6 - }, - "key_file_content": { - "description": "A key for client cert authentication to the server.\nkey_file and key_file_content should not be set at the same time.", - "type": "string", - "x-order": 7 - } - }, - "x-order": 3 - }, - "proxy_url": { - "type": "string", - "x-order": 4 - } - }, - "x-order": 2 - }, - "max_alerts": { - "type": "integer", - "format": "int32", - "x-order": 3 - } - }, - "x-order": 5 - }, - "disabled": { - "description": "True if that channel is disabled.", - "type": "boolean", - "x-order": 6 - } - } - }, - "x-order": 0 - }, - "totals": { - "description": "PageTotals represents total values for pagination.", - "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 - } - }, - "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/management/ia/Channels/Remove": { - "post": { - "tags": [ - "Channels" - ], - "summary": "RemoveChannel removes notification channel.", - "operationId": "RemoveChannel", - "deprecated": true, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "channel_id": { - "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/management/ia/Rules/Create": { - "post": { - "tags": [ - "Rules" - ], - "summary": "CreateAlertRule creates Alerting rule.", - "operationId": "CreateAlertRule", - "deprecated": true, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "template_name": { - "description": "Template name. Can't be specified simultaneously with source_rule_id.", - "type": "string", - "x-order": 0 - }, - "source_rule_id": { - "description": "ID of the rule that will be used as source. Can't be specified simultaneously with template_name.", - "type": "string", - "x-order": 1 - }, - "name": { - "description": "Rule name.", - "type": "string", - "x-order": 2 - }, - "disabled": { - "description": "New rule status.", - "type": "boolean", - "x-order": 3 - }, - "params": { - "description": "Rule parameters. All template parameters should be set.", - "type": "array", - "items": { - "description": "ParamValue represents a single rule parameter value for List, Change and Update APIs.", - "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_INVALID", - "enum": [ - "PARAM_TYPE_INVALID", - "BOOL", - "FLOAT", - "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_INVALID", - "enum": [ - "SEVERITY_INVALID", - "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. Should be set.", - "type": "array", - "items": { - "description": "Filter repsents a single filter condition.", - "type": "object", - "properties": { - "type": { - "description": "FilterType represents filter matching type.\n\n - EQUAL: =\n\n!=\n NOT_EQUAL = 2;\n - REGEX: =~\n\n!~\n NOT_REGEX = 4;", - "type": "string", - "default": "FILTER_TYPE_INVALID", - "enum": [ - "FILTER_TYPE_INVALID", - "EQUAL", - "REGEX" - ], - "x-order": 0 - }, - "key": { - "type": "string", - "x-order": 1 - }, - "value": { - "type": "string", - "x-order": 2 - } - } - }, - "x-order": 8 - }, - "channel_ids": { - "description": "Channels. Should be set.", - "type": "array", - "items": { - "type": "string" - }, - "x-order": 9 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "rule_id": { - "description": "Rule 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/management/ia/Rules/Delete": { - "post": { - "tags": [ - "Rules" - ], - "summary": "DeleteAlertRule deletes Alerting rule.", - "operationId": "DeleteAlertRule", - "deprecated": true, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "rule_id": { - "description": "Rule ID.", - "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/management/ia/Rules/List": { - "post": { - "tags": [ - "Rules" - ], - "summary": "ListAlertRules returns a list of all Alerting rules.", - "operationId": "ListAlertRules", - "deprecated": true, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "page_params": { - "description": "PageParams represents page request parameters for pagination.", - "type": "object", - "properties": { - "page_size": { - "description": "Maximum number of results per page.", - "type": "integer", - "format": "int32", - "x-order": 0 - }, - "index": { - "description": "Index of the requested page, starts from 0.", - "type": "integer", - "format": "int32", - "x-order": 1 - } - }, - "x-order": 0 - } - } - } - } - ], - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "rules": { - "type": "array", - "items": { - "description": "Rule represents Alert Rule.", - "type": "object", - "properties": { - "rule_id": { - "description": "Rule ID.", - "type": "string", - "x-order": 0 - }, - "name": { - "description": "Rule name.", - "type": "string", - "x-order": 1 - }, - "summary": { - "description": "Rule human-readable summary.", - "type": "string", - "x-order": 2 - }, - "template_name": { - "description": "Template used for this rule.", - "type": "string", - "x-order": 3 - }, - "disabled": { - "description": "True if that rule is disabled.", - "type": "boolean", - "x-order": 4 - }, - "expr_template": { - "description": "Expression template.", - "type": "string", - "x-order": 5 - }, - "expr": { - "description": "Expression filled with parameters.", - "type": "string", - "x-order": 6 - }, - "params_definitions": { - "description": "Expression 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_INVALID: Invalid, unknown or absent.\n - PERCENTAGE: %\n - SECONDS: s", - "type": "string", - "default": "PARAM_UNIT_INVALID", - "enum": [ - "PARAM_UNIT_INVALID", - "PERCENTAGE", - "SECONDS" - ], - "x-order": 2 - }, - "type": { - "description": "ParamType represents template parameter type.", - "type": "string", - "default": "PARAM_TYPE_INVALID", - "enum": [ - "PARAM_TYPE_INVALID", - "BOOL", - "FLOAT", - "STRING" - ], - "x-order": 3 - }, - "bool": { - "description": "BoolParamDefinition represents boolean parameter's default value.", - "type": "object", - "properties": { - "default": { - "description": "BooleanFlag represent a command to set some boolean property to true,\nto false, or avoid changing that property.\n\n - DO_NOT_CHANGE: Do not change boolean property. Default value.\n - TRUE: True.\n - FALSE: False.", - "type": "string", - "default": "DO_NOT_CHANGE", - "enum": [ - "DO_NOT_CHANGE", - "TRUE", - "FALSE" - ], - "x-order": 0 - } - }, - "x-order": 4 - }, - "float": { - "description": "FloatParamDefinition represents float parameter's default value and valid range.", - "type": "object", - "properties": { - "has_default": { - "description": "True if default value is set.", - "type": "boolean", - "x-order": 0 - }, - "default": { - "description": "Default value if has_default is true.", - "type": "number", - "format": "double", - "x-order": 1 - }, - "has_min": { - "description": "True if minimal valid value is set.", - "type": "boolean", - "x-order": 2 - }, - "min": { - "description": "Minimal valid value (inclusive) if has_min is true.", - "type": "number", - "format": "double", - "x-order": 3 - }, - "has_max": { - "description": "True if maximal valid value is set.", - "type": "boolean", - "x-order": 4 - }, - "max": { - "description": "Maximal valid value (inclusive) if has_max is true.", - "type": "number", - "format": "double", - "x-order": 5 - } - }, - "x-order": 5 - }, - "string": { - "description": "StringParamDefinition represents string parameter's default value.", - "type": "object", - "properties": { - "has_default": { - "description": "True if default value is set.", - "type": "boolean", - "x-order": 0 - }, - "default": { - "description": "Default value if has_default is true.", - "type": "string", - "x-order": 1 - } - }, - "x-order": 6 - } - } - }, - "x-order": 7 - }, - "params_values": { - "description": "Expression parameters values.", - "type": "array", - "items": { - "description": "ParamValue represents a single rule parameter value for List, Change and Update APIs.", - "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_INVALID", - "enum": [ - "PARAM_TYPE_INVALID", - "BOOL", - "FLOAT", - "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": 8 - }, - "default_for": { - "description": "Default for duration.", - "type": "string", - "x-order": 9 - }, - "for": { - "description": "For duration.", - "type": "string", - "x-order": 10 - }, - "default_severity": { - "description": "Severity represents severity level of the check result or alert.", - "type": "string", - "default": "SEVERITY_INVALID", - "enum": [ - "SEVERITY_INVALID", - "SEVERITY_EMERGENCY", - "SEVERITY_ALERT", - "SEVERITY_CRITICAL", - "SEVERITY_ERROR", - "SEVERITY_WARNING", - "SEVERITY_NOTICE", - "SEVERITY_INFO", - "SEVERITY_DEBUG" - ], - "x-order": 11 - }, - "severity": { - "description": "Severity represents severity level of the check result or alert.", - "type": "string", - "default": "SEVERITY_INVALID", - "enum": [ - "SEVERITY_INVALID", - "SEVERITY_EMERGENCY", - "SEVERITY_ALERT", - "SEVERITY_CRITICAL", - "SEVERITY_ERROR", - "SEVERITY_WARNING", - "SEVERITY_NOTICE", - "SEVERITY_INFO", - "SEVERITY_DEBUG" - ], - "x-order": 12 - }, - "custom_labels": { - "description": "Custom labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 13 - }, - "labels": { - "description": "Labels.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 14 - }, - "annotations": { - "description": "Annotations.", - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-order": 15 - }, - "filters": { - "description": "Filters.", - "type": "array", - "items": { - "description": "Filter repsents a single filter condition.", - "type": "object", - "properties": { - "type": { - "description": "FilterType represents filter matching type.\n\n - EQUAL: =\n\n!=\n NOT_EQUAL = 2;\n - REGEX: =~\n\n!~\n NOT_REGEX = 4;", - "type": "string", - "default": "FILTER_TYPE_INVALID", - "enum": [ - "FILTER_TYPE_INVALID", - "EQUAL", - "REGEX" - ], - "x-order": 0 - }, - "key": { - "type": "string", - "x-order": 1 - }, - "value": { - "type": "string", - "x-order": 2 - } - } - }, - "x-order": 16 - }, - "channels": { - "description": "Channels.", - "type": "array", - "items": { - "description": "Channel represents a single Notification Channel.", - "type": "object", - "properties": { - "channel_id": { - "description": "Machine-readable ID.", - "type": "string", - "x-order": 0 - }, - "summary": { - "description": "Short human-readable summary.", - "type": "string", - "x-order": 1 - }, - "email_config": { - "description": "EmailConfig represents email configuration.", - "type": "object", - "properties": { - "send_resolved": { - "type": "boolean", - "x-order": 0 - }, - "to": { - "type": "array", - "items": { - "type": "string" - }, - "x-order": 1 - } - }, - "x-order": 2 - }, - "pagerduty_config": { - "description": "PagerDutyConfig represents PagerDuty configuration.", - "type": "object", - "properties": { - "send_resolved": { - "type": "boolean", - "x-order": 0 - }, - "routing_key": { - "description": "The PagerDuty key for \"Events API v2\" integration type. Exactly one key should be set.", - "type": "string", - "x-order": 1 - }, - "service_key": { - "description": "The PagerDuty key for \"Prometheus\" integration type. Exactly one key should be set.", - "type": "string", - "x-order": 2 - } - }, - "x-order": 3 - }, - "slack_config": { - "description": "SlackConfig represents Slack configuration.", - "type": "object", - "properties": { - "send_resolved": { - "type": "boolean", - "x-order": 0 - }, - "channel": { - "type": "string", - "x-order": 1 - } - }, - "x-order": 4 - }, - "webhook_config": { - "description": "WebhookConfig represents webhook configuration.", - "type": "object", - "properties": { - "send_resolved": { - "type": "boolean", - "x-order": 0 - }, - "url": { - "type": "string", - "x-order": 1 - }, - "http_config": { - "description": "HTTPConfig represents HTTP client configuration.", - "type": "object", - "properties": { - "basic_auth": { - "description": "BasicAuth represents basic HTTP auth configuration.", - "type": "object", - "properties": { - "username": { - "type": "string", - "x-order": 0 - }, - "password": { - "type": "string", - "x-order": 1 - }, - "password_file": { - "type": "string", - "x-order": 2 - } - }, - "x-order": 0 - }, - "bearer_token": { - "type": "string", - "x-order": 1 - }, - "bearer_token_file": { - "type": "string", - "x-order": 2 - }, - "tls_config": { - "type": "object", - "title": "TLSConfig represents TLS configuration for alertmanager\nhttps://prometheus.io/docs/alerting/latest/configuration/#tls_config", - "properties": { - "ca_file": { - "description": "A path to the CA certificate file to validate the server certificate with.\nca_file and ca_file_content should not be set at the same time.", - "type": "string", - "x-order": 0 - }, - "cert_file": { - "description": "A path to the certificate file for client cert authentication to the server.\ncert_file and cert_file_content should not be set at the same time.", - "type": "string", - "x-order": 1 - }, - "key_file": { - "description": "A path to the key file for client cert authentication to the server.\nkey_file and key_file_content should not be set at the same time.", - "type": "string", - "x-order": 2 - }, - "server_name": { - "description": "Name of the server.", - "type": "string", - "x-order": 3 - }, - "insecure_skip_verify": { - "description": "Disable validation of the server certificate.", - "type": "boolean", - "x-order": 4 - }, - "ca_file_content": { - "description": "CA certificate to validate the server certificate with.\nca_file and ca_file_content should not be set at the same time.", - "type": "string", - "x-order": 5 - }, - "cert_file_content": { - "description": "A certificate for client cert authentication to the server.\ncert_file and cert_file_content should not be set at the same time.", - "type": "string", - "x-order": 6 - }, - "key_file_content": { - "description": "A key for client cert authentication to the server.\nkey_file and key_file_content should not be set at the same time.", - "type": "string", - "x-order": 7 - } - }, - "x-order": 3 - }, - "proxy_url": { - "type": "string", - "x-order": 4 - } - }, - "x-order": 2 - }, - "max_alerts": { - "type": "integer", - "format": "int32", - "x-order": 3 - } - }, - "x-order": 5 - }, - "disabled": { - "description": "True if that channel is disabled.", - "type": "boolean", - "x-order": 6 - } - } - }, - "x-order": 17 - }, - "created_at": { - "description": "Rule creation time.", - "type": "string", - "format": "date-time", - "x-order": 18 - } - } - }, - "x-order": 0 - }, - "totals": { - "description": "PageTotals represents total values for pagination.", - "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 - } - }, - "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/management/ia/Rules/Toggle": { - "post": { - "tags": [ - "Rules" - ], - "summary": "ToggleAlertRule allows to switch between disabled and enabled states of an Alert Rule.", - "operationId": "ToggleAlertRule", - "deprecated": true, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "rule_id": { - "description": "Rule ID.", - "type": "string", - "x-order": 0 - }, - "disabled": { - "description": "BooleanFlag represent a command to set some boolean property to true,\nto false, or avoid changing that property.\n\n - DO_NOT_CHANGE: Do not change boolean property. Default value.\n - TRUE: True.\n - FALSE: False.", - "type": "string", - "default": "DO_NOT_CHANGE", - "enum": [ - "DO_NOT_CHANGE", - "TRUE", - "FALSE" - ], - "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/management/ia/Rules/Update": { - "post": { - "tags": [ - "Rules" - ], - "summary": "UpdateAlertRule updates Alerting rule.", - "operationId": "UpdateAlertRule", - "deprecated": true, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "rule_id": { - "description": "Rule ID.", - "type": "string", - "x-order": 0 - }, - "name": { - "description": "Rule name. Should be set.", - "type": "string", - "x-order": 1 - }, - "disabled": { - "description": "New rule status. Should be set.", - "type": "boolean", - "x-order": 2 - }, - "params": { - "description": "Rule parameters. All template parameters should be set.", - "type": "array", - "items": { - "description": "ParamValue represents a single rule parameter value for List, Change and Update APIs.", - "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_INVALID", - "enum": [ - "PARAM_TYPE_INVALID", - "BOOL", - "FLOAT", - "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": 3 - }, - "for": { - "description": "Rule duration. Should be set.", - "type": "string", - "x-order": 4 - }, - "severity": { - "description": "Severity represents severity level of the check result or alert.", - "type": "string", - "default": "SEVERITY_INVALID", - "enum": [ - "SEVERITY_INVALID", - "SEVERITY_EMERGENCY", - "SEVERITY_ALERT", - "SEVERITY_CRITICAL", - "SEVERITY_ERROR", - "SEVERITY_WARNING", - "SEVERITY_NOTICE", - "SEVERITY_INFO", - "SEVERITY_DEBUG" - ], - "x-order": 5 - }, - "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": 6 - }, - "filters": { - "description": "Filters. Should be set.", - "type": "array", - "items": { - "description": "Filter repsents a single filter condition.", - "type": "object", - "properties": { - "type": { - "description": "FilterType represents filter matching type.\n\n - EQUAL: =\n\n!=\n NOT_EQUAL = 2;\n - REGEX: =~\n\n!~\n NOT_REGEX = 4;", - "type": "string", - "default": "FILTER_TYPE_INVALID", - "enum": [ - "FILTER_TYPE_INVALID", - "EQUAL", - "REGEX" - ], - "x-order": 0 - }, - "key": { - "type": "string", - "x-order": 1 - }, - "value": { - "type": "string", - "x-order": 2 - } - } - }, - "x-order": 7 - }, - "channel_ids": { - "description": "Channels. Should be set.", - "type": "array", - "items": { - "type": "string" - }, - "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/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": [ - "Server" - ], - "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/user": { - "get": { - "description": "Retrieve user details from PMM server", - "tags": [ - "User" - ], - "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 - } - } - } - }, - "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 details of given user in PMM server", - "tags": [ - "User" - ], - "summary": "Update user", - "operationId": "UpdateUser", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "product_tour_completed": { - "type": "boolean", - "title": "Product Tour", - "x-order": 0 - }, - "alerting_tour_completed": { - "type": "boolean", - "title": "Alerting Tour", - "x-order": 1 - } - } - } - } - ], - "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 - } - } - } - }, - "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/user/list": { - "post": { - "description": "Retrieve user details for all users from PMM server", - "tags": [ - "User" - ], - "summary": "List all users with details", - "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/version": { - "get": { - "description": "Returns PMM Server versions.", - "tags": [ - "Server" - ], - "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_INVALID", - "enum": [ - "DISTRIBUTION_METHOD_INVALID", - "DOCKER", - "OVF", - "AMI", - "AZURE", - "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 - } - } - } - } - } - } - } - }, - "securityDefinitions": { - "basicAuth": { - "type": "basic" - } - }, - "security": [ - { - "basicAuth": [] - } - ], - "tags": [ - { - "name": "Server" - }, - { - "name": "User" - }, - { - "name": "Agents" - }, - { - "name": "Nodes" - }, - { - "name": "Services" - }, - { - "name": "Actions" - }, - { - "name": "Annotation" - }, - { - "name": "SecurityChecks" - }, - { - "name": "External" - }, - { - "name": "HAProxy" - }, - { - "name": "MongoDB" - }, - { - "name": "MySQL" - }, - { - "name": "Node" - }, - { - "name": "PostgreSQL" - }, - { - "name": "ProxySQL" - }, - { - "name": "RDS" - }, - { - "name": "Service" - }, - { - "name": "Components" - }, - { - "name": "DBClusters" - }, - { - "name": "Kubernetes" - }, - { - "name": "LogsAPI" - }, - { - "name": "PSMDBClusters" - }, - { - "name": "PXCClusters" - }, - { - "name": "Templates" - }, - { - "name": "Alerts" - }, - { - "name": "Channels" - }, - { - "name": "Rules" - }, - { - "name": "Alerting" - }, - { - "name": "Artifacts" - }, - { - "name": "Backups" - }, - { - "name": "Locations" - }, - { - "name": "RestoreHistory" - }, - { - "name": "Dumps" - }, - { - "name": "Role" - }, - { - "name": "Agent" - }, - { - "name": "MgmtNode" - }, - { - "name": "MgmtService" - }, - { - "name": "Collector" - }, - { - "name": "Filters" - }, - { - "name": "MetricsNames" - }, - { - "name": "ObjectDetails" - }, - { - "name": "Profile" - }, - { - "name": "Platform" - } - ], - "x-readme": { - "samples-languages": [ - "curl", - "go", - "node", - "python" - ] - } -} \ No newline at end of file +{} \ No newline at end of file diff --git a/go.mod b/go.mod index 8fc392d423..91e109fd69 100644 --- a/go.mod +++ b/go.mod @@ -78,7 +78,6 @@ require ( google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 google.golang.org/grpc v1.67.1 google.golang.org/protobuf v1.35.1 - gopkg.in/alecthomas/kingpin.v2 v2.2.6 gopkg.in/reform.v1 v1.5.1 gopkg.in/yaml.v3 v3.0.1 ) @@ -91,7 +90,6 @@ require ( github.com/charmbracelet/x/term v0.2.0 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect - github.com/evanphx/json-patch/v5 v5.6.0 // indirect github.com/fatih/color v1.13.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/go-logr/logr v1.4.2 // indirect @@ -113,7 +111,6 @@ require ( 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.28.0 // indirect @@ -196,8 +193,5 @@ require ( go.opentelemetry.io/otel/trace v1.28.0 // indirect golang.org/x/mod v0.21.0 // indirect golang.org/x/net v0.30.0 // indirect - golang.org/x/oauth2 v0.23.0 // indirect - golang.org/x/term v0.25.0 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect gotest.tools/v3 v3.3.0 // indirect ) diff --git a/go.sum b/go.sum index e7584d08e6..e097877cf1 100644 --- a/go.sum +++ b/go.sum @@ -1,44 +1,10 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -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.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= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -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/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= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -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= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= -github.com/3rf/mongo-lint v0.0.0-20140604191638-3550fdcf1f43/go.mod h1:ggh9ZlgUveoGPv/xlt2+6f/bGVEl/h+WlV4LX/dyxEI= github.com/AlekSi/pointer v1.1.0/go.mod h1:y7BvfRI3wXPWKXEBhU71nbnIEEZX0QTSB2Bj48UJIZE= github.com/AlekSi/pointer v1.2.0 h1:glcy/gc4h8HnG2Z3ZECSzZ1IX1x2JxRVuDzaJwQE0+w= github.com/AlekSi/pointer v1.2.0/go.mod h1:gZGfd3dpW4vEc/UlyfKKi1roIqcCgwOIvb0tSNSBle0= -github.com/Azure/azure-pipeline-go v0.2.3 h1:7U9HBg1JFK3jHl5qmo4CTZKFTVgMwdFHMVtCdfBE21U= -github.com/Azure/azure-pipeline-go v0.2.3/go.mod h1:x841ezTBIMG6O3lAcl8ATHnsOPVl2bqk7S3ta6S6u4k= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0 h1:nyQWyZvwGTvunIMxi1Y9uXkcyr+I7TeNrr/foo4Kpk8= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0/go.mod h1:l38EPgmsp71HHLq9j7De57JcKOWPyhrsW1Awm1JS6K0= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.0 h1:B/dfvscEQtew9dVuoxqxrUKKv8Ih2f55PydknDamU+g= @@ -49,25 +15,8 @@ github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 h1:ywEEhmNahHBihViHepv3xP github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0/go.mod h1:iZDifYGJTIgIIkYRNWPENUnqx6bJ2xnSDFI2tjwZNuY= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resourcegraph/armresourcegraph v0.9.0 h1:zLzoX5+W2l95UJoVwiyNS4dX8vHyQ6x2xRLoBBL9wMk= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resourcegraph/armresourcegraph v0.9.0/go.mod h1:wVEOJfGTj0oPAUGA1JuRAvz/lxXQsWW16axmHPP47Bk= -github.com/Azure/azure-storage-blob-go v0.13.0/go.mod h1:pA9kNqtjUeQF2zOSu4s//nUdBD+e64lEuc4sVnuOfNs= -github.com/Azure/azure-storage-blob-go v0.14.0 h1:1BCg74AmVdYwO3dlKwtFU1V0wU2PZdREkXvAmZJRUlM= -github.com/Azure/azure-storage-blob-go v0.14.0/go.mod h1:SMqIBi+SuiQH32bvyjngEewEeXoPfKMgWlBDaYf6fck= github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.11.28 h1:ndAExarwr5Y+GaHE6VCaY1kyS/HwwGGyuimVhWsHOEM= -github.com/Azure/go-autorest/autorest/adal v0.9.2/go.mod h1:/3SMAM86bP6wC9Ev35peQDUeqFZBMH07vvUOmg4z/fE= -github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= -github.com/Azure/go-autorest/autorest/adal v0.9.21 h1:jjQnVFXPfekaqb8vIsv2G1lxshoW+oGv4MDlhRtnYZk= -github.com/Azure/go-autorest/autorest/adal v0.9.21/go.mod h1:zua7mBUaCc5YnSLKYgGJR/w5ePdMDA6H56upLsHzA9U= -github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= -github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1 h1:WJTmL004Abzc5wDB5VtZG2PJk5ndYDgVacGqfirKxjM= github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1/go.mod h1:tCcJZ0uHAmvjsVYzEFivsRTN00oz5BEsRgQHu5JZ9WE= github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 h1:XHOnouVk1mxXfQidrMEnLlPk9UMeRtyBTnEFtxkV0kU= @@ -76,8 +25,6 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/ClickHouse/ch-go v0.61.5 h1:zwR8QbYI0tsMiEcze/uIMK+Tz1D3XZXLdNrlaOpeEI4= github.com/ClickHouse/ch-go v0.61.5/go.mod h1:s1LJW/F/LcFs5HJnuogFMta50kKDO0lf9zzfrbl0RQg= -github.com/ClickHouse/clickhouse-go v1.5.1 h1:I8zVFZTz80crCs0FFEBJooIxsPcV0xfthzK1YrkpJTc= -github.com/ClickHouse/clickhouse-go v1.5.1/go.mod h1:EaI/sW7Azgz9UATzd5ZdZHRUhHgv5+JMS9NSr2smCJI= github.com/ClickHouse/clickhouse-go v1.5.4 h1:cKjXeYLNWVJIx2J1K6H2CqyRmfwVJVY1OV1coaaFcI0= github.com/ClickHouse/clickhouse-go v1.5.4/go.mod h1:EaI/sW7Azgz9UATzd5ZdZHRUhHgv5+JMS9NSr2smCJI= github.com/ClickHouse/clickhouse-go/v2 v2.29.0 h1:Dj1w59RssRyLgGHXtYaWU0eIM1pJsu9nGPi/btmvAqw= @@ -87,30 +34,26 @@ github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= -github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= 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.10.0 h1:jjRCHsj6hBJhkmhznrCzoNpbA3zqy0fYiUcYZP/GkPY= github.com/alecthomas/assert/v2 v2.10.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k= -github.com/alecthomas/kingpin v2.2.6+incompatible/go.mod h1:59OFYbFVLKQKq+mqrL6Rw5bR0c3ACQaawgXx0QYndlE= github.com/alecthomas/kong v1.2.1 h1:E8jH4Tsgv6wCRX2nGrdPyHDUCSG83WH2qE4XLACD33Q= github.com/alecthomas/kong v1.2.1/go.mod h1:rKTSFhbdp3Ryefn8x5MOEprnRFQ7nlmMC01GKhehhBM= 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= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/alecthomas/units v0.0.0-20231202071711-9a357b53e9c9 h1:ez/4by2iGztzR4L0zgAOR8lTQK9VlyBVVd7G4omaOQs= github.com/alecthomas/units v0.0.0-20231202071711-9a357b53e9c9/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M= @@ -121,33 +64,23 @@ github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJ github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= 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/aws/aws-sdk-go v1.22.1/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48= -github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go v1.40.7/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU= github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= -github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bkaradzic/go-lz4 v1.0.0 h1:RXc4wYsyz985CkXXeX04y4VnZFGG8Rd43pRaHsOXAKk= -github.com/bkaradzic/go-lz4 v1.0.0/go.mod h1:0YdlkowM3VswSROI7qDxhRvJ3sLhlFrRRwjwegp5jy4= github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= -github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/brianvoe/gofakeit v3.18.0+incompatible h1:wDOmHc9DLG4nRjUVVaxA+CEglKOW72Y5+4WNxUIkjM8= github.com/brianvoe/gofakeit v3.18.0+incompatible/go.mod h1:kfwdRA90vvNhPutZWfH7WPaDzUjz+CZFqG+rPkOjGOc= github.com/brianvoe/gofakeit/v6 v6.28.0 h1:Xib46XXuQfmlLS2EXRuJpqcw8St6qSZz75OUo0tgAW4= github.com/brianvoe/gofakeit/v6 v6.28.0/go.mod h1:Xj58BMSnFqcn/fAQeSK+/PLtC5kSb7FJIq4JyGa8vEs= -github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= -github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= +github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= +github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= @@ -176,9 +109,6 @@ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGX github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= -github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= -github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/craiggwilson/goke v0.0.0-20200309222237-69a77cdfe646/go.mod h1:IX+FckvUr3c6SNWSzspUD94HqCMFCW+sIK0lJGSkWkg= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -186,27 +116,20 @@ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/denisenkom/go-mssqldb v0.9.0 h1:RSohk2RsiZqLZ0zCjtfn3S4Gp4exhpBWHyQ7D0yGjAk= github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/dhui/dktest v0.4.0 h1:z05UmuXZHO/bgj/ds2bGMBu8FI4WA+Ag/m3ghL+om7M= github.com/dhui/dktest v0.4.0/go.mod h1:v/Dbz1LgCBOi2Uki2nUqLBGa83hWBGFMu5MrgMDCc78= github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= -github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v1.13.1/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v27.3.0+incompatible h1:BNb1QY6o4JdKpqwi9IB+HUYcRRrVN4aGFUTvDmWYK1A= github.com/docker/docker v27.3.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c= github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc= -github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= -github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= -github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= 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= @@ -215,59 +138,35 @@ github.com/envoyproxy/protoc-gen-validate v1.1.0 h1:tntQDh69XqOCOZsDz0lVJQez/2L6 github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4= github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f h1:Y/CXytFA4m6baUTXGLOoWe4PQhGxaX0KpnayAqC48p4= github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f/go.mod h1:vw97MGsxSvLiUE2X8qFplwetxpGLQrlU1Q9AUEIzCaM= -github.com/evanphx/json-patch/v5 v5.6.0 h1:b91NhWfaz02IuVxO9faSllyAtNXHMPkC5J8sJCLunww= -github.com/evanphx/json-patch/v5 v5.6.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= 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/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/frankban/quicktest v1.5.0/go.mod h1:jaStnuzAqU1AJdCO0l53JDCJrVDKcS03DbaAcR7Ks/o= -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/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= -github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= github.com/go-co-op/gocron v1.37.0 h1:ZYDJGtQ4OMhTLKOKMIch+/CY70Brbb1dGdooLEhh7b0= github.com/go-co-op/gocron v1.37.0/go.mod h1:3L/n6BkO7ABj+TrfSVXLRzsP26zmikL4ISkLQ0O8iNY= -github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= -github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-faster/city v1.0.1 h1:4WAxSZ3V2Ws4QRDrscLEDcibJY8uf41H6AhXDrNDcGw= github.com/go-faster/city v1.0.1/go.mod h1:jKcUJId49qdW3L1qKHH/3wPeUstCVpVSXTM6vO3VcTw= github.com/go-faster/errors v0.7.1 h1:MkJTnDoEdi9pDabt1dpWf7AA8/BaSYZqibYyhZ20AYg= github.com/go-faster/errors v0.7.1/go.mod h1:5ySTjWFiphBs07IKuiL69nxdfd5+fzh1u7FPGZP2quo= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-ini/ini v1.51.1/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= -github.com/go-ini/ini v1.67.0 h1:z6ZrTEZqSWOTyH2FlglNbNgARyHG8oLW9gMELqKr06A= -github.com/go-ini/ini v1.67.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= -github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= 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-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ= -github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg= 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/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= @@ -276,57 +175,26 @@ 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= github.com/go-openapi/validate v0.24.0/go.mod h1:iyeX1sEufmv3nPbBdX3ieNviWnOZaJ1+zquzJEf2BAQ= -github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y= github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= -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/gobs/pretty v0.0.0-20180724170744-09732c25a95b h1:/vQ+oYKu+JoyaMPDsv5FzwuL2wwWBgBbtj/YLCi4LuA= github.com/gobs/pretty v0.0.0-20180724170744-09732c25a95b/go.mod h1:Xo4aNUOrJnVruqWQJBtW6+bTBDTniY8yZum5rF3b5jw= -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/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA= -github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a h1:dR8+Q0uO5S2ZBcs2IH6VBKYwSxPo2vYCYq0ot0mu7xA= +github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= -github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= +github.com/gogo/status v1.1.1 h1:DuHXlSFHNKqTQ+/ACf5Vs6r4X/dH2EgIzR9Vr+H65kg= +github.com/gogo/status v1.1.1/go.mod h1:jpG3dM5QPcqu19Hg8lkUhBFBa3TcLs1DG7+2Jqci7oU= github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk= github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= github.com/golang-migrate/migrate/v4 v4.17.0 h1:rd40H3QXU0AA4IoLllFcEAEo9dYKRHYND2gB4p7xcaU= @@ -335,87 +203,45 @@ github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZ github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4 h1:l75CXGRSwbaYNpl/Z2X1XIIAMSCquvXgpVZDhwEIJsc= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= 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/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= -github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= 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.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= 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/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -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/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= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -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-20240525223248-4bfdf5a9a2af h1:kmjWCqn2qkEml422C2Rrd27c3VGxi6a/6HNq8QmHRKM= -github.com/google/pprof v0.0.0-20240525223248-4bfdf5a9a2af/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= -github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/tink/go v1.7.0 h1:6Eox8zONGebBFcCBqkVmt60LaWZa6xg1cl/DwAh/J1w= +github.com/google/tink/go v1.7.0/go.mod h1:GAUOd+QE3pgj9q8VKIGTCP33c/B7eb4NhxLcgTJZStM= github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -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/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gopherjs/gopherjs v0.0.0-20190430165422-3e4dfb77656c/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/grafana/grafana-api-golang-client v0.27.0 h1:zIwMXcbCB4n588i3O2N6HfNcQogCNTd/vPkEXTr7zX8= github.com/grafana/grafana-api-golang-client v0.27.0/go.mod h1:uNLZEmgKtTjHBtCQMwNn3qsx2mpMb8zU+7T4Xv3NR9Y= github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 h1:UH//fgunKIs4JdUbpDl1VZCDaL56wXCB/5+wF6uHfaI= @@ -451,34 +277,23 @@ github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/b github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.6.0 h1:uL2shRDx7RTrOrTCUZEGP/wJUFiUI8QT6E7z5o8jga4= github.com/hashicorp/golang-lru v0.6.0/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= -github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/hashicorp/memberlist v0.5.0 h1:EtYPN8DpAURiapus508I4n9CzHs2W+8NZGbmmR/prTM= github.com/hashicorp/memberlist v0.5.0/go.mod h1:yvyXLpo0QaGE59Y7hDTsTzDD25JYBZ4mHgHUZ8lrOI0= github.com/hashicorp/raft v1.7.0 h1:4u24Qn6lQ6uwziM++UgsyiT64Q8GyRn43CV41qPiz1o= github.com/hashicorp/raft v1.7.0/go.mod h1:N1sKh6Vn47mrWvEArQgILTyng8GoDRNYlgKyK7PMjs0= github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= -github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80sQsxDoMokWK1W5TQtxBFNpzWTD84ibQ= github.com/jackc/pgx v3.6.2+incompatible h1:2zP5OD7kiyR3xzRYMhOcXVvkDZsImVXfj+yIyTQf3/o= github.com/jackc/pgx v3.6.2+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= -github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= github.com/jmoiron/sqlx v1.3.5 h1:vFFPA71p1o5gAeqtEAwLU4dnX2napprKtHr7PYIcN3g= github.com/jmoiron/sqlx v1.3.5/go.mod h1:nRVWtLre0KfCLJvgxzCsLVMogSvQ1zNJtpYr2Ccp0mQ= -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/jotaen/kong-completion v0.0.5 h1:IGs/bw0BUMXDSAGooncsUwgg9EXcRNHeindSXApkM00= @@ -487,36 +302,22 @@ github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2E github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= 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/keybase/go-keychain v0.0.0-20231219164618-57a3676c3af6 h1:IsMZxCuZqKuao2vNdfD82fjjgPLfyHLpR41Z88viRWs= github.com/keybase/go-keychain v0.0.0-20231219164618-57a3676c3af6/go.mod h1:3VeWNIJaW+O5xpRQbPp0Ybqu1vJd/pm7s2F473HRrkw= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/compress v1.10.1/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.13.1/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.1/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.2.4 h1:acbojRNwl3o09bUq+yDCtZFc1aiwaAAxtcn8YkZXnvk= github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= -github.com/klauspost/pgzip v1.2.3/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/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= @@ -531,60 +332,38 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.8.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= 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/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.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-ieproxy v0.0.1 h1:qiyop7gCflfhwCzGyeT0gro3sF9AIg9HU98JORTkqfI= -github.com/mattn/go-ieproxy v0.0.1/go.mod h1:pYabZ6IHcRpFh7vIaLfK7rdcWgFEb3SFJ6/gNWuh88E= -github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4= github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88= -github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc= github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= -github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.14.0/go.mod h1:JIl7NbARA7phWnGvh0LKTyg7S9BA+6gx71ShQilpsus= github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y= github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= -github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= -github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/miekg/dns v1.1.26 h1:gPxPSwALAeHJSjarOs00QjVdV9QoBvc1D2ujQUr5BzU= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= -github.com/miekg/dns v1.1.50 h1:DQUfb9uc6smULcREF09Uc+/Gd46YWqJd5DbpPE9xkcA= -github.com/miekg/dns v1.1.50/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME= github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34= github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM= -github.com/minio/minio-go v6.0.14+incompatible h1:fnV+GD28LeqdN6vT2XdGKW8Qe/IfjJDswNVuni6km9o= -github.com/minio/minio-go v6.0.14+incompatible/go.mod h1:7guKYtitv8dktvNUGrhzmNlA5wrAABTQXCoesZdFQO8= github.com/minio/minio-go/v7 v7.0.55 h1:ZXqUO/8cgfHzI+08h/zGuTTFpISSA32BZmBE3FCLJas= github.com/minio/minio-go/v7 v7.0.55/go.mod h1:NUDy4A4oXPq1l2yK6LTSvCEzAMeIcoz9lcj5dbzSrRE= github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM= github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8= -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.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= @@ -598,9 +377,6 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/mongodb/mongo-tools v0.0.0-20210723181737-9fcadb98cca5/go.mod h1:ABxjl6eSrSq+hBDMGLnrWPO9XqHRVKEaGcRbw9vTLRk= -github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 h1:n6/2gBQ3RWajuToeY6ZtZTIKv2v7ThUy5KKusIT0yc0= -github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4= github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/montanaflynn/stats v0.7.1 h1:etflOAAHORrCC44V+aR6Ftzort912ZU+YLiSTuV8eaE= github.com/montanaflynn/stats v0.7.1/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= @@ -620,17 +396,8 @@ github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRW github.com/mwitkow/go-proto-validators v0.3.2 h1:qRlmpTzm2pstMKKzTdvwPCF5QfBNURSlAgN/R+qbKos= github.com/mwitkow/go-proto-validators v0.3.2/go.mod h1:ej0Qp0qMgHN/KtDyUt+Q1/tA7a5VarXUOUxD+oeD30w= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nsf/termbox-go v0.0.0-20160718140619-0723e7c3d0a3/go.mod h1:IuKpRQcYE1Tfu+oAQqaLisqDeXgjyyltCfsaoYN18NQ= -github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= -github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= 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 v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo/v2 v2.19.0 h1:9Cnnf7UHo57Hy3k6/m5k3dRfGTMXGvxhHFvkDTCTpvA= -github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To= -github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk= -github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0= -github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= @@ -638,41 +405,26 @@ github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2sz github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= 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/operator-framework/api v0.17.6 h1:E6+vlvYUKafvoXYtCuHlDZrXX4vl8AT+r93OxNlzjpU= -github.com/operator-framework/api v0.17.6/go.mod h1:l/cuwtPxkVUY7fzYgdust2m9tlmb8I4pOvbsUufRb24= -github.com/operator-framework/operator-lifecycle-manager v0.24.0 h1:9LOfvyohGEkNHwcOGOgw+w3ZAnGeT6JVh3CvIbWpnus= -github.com/operator-framework/operator-lifecycle-manager v0.24.0/go.mod h1:2zDUxcpW2idTLjRw36WlMetHZ50Nlf1C3JxASPfYS20= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/paulmach/orb v0.11.1 h1:3koVegMC4X/WeiXYz9iswopaTwMem53NzTJuTF20JzU= github.com/paulmach/orb v0.11.1/go.mod h1:5mULz1xQfs3bmQm63QEJA6lNGujuRafwA5S/EnuLaLU= github.com/paulmach/protoscan v0.2.1/go.mod h1:SpcSwydNLrxUGSDvXvO0P7g7AuhJ7lcKfDlhJCDw2gY= -github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= github.com/percona-lab/crypto v0.0.0-20231108144114-756dfb24eaf2 h1:FaO5loTAkRzVhyKWYRHg/ii9oWXNsqv89H/kGl9Cb5I= github.com/percona-lab/crypto v0.0.0-20231108144114-756dfb24eaf2/go.mod h1:aSyBXtGhRzSMdne9jbl3+PPMVS0IgOWF6Llc+HB5uUU= -github.com/percona-platform/dbaas-api v0.0.0-20230103182808-d79c449a9f4c h1:1JySfwdjVfc9ahl0466OX7nSQ7Z4SjQkLe3ZdLkMOJI= -github.com/percona-platform/dbaas-api v0.0.0-20230103182808-d79c449a9f4c/go.mod h1:/jgle33awfHq1va/T6NnNS5wWAETSnl6wUZ1bew+CJ0= github.com/percona-platform/saas v0.0.0-20230728161159-ad6bdeb8a3d9 h1:KkOH+Y4sVRP7qvRtTDmfPFNjjQcwU2054/jNl9DZhEo= github.com/percona-platform/saas v0.0.0-20230728161159-ad6bdeb8a3d9/go.mod h1:lZuFcqj0EoQWx28SYkTcdhJOCQEbRcAyahYPfRMY7tc= -github.com/percona/dbaas-operator v0.1.6 h1:NsZXDKcPXk38kET+X6r8Es+3Supyu5XJZMS0gqPejKs= -github.com/percona/dbaas-operator v0.1.6/go.mod h1:52B/kh+Jmtfv0JiZgDcc34qgbwwEi9U4A3311JBxIZg= github.com/percona/exporter_shared v0.7.5 h1:sIhdDtKOfH0jsqtTAi41C7wm1R42yXYeAkK0QWhgN7k= github.com/percona/exporter_shared v0.7.5/go.mod h1:P8ZHDzveyJRGD4ZIRNiEMuAdDexBpQWf2mAVwtyVcYU= github.com/percona/go-mysql v0.0.0-20210427141028-73d29c6da78c h1:1SZ7nS+kSaO63IpaKspf/gf8602QcgP2eXNPMNOIc0M= github.com/percona/go-mysql v0.0.0-20210427141028-73d29c6da78c/go.mod h1:/SGLf9OMxlnK6jq4mkFiImBcJXXk5jwD+lDrwDaGXcw= -github.com/percona/percona-backup-mongodb v1.8.1 h1:Fc2DzIh2N+ioNgBlNg0wAJw8yRt3IoXOKQcQAFbPt6g= -github.com/percona/percona-backup-mongodb v1.8.1/go.mod h1:KcY2y93p+gcYF1iMJgcxbsWEpZdUJWsDA59aAL3zqPY= github.com/percona/percona-toolkit v3.2.1+incompatible h1:5jLvtZKcu9fDmaLRB8qA4bLR727t5iYyguHJJQTk9w0= github.com/percona/percona-toolkit v3.2.1+incompatible/go.mod h1:netQWdWMaF1cnmwiIS+i5uyaqNXz46yNeM6HKkR6yeI= github.com/percona/promconfig v0.2.5 h1:f/HN/CbECQs7d9RIB6MKVkuXstsrsqEDxRvf6yigquc= github.com/percona/promconfig v0.2.5/go.mod h1:Y2uXi5QNk71+ceJHuI9poank+0S1kjxd3K105fXKVkg= github.com/pganalyze/pg_query_go/v5 v5.1.0 h1:MlxQqHZnvA3cbRQYyIrjxEjzo560P6MyTgtlaf3pmXg= github.com/pganalyze/pg_query_go/v5 v5.1.0/go.mod h1:FsglvxidZsVN+Ltw3Ai6nTgPVcK2BPukH3jCDEqc1Ug= -github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pierrec/lz4 v2.3.0+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM= -github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= @@ -689,13 +441,9 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXqo= github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= -github.com/prometheus/alertmanager v0.27.0 h1:V6nTa2J5V4s8TG4C4HtrBP/WNSebCCTYGGv4qecA/+I= -github.com/prometheus/alertmanager v0.27.0/go.mod h1:8Ia/R3urPmbzJ8OsdvmZvIprDwvwmYCmUbwBL+jlPOE= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.20.4 h1:Tgh3Yr67PaOv/uTqloMsCEdeuFTatm5zIq5+qNN23vI= github.com/prometheus/client_golang v1.20.4/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= @@ -706,20 +454,11 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.60.0 h1:+V9PAREWNvJMAuJ1x1BaWl9dewMW4YrHZQbx0sJNllA= github.com/prometheus/common v0.60.0/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= -github.com/prometheus/common/sigv4 v0.1.0 h1:qoVebwtwwEhS85Czm2dSROY5fTo2PAPEVdDeppTwGX4= -github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI= -github.com/prometheus/exporter-toolkit v0.11.0 h1:yNTsuZ0aNCNFQ3aFTD2uhPOvr4iD7fdBvKPAEGkNf+g= -github.com/prometheus/exporter-toolkit v0.11.0/go.mod h1:BVnENhnNecpwoTLiABx7mrPB/OLRIgN74qlQbV+FK1Q= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/ramr/go-reaper v0.2.1 h1:zww+wlQOvTjBZuk1920R/e0GFEb6O7+B0WQLV6dM924= @@ -733,9 +472,6 @@ github.com/riywo/loginshell v0.0.0-20200815045211-7d26008be1ab h1:ZjX6I48eZSFetP github.com/riywo/loginshell v0.0.0-20200815045211-7d26008be1ab/go.mod h1:/PfPXh0EntGc3QAAyUaviy4S9tzy4Zp0e2ilq4voC6E= github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= -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.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= @@ -746,28 +482,14 @@ github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUt github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/segmentio/asm v1.2.0 h1:9BQrFxC+YOHJlTlHGkTrFWf59nbL3XnCoFLTwDCI7ys= github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs= -github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= -github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k= github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME= -github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749 h1:bUGsEnyNbVPw06Bs80sCeARAlK8lhwqGyi6UT8ymuGk= -github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= -github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546 h1:pXY9qYc/MP5zdvqWEUH6SjNiu7VhSjuVFTFiTcphaLU= -github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -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.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= 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/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= @@ -787,56 +509,41 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= -github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= -github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= 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/scram v1.1.1/go.mod h1:RaEWvsqvNKKvBPvcKeFjrG2cJqOkHTiyTpzz23ni57g= github.com/xdg-go/scram v1.1.2 h1:FHX5I5B4i4hKRVRBCFRxq1iQRej7WO3hhBuJf+UUySY= github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3kKLN4= -github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= 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/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ= -github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= +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/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a h1:fZHgsYlfvtyqToslyjUt3VOPF4J7aK/3MPcK7xp3PDk= github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a/go.mod h1:ul22v+Nro/R083muKhosV54bj5niojjWZvU8xrevuH4= -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= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -go.mongodb.org/mongo-driver v1.6.0/go.mod h1:Q4oFMbo1+MSNqICAdYMlC/zSTrwCogR4R8NzkI+yfU8= -go.mongodb.org/mongo-driver v1.7.0/go.mod h1:Q4oFMbo1+MSNqICAdYMlC/zSTrwCogR4R8NzkI+yfU8= go.mongodb.org/mongo-driver v1.11.4/go.mod h1:PTSz5yu21bkT/wXpkS7WR5f0ddqw5quethTUn9WM+2g= go.mongodb.org/mongo-driver v1.16.1 h1:rIVLL3q0IHM39dvE+z2ulZLp9ENZKThVfuvN/IiN4l8= go.mongodb.org/mongo-driver v1.16.1/go.mod h1:oB6AhJQvFQL4LEHyXi6aJzQJtBiTQHiAd83l0GdFaiw= -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.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 h1:4K4tsIXefpVJtvA/8srF4V4y0akAoPHkIslgAkjixJA= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0/go.mod h1:jjdQuTGVsXV4vSs+CJ2qYDeDPf9yIJV23qlIzBm73Vg= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= go.opentelemetry.io/otel v1.28.0 h1:/SqNcYk+idO0CxKEUOtKQClMK/MimZihKYMruSMViUo= go.opentelemetry.io/otel v1.28.0/go.mod h1:q68ijF8Fc8CnMHKyzqL6akLO46ePnjkgfIMIjUIX9z4= -go.opentelemetry.io/otel/exporters/otlp v0.20.0 h1:PTNgq9MRmQqqJY0REVbZFvwkYOA85vbdQU/nVfxDyqg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0 h1:3Q/xZUyC1BBkualc9ROb4G8qkH90LXEIICcs5zv1OYY= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0/go.mod h1:s75jGIWA9OfCMzF0xr+ZgfrB5FEbbV7UuYo32ahUiFI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.22.0 h1:9M3+rhx7kZCIQQhQRYaZCdNu1V73tm4TvXs2ntl98C4= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.22.0/go.mod h1:noq80iT8rrHP1SfybmPiRGc9dc5M8RPmGvtwo7Oo7tc= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.22.0 h1:FyjCyI9jVEfqhUh2MoSkmolPjfh5fp2hnV0b0irxH4Q= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.22.0/go.mod h1:hYwym2nDEeZfG/motx0p7L7J1N1vyzIThemQsb4g2qY= go.opentelemetry.io/otel/metric v1.28.0 h1:f0HGvSl1KRAU1DLgLGFjrwVyismPlnuU6JD6bOeuA5Q= go.opentelemetry.io/otel/metric v1.28.0/go.mod h1:Fb1eVBFZmLVTMb6PPohq3TO9IIhUisDsbJoL/+uQW4s= -go.opentelemetry.io/otel/sdk v1.28.0 h1:b9d7hIry8yZsgtbmM0DKyPWMMUMlK9NEKuIG4aBqWyE= -go.opentelemetry.io/otel/sdk v1.28.0/go.mod h1:oYj7ClPUA7Iw3m+r7GeEjz0qckQRJK2B8zjcZEfu7Pg= +go.opentelemetry.io/otel/sdk v1.24.0 h1:YMPPDNymmQN3ZgczicBY3B6sf9n62Dlj9pWD3ucgoDw= +go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg= go.opentelemetry.io/otel/trace v1.28.0 h1:GhQ9cUuQGmNDd5BTCP2dAvv75RdMxEfTmYejp+lkx9g= go.opentelemetry.io/otel/trace v1.28.0/go.mod h1:jPyXzNPg6da9+38HEwElrQiHlVMTnVfM3/yv2OlIHaI= -go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= -go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= +go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= +go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= go.starlark.net v0.0.0-20230717150657-8a3343210976 h1:7ljYNcZU84T2N0tZdDgvL7U3M4iFmglAUUU1gRFE/2Q= go.starlark.net v0.0.0-20230717150657-8a3343210976/go.mod h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= @@ -844,51 +551,27 @@ go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= -go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= -go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= -go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= -go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= -go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= 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-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc h1:mCRnTeVUjcrhlRmO0VK8a6k6Rrf6TF9htwo2pJVSjIU= -golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= +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= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -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/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= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -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.2/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= @@ -897,62 +580,29 @@ golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191112182307-2180aed22343/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -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-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -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-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs= golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 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-20210220032951-036812b2e83c/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= @@ -964,46 +614,14 @@ golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5h 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-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= -golang.org/x/sys v0.0.0-20190804053845-51ab0e2deafa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191112214154-59a1497f0cea/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -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-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200828194041-157a740278f4/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-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-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1022,7 +640,6 @@ golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.13.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-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.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= @@ -1030,14 +647,10 @@ golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= @@ -1045,9 +658,6 @@ golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1057,54 +667,16 @@ golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= 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-20190328211700-ab21143f2384/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-20190424220101-1e8e1cfdf96b/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= 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= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -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-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= 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= @@ -1113,81 +685,28 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -gomodules.xyz/jsonpatch/v2 v2.2.0 h1:4pT439QV83L+G9FkcCriY6EkpcK6r6bK+A5FBUMI7qY= -gomodules.xyz/jsonpatch/v2 v2.2.0/go.mod h1:WXp+iVDkoLQqPudfQ9GBlwB2eZ5DKOnjQZCYdOS8GPY= gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.8.2 h1:CCXrcPKiGGotvnN6jfUsKk4rRqm7q09/YbKb5xCEvtM= gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -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/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/genproto v0.0.0-20180518175338-11a468237815/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= 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= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -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/googleapis/api v0.0.0-20240814211410-ddb44dafa142 h1:wKguEg1hsxI2/L3hUYrpo1RVi48K+uTyzKqprwLXsb8= google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142/go.mod h1:d6be+8HhtEtucleCbxpPW9PA9XwISACu8nvpPqF0BVo= google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= 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.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= @@ -1196,15 +715,14 @@ google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQ google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +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= @@ -1212,16 +730,10 @@ gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8 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= -gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= -gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/ini.v1 v1.42.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/reform.v1 v1.5.1 h1:7vhDFW1n1xAPC6oDSvIvVvpRkaRpXlxgJ4QB4s3aDdo= gopkg.in/reform.v1 v1.5.1/go.mod h1:AIv0CbDRJ0ljQwptGeaIXfpDRo02uJwTq92aMFELEeU= -gopkg.in/tomb.v2 v2.0.0-20140626144623-14b3d72120e8/go.mod h1:BHsqpu/nsuzkT5BpiH1EMZPLyqSMM8JbIavyFACoFNk= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -1231,50 +743,11 @@ 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= gotest.tools/v3 v3.3.0 h1:MfDY1b1/0xN1CyMlQDac0ziEy9zJQd9CXBRRDHw2jJo= gotest.tools/v3 v3.3.0/go.mod h1:Mcr9QNxkg0uMvy/YElmo4SpXgJKWgQvYrT7Kw5RzJ1A= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.31.1 h1:Xe1hX/fPW3PXYYv8BlozYqw63ytA92snr96zMW9gWTU= -k8s.io/api v0.31.1/go.mod h1:sbN1g6eY6XVLeqNsZGLnI5FwVseTrZX7Fv3O26rhAaI= -k8s.io/apiextensions-apiserver v0.31.1 h1:L+hwULvXx+nvTYX/MKM3kKMZyei+UiSXQWciX/N6E40= -k8s.io/apiextensions-apiserver v0.31.1/go.mod h1:tWMPR3sgW+jsl2xm9v7lAyRF1rYEK71i9G5dRtkknoQ= -k8s.io/apimachinery v0.31.1 h1:mhcUBbj7KUjaVhyXILglcVjuS4nYXiwC+KKFBgIVy7U= -k8s.io/apimachinery v0.31.1/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= -k8s.io/cli-runtime v0.31.1 h1:/ZmKhmZ6hNqDM+yf9s3Y4KEYakNXUn5sod2LWGGwCuk= -k8s.io/cli-runtime v0.31.1/go.mod h1:pKv1cDIaq7ehWGuXQ+A//1OIF+7DI+xudXtExMCbe9U= -k8s.io/client-go v0.31.1 h1:f0ugtWSbWpxHR7sjVpQwuvw9a3ZKLXX0u0itkFXufb0= -k8s.io/client-go v0.31.1/go.mod h1:sKI8871MJN2OyeqRlmA4W4KM9KBdBUpDLu/43eGemCg= -k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= -k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= -k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag= -k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340/go.mod h1:yD4MZYeKMBwQKVht279WycxKyM84kkAx2DPrTXaeb98= -k8s.io/kubectl v0.30.3 h1:YIBBvMdTW0xcDpmrOBzcpUVsn+zOgjMYIu7kAq+yqiI= -k8s.io/kubectl v0.30.3/go.mod h1:IcR0I9RN2+zzTRUa1BzZCm4oM0NLOawE6RzlDvd1Fpo= -k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1J8+AsQnQCKsi8A= -k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/controller-runtime v0.14.6 h1:oxstGVvXGNnMvY7TAESYk+lzr6S3V5VFxQ6d92KcwQA= -sigs.k8s.io/controller-runtime v0.14.6/go.mod h1:WqIdsAY6JBsjfc/CqO0CORmNtoCtE4S6qbPc9s68h+0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/kustomize/api v0.17.2 h1:E7/Fjk7V5fboiuijoZHgs4aHuexi5Y2loXlVOAVAG5g= -sigs.k8s.io/kustomize/api v0.17.2/go.mod h1:UWTz9Ct+MvoeQsHcJ5e+vziRRkwimm3HytpZgIYqye0= -sigs.k8s.io/kustomize/kyaml v0.17.1 h1:TnxYQxFXzbmNG6gOINgGWQt09GghzgTP6mIurOgrLCQ= -sigs.k8s.io/kustomize/kyaml v0.17.1/go.mod h1:9V0mCjIEYjlXuCdYsSXvyoy2BTsLESH7TlGV81S282U= -sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4= -sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08= -sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= -sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= From 5b97bc04ddd3c54d8ce31eaec9313280bc67bae5 Mon Sep 17 00:00:00 2001 From: Nurlan Moldomurov Date: Fri, 18 Oct 2024 01:57:50 +0300 Subject: [PATCH 20/24] PMM-11180 fix migration. --- ...t_column.down.sql => 18_remove_explain_format_column.down.sql} | 0 ...ormat_column.up.sql => 18_remove_explain_format_column.up.sql} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename qan-api2/migrations/sql/{17_remove_explain_format_column.down.sql => 18_remove_explain_format_column.down.sql} (100%) rename qan-api2/migrations/sql/{17_remove_explain_format_column.up.sql => 18_remove_explain_format_column.up.sql} (100%) diff --git a/qan-api2/migrations/sql/17_remove_explain_format_column.down.sql b/qan-api2/migrations/sql/18_remove_explain_format_column.down.sql similarity index 100% rename from qan-api2/migrations/sql/17_remove_explain_format_column.down.sql rename to qan-api2/migrations/sql/18_remove_explain_format_column.down.sql diff --git a/qan-api2/migrations/sql/17_remove_explain_format_column.up.sql b/qan-api2/migrations/sql/18_remove_explain_format_column.up.sql similarity index 100% rename from qan-api2/migrations/sql/17_remove_explain_format_column.up.sql rename to qan-api2/migrations/sql/18_remove_explain_format_column.up.sql From 71084183a3f7cce772094f19ec64d78a10f4dc89 Mon Sep 17 00:00:00 2001 From: Nurlan Moldomurov Date: Fri, 18 Oct 2024 02:20:14 +0300 Subject: [PATCH 21/24] PMM-11180 fix linter. --- agent/agentlocal/agent_local_test.go | 4 ++-- managed/services/inventory/grpc/agents_server.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/agent/agentlocal/agent_local_test.go b/agent/agentlocal/agent_local_test.go index 69d0e48247..8640cb49d4 100644 --- a/agent/agentlocal/agent_local_test.go +++ b/agent/agentlocal/agent_local_test.go @@ -46,7 +46,7 @@ func TestServerStatus(t *testing.T) { var supervisor mockSupervisor supervisor.Test(t) supervisor.On("AgentsList").Return(agentInfo) - var client mockClient + client := &mockClient{} client.Test(t) client.On("GetServerConnectMetadata").Return(&agentv1.ServerConnectMetadata{ AgentRunsOnNodeID: "00000000-0000-4000-8000-000000000003", @@ -61,7 +61,7 @@ func TestServerStatus(t *testing.T) { Password: "password", }, }) - return agentInfo, &supervisor, &client, cfgStorage + return agentInfo, &supervisor, client, cfgStorage } t.Run("without network info", func(t *testing.T) { diff --git a/managed/services/inventory/grpc/agents_server.go b/managed/services/inventory/grpc/agents_server.go index 764a2d1114..18e341039f 100644 --- a/managed/services/inventory/grpc/agents_server.go +++ b/managed/services/inventory/grpc/agents_server.go @@ -211,7 +211,7 @@ func (s *agentsServer) AddAgent(ctx context.Context, req *inventoryv1.AddAgentRe // ChangeAgent allows to change some Agent attributes. func (s *agentsServer) ChangeAgent(ctx context.Context, req *inventoryv1.ChangeAgentRequest) (*inventoryv1.ChangeAgentResponse, error) { - agentID := req.GetAgentId() + agentID := req.GetAgentId() //nolint:typecheck switch req.Agent.(type) { case *inventoryv1.ChangeAgentRequest_NodeExporter: From 6a679365f8ee2e49a81bee9e40f4546df0dbb4c7 Mon Sep 17 00:00:00 2001 From: Nurlan Moldomurov Date: Fri, 18 Oct 2024 19:09:43 +0300 Subject: [PATCH 22/24] PMM-11180 upgrade matrix (#3246) * PMM-7 Update pg_query_go * PMM-7 Update test case * PMM-7 Update PostgreSQL versions * PMM-7 Update digests * PMM-7 Update digests * PMM-7 Update digests * PMM-7 go mod tidy * PMM-11180 update matrix and fix pgstatstatements_test.go. * PMM-11180 fix mongodb tests. * PMM-11180 fix mongodb tests. * PMM-11180 fix mongodb tests. * PMM-11180 fix mongodb tests. * PMM-11180 fix init scripts for mongodb. * PMM-11180 update mongodb version. * PMM-11180 add debug info on fail. * PMM-11180 Improvements. * PMM-11180 update docker-compose.yml. * PMM-11180 update docker-compose.yml. * PMM-11180 provide more debug info. * PMM-11180 revert host related changes. * PMM-11180 revert host related changes. * PMM-11180 fix test. * PMM-11180 fix tests. * PMM-11180 fix tests. * PMM-11180 fix tests. * PMM-11180 fix tests. * PMM-11180 fix tests. * PMM-11180 fix tests. * PMM-11180 fix tests. * PMM-11180 fix MySQL explain json output for MariaDB 11. * PMM-11180 fix MySQL explain json test for MariaDB 11. * PMM-11180 fix perfschema tests. * PMM-11180 fix perfschema tests for MariaDB. * PMM-11180 fix linter and mongodb test. * PMM-11180 fix test. * PMM-11180 fixing tests. * PMM-11180 fixing tests. * PMM-11180 fixing tests. * PMM-11180 fixing linter. --- .github/workflows/agent.yml | 25 +++++---- .../internal/profiler/profiler_test.go | 52 ++---------------- agent/agents/mysql/perfschema/history.go | 8 ++- agent/agents/mysql/perfschema/models.go | 19 +++++++ agent/agents/mysql/perfschema/perfschema.go | 11 +++- .../mysql/perfschema/perfschema_test.go | 55 +++++++++++++------ .../pgstatstatements/pgstatstatements_test.go | 26 +-------- .../connection_checker_test.go | 2 +- agent/docker-compose.yml | 41 ++++++-------- agent/packages.dot | 2 - .../actions/mongodb_explain_action_test.go | 35 +++++++----- .../mongodb_query_admincommand_action_test.go | 6 +- .../actions/mysql_explain_action_test.go | 6 +- .../mysql_show_create_table_action_test.go | 2 +- .../actions/mysql_show_index_action_test.go | 5 +- .../postgresql_query_show_action_test.go | 6 +- agent/testscripts/mongo_repl.sh | 19 +++++++ agent/testscripts/mongo_repl_with_ssl.sh | 19 +++++++ agent/utils/tests/mongodb.go | 11 +++- 19 files changed, 188 insertions(+), 162 deletions(-) create mode 100755 agent/testscripts/mongo_repl.sh create mode 100755 agent/testscripts/mongo_repl_with_ssl.sh diff --git a/.github/workflows/agent.yml b/.github/workflows/agent.yml index a6a1ea3d41..2e9e0609ae 100644 --- a/.github/workflows/agent.yml +++ b/.github/workflows/agent.yml @@ -28,15 +28,18 @@ jobs: strategy: matrix: images: - - { mysql: 'mysql:5.6', mongo: 'mongo:4.4', postgres: 'postgres:14', pmm_server: 'perconalab/pmm-server:3-dev-latest' } - - { mysql: 'mysql:5.7', mongo: 'mongo:4.4', postgres: 'postgres:15', pmm_server: 'perconalab/pmm-server:3-dev-latest' } - - { mysql: 'mysql:8.0', mongo: 'mongo:4.4', postgres: 'postgres:16', pmm_server: 'perconalab/pmm-server:3-dev-latest' } - - { mysql: 'mysql:8.0', mongo: 'mongo:4.4', postgres: 'postgres:17rc1', pmm_server: 'perconalab/pmm-server:3-dev-latest' } + - { mysql: 'mysql:5.6', mongo: 'mongo:4.4', postgres: 'postgres:13', pmm_server: 'perconalab/pmm-server:3-dev-latest' } + - { mysql: 'mysql:5.7', mongo: 'mongo:5.0', postgres: 'postgres:14', pmm_server: 'perconalab/pmm-server:3-dev-latest' } + - { mysql: 'mysql:8.0', mongo: 'mongo:6.0', postgres: 'postgres:15', pmm_server: 'perconalab/pmm-server:3-dev-latest' } + - { mysql: 'mysql:lts', mongo: 'mongo:7.0', postgres: 'postgres:16', pmm_server: 'perconalab/pmm-server:3-dev-latest' } + - { mysql: 'mysql:latest', mongo: 'mongo:latest', postgres: 'postgres:latest', pmm_server: 'perconalab/pmm-server:3-dev-latest' } # Percona + latest PMM Server release - - { mysql: 'percona:5.6', mongo: 'percona/percona-server-mongodb:4.4', postgres: 'perconalab/percona-distribution-postgresql:15', pg_libs: 'pg_stat_statements,pg_stat_monitor', pmm_server: 'perconalab/pmm-server:3-dev-latest' } - - { mysql: 'percona:5.7', mongo: 'percona/percona-server-mongodb:4.4', postgres: 'perconalab/percona-distribution-postgresql:16', pg_libs: 'pg_stat_statements,pg_stat_monitor', pmm_server: 'perconalab/pmm-server:3-dev-latest' } - - { mysql: 'percona:8.0', mongo: 'percona/percona-server-mongodb:4.4', postgres: 'perconalab/percona-distribution-postgresql:17-dev', pg_libs: 'pg_stat_statements,pg_stat_monitor', pmm_server: 'perconalab/pmm-server:3-dev-latest' } + - { mysql: 'percona:5.6', mongo: 'percona/percona-server-mongodb:4.4', postgres: 'perconalab/percona-distribution-postgresql:14', pg_libs: 'pg_stat_statements,pg_stat_monitor', pmm_server: 'perconalab/pmm-server:3-dev-latest' } + - { mysql: 'percona:5.7', mongo: 'percona/percona-server-mongodb:5.0', postgres: 'perconalab/percona-distribution-postgresql:15', pg_libs: 'pg_stat_statements,pg_stat_monitor', pmm_server: 'perconalab/pmm-server:3-dev-latest' } + - { mysql: 'percona:8.0', mongo: 'percona/percona-server-mongodb:6.0', postgres: 'perconalab/percona-distribution-postgresql:16', pg_libs: 'pg_stat_statements,pg_stat_monitor', pmm_server: 'perconalab/pmm-server:3-dev-latest' } + - { mysql: 'percona:8', mongo: 'percona/percona-server-mongodb:7.0', postgres: 'perconalab/percona-distribution-postgresql:17', pg_libs: 'pg_stat_statements,pg_stat_monitor', pmm_server: 'perconalab/pmm-server:3-dev-latest' } + - { mysql: 'percona:latest', mongo: 'percona/percona-server-mongodb:latest', postgres: 'perconalab/percona-distribution-postgresql:latest', pg_libs: 'pg_stat_statements,pg_stat_monitor', pmm_server: 'perconalab/pmm-server:3-dev-latest' } # MariaDB (only 3 latest GA versions) # + older supported MongoDB versions @@ -46,9 +49,9 @@ jobs: # - MYSQL_IMAGE=mariadb:10.0 # - MYSQL_IMAGE=mariadb:10.1 - - { mysql: 'mariadb:10.2', mongo: 'mongo:4.4', postgres: 'postgres:12', pmm_server: 'perconalab/pmm-server:3-dev-latest' } - - { mysql: 'mariadb:10.3', mongo: 'percona/percona-server-mongodb:4.4', postgres: 'postgres:13', pmm_server: 'perconalab/pmm-server:3-dev-latest' } - - { mysql: 'mariadb:10.4', postgres: 'postgres:14', pmm_server: 'perconalab/pmm-server:3-dev-latest' } + - { mysql: 'mariadb:11.2', mongo: 'mongo:4.4', postgres: 'postgres:12', pmm_server: 'perconalab/pmm-server:3-dev-latest' } + - { mysql: 'mariadb:11.4', mongo: 'percona/percona-server-mongodb:4.4', postgres: 'perconalab/percona-distribution-postgresql:13', pg_libs: 'pg_stat_statements,pg_stat_monitor', pmm_server: 'perconalab/pmm-server:3-dev-latest' } + - { mysql: 'mariadb:11.5', postgres: 'postgres:13', pmm_server: 'perconalab/pmm-server:3-dev-latest' } continue-on-error: true @@ -120,3 +123,5 @@ jobs: echo "--- GO Environment ---" go env | sort git status + docker compose logs + docker compose ps -a diff --git a/agent/agents/mongodb/internal/profiler/profiler_test.go b/agent/agents/mongodb/internal/profiler/profiler_test.go index b6e044ee02..c4c4802243 100644 --- a/agent/agents/mongodb/internal/profiler/profiler_test.go +++ b/agent/agents/mongodb/internal/profiler/profiler_test.go @@ -16,9 +16,7 @@ package profiler import ( "context" - "encoding/json" "fmt" - "os" "sort" "strings" "testing" @@ -32,7 +30,6 @@ import ( "github.com/percona/pmm/agent/agents/mongodb/internal/profiler/aggregator" "github.com/percona/pmm/agent/agents/mongodb/internal/report" - "github.com/percona/pmm/agent/runner/actions" "github.com/percona/pmm/agent/utils/templates" "github.com/percona/pmm/agent/utils/tests" "github.com/percona/pmm/agent/utils/truncate" @@ -69,11 +66,11 @@ func TestProfiler(t *testing.T) { tempDir := t.TempDir() sslDSN, err := templates.RenderDSN(sslDSNTemplate, files, tempDir) require.NoError(t, err) - for _, url := range []string{ - "mongodb://root:root-password@127.0.0.1:27017/admin", - sslDSN, + for name, url := range map[string]string{ + "normal": tests.GetTestMongoDBDSN(t), + "ssl": sslDSN, } { - t.Run(url, func(t *testing.T) { + t.Run(name, func(t *testing.T) { testProfiler(t, url) }) } @@ -210,47 +207,6 @@ func testProfiler(t *testing.T, url string) { require.NotNil(t, findBucket) assert.Equal(t, "FIND people name_00\ufffd", findBucket.Common.Fingerprint) assert.Equal(t, docsCount, findBucket.Mongodb.MDocsReturnedSum) - - // PMM-4192 This seems to be out of place because it is an Explain test but there was a problem with - // the new MongoDB driver and bson.D and we were capturing invalid queries in the profiler. - // This test is here to ensure the query example the profiler captures is valid to be used in Explain. - t.Run("TestMongoDBExplain", func(t *testing.T) { - id := "abcd1234" - - params := &agentv1.StartActionRequest_MongoDBExplainParams{ - Dsn: tests.GetTestMongoDBDSN(t), - Query: findBucket.Common.Example, - } - - ex, err := actions.NewMongoDBExplainAction(id, 5*time.Second, params, os.TempDir()) - require.NoError(t, err) - - ctx, cancel := context.WithTimeout(context.Background(), ex.Timeout()) - defer cancel() - res, err := ex.Run(ctx) - assert.Nil(t, err) - - want := map[string]interface{}{ - "indexFilterSet": false, - "namespace": "test_00.people", - "parsedQuery": map[string]interface{}{ - "name_00\ufffd": map[string]interface{}{ - "$eq": "value_00\ufffd", - }, - }, - "plannerVersion": map[string]interface{}{"$numberInt": "1"}, - "rejectedPlans": []interface{}{}, - } - - explainM := make(map[string]interface{}) - err = json.Unmarshal(res, &explainM) - assert.Nil(t, err) - queryPlanner, ok := explainM["queryPlanner"].(map[string]interface{}) - want["winningPlan"] = queryPlanner["winningPlan"] - assert.Equal(t, ok, true) - assert.NotEmpty(t, queryPlanner) - assert.Equal(t, want, queryPlanner) - }) } func cleanUpDBs(t *testing.T, sess *mongo.Client) { diff --git a/agent/agents/mysql/perfschema/history.go b/agent/agents/mysql/perfschema/history.go index 1e3faf25fa..ac1d5c434d 100644 --- a/agent/agents/mysql/perfschema/history.go +++ b/agent/agents/mysql/perfschema/history.go @@ -43,8 +43,12 @@ func newHistoryCache(typ historyMap, retain time.Duration, sizeLimit uint, l *lo return &historyCache{c}, err } -func getHistory(q *reform.Querier) (historyMap, error) { - rows, err := q.SelectRows(eventsStatementsHistoryView, "WHERE DIGEST IS NOT NULL AND SQL_TEXT IS NOT NULL") +func getHistory(q *reform.Querier, long *bool) (historyMap, error) { + view := eventsStatementsHistoryView + if long != nil && *long { + view = eventsStatementsHistoryLongView + } + rows, err := q.SelectRows(view, "WHERE DIGEST IS NOT NULL AND SQL_TEXT IS NOT NULL") if err != nil { return nil, errors.Wrap(err, "failed to query events_statements_history") } diff --git a/agent/agents/mysql/perfschema/models.go b/agent/agents/mysql/perfschema/models.go index 721f76ff38..9adbb944cd 100644 --- a/agent/agents/mysql/perfschema/models.go +++ b/agent/agents/mysql/perfschema/models.go @@ -14,6 +14,8 @@ package perfschema +import "gopkg.in/reform.v1/parse" + //go:generate ../../../../bin/reform // eventsStatementsSummaryByDigest represents a row in performance_schema.events_statements_summary_by_digest table. @@ -121,3 +123,20 @@ type setupInstruments struct { Enabled string `reform:"ENABLED"` Timed *string `reform:"TIMED"` // nullable in 8.0 } + +// eventsStatementsHistoryView represents events_statements_history view or table in SQL database. +var eventsStatementsHistoryLongView = &eventsStatementsHistoryViewType{ + s: parse.StructInfo{ + Type: "eventsStatementsHistory", + SQLSchema: "performance_schema", + SQLName: "events_statements_history_long", + Fields: []parse.FieldInfo{ + {Name: "SQLText", Type: "*string", Column: "SQL_TEXT"}, + {Name: "Digest", Type: "*string", Column: "DIGEST"}, + {Name: "DigestText", Type: "*string", Column: "DIGEST_TEXT"}, + {Name: "CurrentSchema", Type: "*string", Column: "CURRENT_SCHEMA"}, + }, + PKFieldIndex: -1, + }, + z: (&eventsStatementsHistory{}).Values(), +} diff --git a/agent/agents/mysql/perfschema/perfschema.go b/agent/agents/mysql/perfschema/perfschema.go index 08704273bd..7da93c9781 100644 --- a/agent/agents/mysql/perfschema/perfschema.go +++ b/agent/agents/mysql/perfschema/perfschema.go @@ -35,6 +35,7 @@ import ( "github.com/percona/pmm/agent/queryparser" "github.com/percona/pmm/agent/tlshelpers" "github.com/percona/pmm/agent/utils/truncate" + "github.com/percona/pmm/agent/utils/version" agentv1 "github.com/percona/pmm/api/agent/v1" inventoryv1 "github.com/percona/pmm/api/inventory/v1" "github.com/percona/pmm/utils/sqlmetrics" @@ -67,6 +68,7 @@ type PerfSchema struct { changes chan agents.Change historyCache *historyCache summaryCache *summaryCache + useLong *bool } // Params represent Agent parameters. @@ -274,7 +276,14 @@ func (m *PerfSchema) runHistoryCacheRefresher(ctx context.Context) { } func (m *PerfSchema) refreshHistoryCache() error { - current, err := getHistory(m.q) + if m.useLong == nil { + sqlVersion, vendor, err := version.GetMySQLVersion(context.Background(), m.q) + if err != nil { + return errors.Wrap(err, "cannot get MySQL version") + } + m.useLong = pointer.ToBool(vendor == version.MariaDBVendor && sqlVersion.Float() >= 11) + } + current, err := getHistory(m.q, m.useLong) if err != nil { return err } diff --git a/agent/agents/mysql/perfschema/perfschema_test.go b/agent/agents/mysql/perfschema/perfschema_test.go index e4c43175b4..f45484e485 100644 --- a/agent/agents/mysql/perfschema/perfschema_test.go +++ b/agent/agents/mysql/perfschema/perfschema_test.go @@ -201,6 +201,15 @@ func setup(t *testing.T, sp *setupParams) *PerfSchema { // filter removes buckets for queries that are not expected by tests. func filter(mb []*agentv1.MetricsBucket) []*agentv1.MetricsBucket { + filterList := map[string]struct{}{ + "ANALYZE TABLE `city`": {}, // OpenTestMySQL + "SHOW GLOBAL VARIABLES WHERE `Variable_name` = ?": {}, // MySQLVersion + "SHOW VARIABLES LIKE ?": {}, // MariaDBVersion + "SELECT `id` FROM `city` LIMIT ?": {}, // waitForFixtures + "SELECT ID FROM `city` LIMIT ?": {}, // waitForFixtures for MariaDB + "SELECT COUNT ( * ) FROM `city`": {}, // actions tests + "CREATE TABLE IF NOT EXISTS `t1` ( `col1` CHARACTER (?) ) CHARACTER SET `utf8mb4` COLLATE `utf8mb4_general_ci`": {}, // tests for invalid characters + } res := make([]*agentv1.MetricsBucket, 0, len(mb)) for _, b := range mb { switch { @@ -215,23 +224,14 @@ func filter(mb []*agentv1.MetricsBucket) []*agentv1.MetricsBucket { continue case strings.Contains(b.Common.Example, "/* pmm-agent-tests:waitForFixtures */"): continue - } - - switch { - case b.Common.Fingerprint == "ANALYZE TABLE `city`": // OpenTestMySQL - continue - case b.Common.Fingerprint == "SHOW GLOBAL VARIABLES WHERE `Variable_name` = ?": // MySQLVersion - continue - case b.Common.Fingerprint == "SELECT `id` FROM `city` LIMIT ?": // waitForFixtures + case strings.Contains(b.Common.Fingerprint, "events_statements_history"): continue - case b.Common.Fingerprint == "SELECT ID FROM `city` LIMIT ?": // waitForFixtures for MariaDB - continue - case b.Common.Fingerprint == "SELECT COUNT ( * ) FROM `city`": // actions tests + case strings.HasPrefix(b.Common.Fingerprint, "SELECT @@`slow_query_log"): // slowlog continue - case b.Common.Fingerprint == "CREATE TABLE IF NOT EXISTS `t1` ( `col1` CHARACTER (?) ) CHARACTER SET `utf8mb4` COLLATE `utf8mb4_general_ci`": // tests for invalid characters + case strings.HasPrefix(b.Common.Fingerprint, "TRUNCATE"): // OpenTestMySQL continue - - case strings.HasPrefix(b.Common.Fingerprint, "SELECT @@`slow_query_log"): // slowlog + } + if _, ok := filterList[b.Common.Fingerprint]; ok { continue } @@ -246,7 +246,7 @@ func TestPerfSchema(t *testing.T) { db := reform.NewDB(sqlDB, mysql.Dialect, reform.NewPrintfLogger(t.Logf)) updateQuery := fmt.Sprintf("UPDATE /* %s */ ", queryTag) - _, err := db.Exec(updateQuery + "performance_schema.setup_consumers SET ENABLED='YES' WHERE NAME='events_statements_history'") + _, err := db.Exec(updateQuery + "performance_schema.setup_consumers SET ENABLED='YES'") require.NoError(t, err, "failed to enable events_statements_history consumer") structs, err := db.SelectAllFrom(setupConsumersView, "ORDER BY NAME") @@ -259,6 +259,7 @@ func TestPerfSchema(t *testing.T) { var rowsExamined float32 ctx := context.Background() mySQLVersion, mySQLVendor, _ := version.GetMySQLVersion(ctx, db.WithTag("pmm-agent-tests:MySQLVersion")) + t.Logf("MySQL version: %s, vendor: %s", mySQLVersion, mySQLVendor) var digests map[string]string // digest_text/fingerprint to digest/query_id switch fmt.Sprintf("%s-%s", mySQLVersion, mySQLVendor) { case "5.6-oracle": @@ -283,7 +284,7 @@ func TestPerfSchema(t *testing.T) { "SELECT * FROM `city`": "9c799bdb2460f79b3423b77cd10403da", } - case "8.0-oracle", "8.0-percona": + case "8.0-oracle", "8.0-percona", "8.4-oracle", "9.0-oracle", "9.1-oracle": digests = map[string]string{ "SELECT `sleep` (?)": "0b1b1c39d4ee2dda7df2a532d0a23406d86bd34e2cd7f22e3f7e9dedadff9b69", "SELECT * FROM `city`": "950bdc225cf73c9096ba499351ed4376f4526abad3d8ceabc168b6b28cfc9eab", @@ -308,6 +309,24 @@ func TestPerfSchema(t *testing.T) { "SELECT * FROM `city`": "a65e76b1643273fa3206b11c4f4d8739", } + case "11.2-mariadb": + digests = map[string]string{ + "SELECT `sleep` (?)": "ffbde6c4dfda8dff9a4fefd7e8ed648f", + "SELECT * FROM `city`": "d0f2ac0577a44d383c5c0480a420caeb", + } + + case "11.4-mariadb": + digests = map[string]string{ + "SELECT `sleep` (?)": "860792b8f3d058489b287e30ccf3beae", + "SELECT * FROM `city`": "457a868ea48e4571327914f2831d62f5", + } + + case "11.5-mariadb": + digests = map[string]string{ + "SELECT `sleep` (?)": "860792b8f3d058489b287e30ccf3beae", + "SELECT * FROM `city`": "457a868ea48e4571327914f2831d62f5", + } + default: t.Log("Unhandled version, assuming dummy digests.") digests = map[string]string{ @@ -433,9 +452,9 @@ func TestPerfSchema(t *testing.T) { require.NoError(t, m.refreshHistoryCache()) var example string - switch mySQLVersion.String() { + switch { // Perf schema truncates queries with non-utf8 characters. - case "8.0": + case (mySQLVendor == version.PerconaVendor || mySQLVendor == version.OracleVendor) && mySQLVersion.Float() >= 8.0: example = "SELECT /* t1 controller='test' */ * FROM t1 where col1='Bu" default: example = "SELECT /* t1 controller='test' */ * FROM t1 where col1=..." diff --git a/agent/agents/postgres/pgstatstatements/pgstatstatements_test.go b/agent/agents/postgres/pgstatstatements/pgstatstatements_test.go index be500ee205..a71eeb6429 100644 --- a/agent/agents/postgres/pgstatstatements/pgstatstatements_test.go +++ b/agent/agents/postgres/pgstatstatements/pgstatstatements_test.go @@ -120,18 +120,6 @@ func TestPGStatStatementsQAN(t *testing.T) { engineVersion := tests.PostgreSQLVersion(t, sqlDB) var digests map[string]string // digest_text/fingerprint to digest/query_id switch engineVersion { - case "9.4": - truncatedMSharedBlksHitSum = float32(1007) - digests = map[string]string{ - selectAllCities: "3239586867", - selectAllCitiesLong: "2745128652", - } - case "9.5", "9.6": - truncatedMSharedBlksHitSum = float32(1007) - digests = map[string]string{ - selectAllCities: "3994135135", - selectAllCitiesLong: "2677760328", - } case "10": truncatedMSharedBlksHitSum = float32(1007) digests = map[string]string{ @@ -360,7 +348,7 @@ func TestPGStatStatementsQAN(t *testing.T) { MSharedBlkReadTimeSum: actual.Postgresql.MSharedBlkReadTimeSum, MLocalBlkReadTimeCnt: actual.Postgresql.MLocalBlkReadTimeCnt, MLocalBlkReadTimeSum: actual.Postgresql.MLocalBlkReadTimeSum, - MSharedBlksHitCnt: 1, + MSharedBlksHitCnt: actual.Postgresql.MSharedBlksHitCnt, MSharedBlksHitSum: actual.Postgresql.MSharedBlksHitSum, MRowsCnt: 1, MRowsSum: 499, @@ -408,16 +396,8 @@ func TestPGStatStatementsQAN(t *testing.T) { t.Logf("Actual:\n%s", tests.FormatBuckets(buckets)) require.Len(t, buckets, 1) - var fingerprint string - tables := []string{tableName} + fingerprint := fmt.Sprintf(`INSERT /* CheckMBlkReadTime controller='test' */ INTO %s (customer_id, first_name, last_name, active) VALUES ($1, $2, $3, $4)`, tableName) - switch engineVersion { - case "9.4", "9.5", "9.6": - fingerprint = fmt.Sprintf(`INSERT /* CheckMBlkReadTime controller='test' */ INTO %s (customer_id, first_name, last_name, active) VALUES (?, ?, ?, ?)`, tableName) - tables = []string{} - default: - fingerprint = fmt.Sprintf(`INSERT /* CheckMBlkReadTime controller='test' */ INTO %s (customer_id, first_name, last_name, active) VALUES ($1, $2, $3, $4)`, tableName) - } actual := buckets[0] assert.NotZero(t, actual.Postgresql.MSharedBlkReadTimeSum+actual.Postgresql.MSharedBlkWriteTimeSum) assert.Equal(t, float32(n), actual.Postgresql.MSharedBlkReadTimeCnt+actual.Postgresql.MSharedBlkWriteTimeCnt) @@ -426,7 +406,7 @@ func TestPGStatStatementsQAN(t *testing.T) { Queryid: actual.Common.Queryid, Fingerprint: fingerprint, Database: "pmm-agent", - Tables: tables, + Tables: []string{tableName}, Comments: map[string]string{"controller": "test"}, Username: "pmm-agent", AgentId: "agent_id", diff --git a/agent/connectionchecker/connection_checker_test.go b/agent/connectionchecker/connection_checker_test.go index 92db6732dc..9837c3f019 100644 --- a/agent/connectionchecker/connection_checker_test.go +++ b/agent/connectionchecker/connection_checker_test.go @@ -232,7 +232,7 @@ func TestConnectionChecker(t *testing.T) { assert.Empty(t, resp.Error) } else { require.NotEmpty(t, resp.Error) - assert.Regexp(t, `^`+tt.expectedErr+`$`, resp.Error) + assert.Regexp(t, `(?i)^`+tt.expectedErr+`$`, resp.Error) } }) } diff --git a/agent/docker-compose.yml b/agent/docker-compose.yml index a8f7aecb78..792ab66b58 100644 --- a/agent/docker-compose.yml +++ b/agent/docker-compose.yml @@ -48,9 +48,9 @@ services: - ./testdata/mysql:/mysql mongo: - image: ${MONGO_IMAGE:-percona/percona-server-mongodb:4.2} + image: ${MONGO_IMAGE:-percona/percona-server-mongodb:5.0} container_name: pmm-agent_mongo - command: --profile 2 + command: --profile=2 ports: - "127.0.0.1:27017:27017" environment: @@ -58,7 +58,7 @@ services: - MONGO_INITDB_ROOT_PASSWORD=root-password mongo_with_ssl: - image: ${MONGO_IMAGE:-percona/percona-server-mongodb:4.2} + image: ${MONGO_IMAGE:-percona/percona-server-mongodb:5.0} container_name: pmm-agent_mongo_with_ssl command: - --profile=2 @@ -66,49 +66,42 @@ services: - --sslPEMKeyFile=/etc/ssl/certificates/server.pem - --sslCAFile=/etc/ssl/certificates/ca.crt - --sslWeakCertificateValidation - - --bind_ip=0.0.0.0 + - -bind_ip=0.0.0.0 ports: - "127.0.0.1:27018:27017" volumes: - ${PWD}/utils/tests/testdata/mongodb:/etc/ssl/certificates mongonoauth: - image: ${MONGO_IMAGE:-percona/percona-server-mongodb:4.2} + image: ${MONGO_IMAGE:-percona/percona-server-mongodb:5.0} container_name: pmm-agent_mongonoauth - command: --profile 2 + command: --profile=2 -bind_ip=0.0.0.0 --noauth ports: - "127.0.0.1:27019:27017" mongo_repl: - image: ${MONGO_IMAGE:-percona/percona-server-mongodb:4.2} + image: ${MONGO_IMAGE:-percona/percona-server-mongodb:5.0} container_name: pmm-agent_mongorepl - command: > - bash -c " - mkdir /tmp/mongodb1 /tmp/mongodb2 - mongod --fork --logpath=/dev/null --profile=2 --replSet=rs0 --noauth --bind_ip=0.0.0.0 --dbpath=/tmp/mongodb1 --port=27020 - mongod --fork --logpath=/dev/null --profile=2 --replSet=rs0 --noauth --bind_ip=0.0.0.0 --dbpath=/tmp/mongodb2 --port=27021 - mongo --port 27020 --eval \"rs.initiate( { _id : 'rs0', members: [{ _id: 0, host: 'localhost:27020' }, { _id: 1, host: 'localhost:27021', priority: 0 }]})\" - tail -f /dev/null - " + environment: + - MONGO_IMAGE=${MONGO_IMAGE:-percona/percona-server-mongodb:5.0} + volumes: + - ./testscripts/:/scripts + command: /scripts/mongo_repl.sh ports: - "127.0.0.1:27020:27020" - "127.0.0.1:27021:27021" mongo_repl_with_ssl: - image: ${MONGO_IMAGE:-percona/percona-server-mongodb:4.2} + image: ${MONGO_IMAGE:-percona/percona-server-mongodb:5.0} container_name: pmm-agent_mongorepl_with_ssl - command: > - bash -c " - mkdir /tmp/mongodb1 /tmp/mongodb2 - mongod --fork --logpath=/dev/null --profile=2 --replSet=rs0 --sslMode=requireSSL --sslPEMKeyFile=/etc/ssl/certificates/server.pem --sslCAFile=/etc/ssl/certificates/ca.crt --sslClusterFile=/etc/ssl/certificates/client.pem --bind_ip=0.0.0.0 --dbpath=/tmp/mongodb1 --port=27022 - mongod --fork --logpath=/dev/null --profile=2 --replSet=rs0 --sslMode=requireSSL --sslPEMKeyFile=/etc/ssl/certificates/server.pem --sslCAFile=/etc/ssl/certificates/ca.crt --sslClusterFile=/etc/ssl/certificates/client.pem --bind_ip=0.0.0.0 --dbpath=/tmp/mongodb2 --port=27023 - mongo --port 27022 --ssl --sslCAFile=/etc/ssl/certificates/ca.crt --sslPEMKeyFile=/etc/ssl/certificates/client.pem --sslAllowInvalidHostnames --eval \"rs.initiate( { _id : 'rs0', members: [{ _id: 0, host: 'localhost:27022' }, { _id: 1, host: 'localhost:27023', priority: 0 }]})\" - tail -f /dev/null - " + command: /scripts/mongo_repl_with_ssl.sh + environment: + - MONGO_IMAGE=${MONGO_IMAGE:-percona/percona-server-mongodb:5.0} ports: - "127.0.0.1:27022:27022" - "127.0.0.1:27023:27023" volumes: + - ./testscripts/:/scripts - ${PWD}/utils/tests/testdata/mongodb:/etc/ssl/certificates postgres: diff --git a/agent/packages.dot b/agent/packages.dot index bb9f70bf21..74d45da9a1 100644 --- a/agent/packages.dot +++ b/agent/packages.dot @@ -40,11 +40,9 @@ digraph packages { "/agents/supervisor" -> "/config"; "/agents/supervisor" -> "/tailog"; "/agents/supervisor.test" -> "/agents/supervisor"; - "/client" -> "/client/cache"; "/client" -> "/client/channel"; "/client" -> "/config"; "/client" -> "/connectionuptime"; - "/client" -> "/models"; "/client" -> "/runner"; "/client" -> "/runner/actions"; "/client" -> "/runner/jobs"; diff --git a/agent/runner/actions/mongodb_explain_action_test.go b/agent/runner/actions/mongodb_explain_action_test.go index f8218d9a8d..a5af9a3d4e 100644 --- a/agent/runner/actions/mongodb_explain_action_test.go +++ b/agent/runner/actions/mongodb_explain_action_test.go @@ -282,9 +282,25 @@ func TestMongoDBExplain(t *testing.T) { "parsedQuery": map[string]interface{}{ "k": map[string]interface{}{"$lte": map[string]interface{}{"$numberInt": "1"}}, }, - "plannerVersion": map[string]interface{}{"$numberInt": "1"}, - "rejectedPlans": []interface{}{}, - "winningPlan": map[string]interface{}{"stage": "EOF"}, + "rejectedPlans": []interface{}{}, + "winningPlan": map[string]interface{}{"stage": "EOF"}, + } + mongoDBVersion := tests.MongoDBVersion(t, client) + + switch { + case mongoDBVersion.Major < 5: + want["plannerVersion"] = map[string]interface{}{"$numberInt": "1"} + case mongoDBVersion.Major < 8: + want["maxIndexedAndSolutionsReached"] = false + want["maxIndexedOrSolutionsReached"] = false + want["maxScansToExplodeReached"] = false + case mongoDBVersion.Major == 8: + want["maxIndexedAndSolutionsReached"] = false + want["maxIndexedOrSolutionsReached"] = false + want["maxScansToExplodeReached"] = false + want["optimizationTimeMillis"] = map[string]interface{}{"$numberInt": "0"} + want["winningPlan"] = map[string]interface{}{"stage": "EOF", "isCached": false} + want["prunedSimilarIndexes"] = false } explainM := make(map[string]interface{}) @@ -321,8 +337,7 @@ func TestNewMongoDBExplain(t *testing.T) { in: "distinct.json", }, { - in: "aggregate.json", - minVersion: "3.4.0", + in: "aggregate.json", }, { in: "count.json", @@ -331,17 +346,7 @@ func TestNewMongoDBExplain(t *testing.T) { in: "find_and_modify.json", }, } - mongoDBVersion := tests.MongoDBVersion(t, client) for _, tf := range testFiles { - // Not all MongoDB versions allow explaining all commands - if tf.minVersion != "" { - c, err := lessThan(tf.minVersion, mongoDBVersion) - require.NoError(t, err) - if c { - continue - } - } - t.Run(tf.in, func(t *testing.T) { query, err := os.ReadFile(filepath.Join("testdata/", filepath.Clean(tf.in))) assert.NoError(t, err) diff --git a/agent/runner/actions/mongodb_query_admincommand_action_test.go b/agent/runner/actions/mongodb_query_admincommand_action_test.go index 08c6a1eacd..d09c5f461a 100644 --- a/agent/runner/actions/mongodb_query_admincommand_action_test.go +++ b/agent/runner/actions/mongodb_query_admincommand_action_test.go @@ -196,7 +196,6 @@ func convertToObjxMap(t *testing.T, b []byte) objx.Map { func getParameterAssertions(t *testing.T, b []byte) { //nolint:thelper assert.LessOrEqual(t, 5000, len(b)) - assert.LessOrEqual(t, len(b), 17000) objxM := convertToObjxMap(t, b) assert.Equal(t, 1.0, objxM.Get("ok").Data()) assert.Contains(t, objxM.Get("authenticationMechanisms").Data(), "SCRAM-SHA-1") @@ -204,7 +203,6 @@ func getParameterAssertions(t *testing.T, b []byte) { //nolint:thelper func buildInfoAssertions(t *testing.T, b []byte) { //nolint:thelper assert.LessOrEqual(t, 1000, len(b)) - assert.LessOrEqual(t, len(b), 2200) objxM := convertToObjxMap(t, b) assert.Equal(t, 1.0, objxM.Get("ok").Data()) assert.Equal(t, "mozjs", objxM.Get("javascriptEngine").Data()) @@ -213,7 +211,6 @@ func buildInfoAssertions(t *testing.T, b []byte) { //nolint:thelper func getDiagnosticDataAssertions(t *testing.T, b []byte) { //nolint:thelper assert.LessOrEqual(t, 25000, len(b)) - assert.LessOrEqual(t, len(b), 110000) objxM := convertToObjxMap(t, b) assert.Equal(t, 1.0, objxM.Get("ok").Data()) assert.Equal(t, 1.0, objxM.Get("data.serverStatus.ok").Data()) @@ -222,7 +219,6 @@ func getDiagnosticDataAssertions(t *testing.T, b []byte) { //nolint:thelper func replSetGetStatusAssertionsReplicated(t *testing.T, b []byte) { //nolint:thelper assert.LessOrEqual(t, 1000, len(b)) - assert.LessOrEqual(t, len(b), 4000) objxM := convertToObjxMap(t, b) assert.Equal(t, 1.0, objxM.Get("ok").Data()) assert.Len(t, objxM.Get("members").Data(), 2) @@ -253,7 +249,7 @@ func getCmdLineOptsAssertionsWithAuth(t *testing.T, b []byte) { //nolint:thelper assert.Equal(t, "enabled", security.Get("authorization").String()) argv := objxM.Get("argv").InterSlice() - for _, v := range []interface{}{"mongod", "--profile", "2", "--auth"} { + for _, v := range []interface{}{"mongod", "--profile=2", "--auth"} { assert.Contains(t, argv, v) } } diff --git a/agent/runner/actions/mysql_explain_action_test.go b/agent/runner/actions/mysql_explain_action_test.go index 8acc783fbe..3ba3485c24 100644 --- a/agent/runner/actions/mysql_explain_action_test.go +++ b/agent/runner/actions/mysql_explain_action_test.go @@ -102,7 +102,11 @@ func TestMySQLExplain(t *testing.T) { var table map[string]interface{} if mySQLVendor == version.MariaDBVendor { - table = m.Get("query_block.read_sorted_file.filesort.table").MSI() + if mySQLVersion.Float() >= 11 { + table = m.Get("query_block.nested_loop[0].read_sorted_file.filesort.table").MSI() + } else { + table = m.Get("query_block.read_sorted_file.filesort.table").MSI() + } } else { table = m.Get("query_block.ordering_operation.table").MSI() } diff --git a/agent/runner/actions/mysql_show_create_table_action_test.go b/agent/runner/actions/mysql_show_create_table_action_test.go index 4aee106bf5..baa64b7b1d 100644 --- a/agent/runner/actions/mysql_show_create_table_action_test.go +++ b/agent/runner/actions/mysql_show_create_table_action_test.go @@ -57,7 +57,7 @@ func TestMySQLShowCreateTable(t *testing.T) { var expected string switch { - case mySQLVersion.String() == "8.0": + case (mySQLVendor == version.PerconaVendor || mySQLVendor == version.OracleVendor) && mySQLVersion.Float() >= 8.0: // https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-19.html // Display width specification for integer data types was deprecated in MySQL 8.0.17, // and now statements that include data type definitions in their output no longer diff --git a/agent/runner/actions/mysql_show_index_action_test.go b/agent/runner/actions/mysql_show_index_action_test.go index 611d8df721..b6bd2a90f3 100644 --- a/agent/runner/actions/mysql_show_index_action_test.go +++ b/agent/runner/actions/mysql_show_index_action_test.go @@ -89,16 +89,13 @@ func TestMySQLShowIndex(t *testing.T) { assert.Equal(t, []interface{}{"city", float64(0), "PRIMARY", float64(1), "ID", "A", "CARDINALITY", nil, nil, "", "BTREE", "", ""}, actual[1]) assert.Equal(t, []interface{}{"city", float64(1), "CountryCode", float64(1), "CountryCode", "A", "CARDINALITY", nil, nil, "", "BTREE", "", ""}, actual[2]) - case mySQLVersion.String() == "8.0": + default: // >= MySQL 8.0 assert.Equal(t, []interface{}{ "Table", "Non_unique", "Key_name", "Seq_in_index", "Column_name", "Collation", "Cardinality", "Sub_part", "Packed", "Null", "Index_type", "Comment", "Index_comment", "Visible", "Expression", }, actual[0]) assert.Equal(t, []interface{}{"city", float64(0), "PRIMARY", float64(1), "ID", "A", "CARDINALITY", nil, nil, "", "BTREE", "", "", "YES", nil}, actual[1]) assert.Equal(t, []interface{}{"city", float64(1), "CountryCode", float64(1), "CountryCode", "A", "CARDINALITY", nil, nil, "", "BTREE", "", "", "YES", nil}, actual[2]) - - default: - t.Fatal("Unhandled version.") } }) diff --git a/agent/runner/actions/postgresql_query_show_action_test.go b/agent/runner/actions/postgresql_query_show_action_test.go index ef24994a66..1b5ce7ba24 100644 --- a/agent/runner/actions/postgresql_query_show_action_test.go +++ b/agent/runner/actions/postgresql_query_show_action_test.go @@ -48,14 +48,12 @@ func TestPostgreSQLQueryShow(t *testing.T) { b, err := a.Run(ctx) require.NoError(t, err) - assert.LessOrEqual(t, 22000, len(b)) - assert.LessOrEqual(t, len(b), 37989) + assert.GreaterOrEqual(t, len(b), 22000) data, err := agentv1.UnmarshalActionQueryResult(b) require.NoError(t, err) t.Log(spew.Sdump(data)) - assert.LessOrEqual(t, 200, len(data)) - assert.LessOrEqual(t, len(data), 399) + assert.GreaterOrEqual(t, len(data), 200) var found int for _, m := range data { diff --git a/agent/testscripts/mongo_repl.sh b/agent/testscripts/mongo_repl.sh new file mode 100755 index 0000000000..24f441640e --- /dev/null +++ b/agent/testscripts/mongo_repl.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +MONGODB_CLIENT="mongosh" +PARSED=(${MONGO_IMAGE//:/ }) +MONGODB_VERSION=${PARSED[1]} +MONGODB_VENDOR=${PARSED[0]} + +if [ "`echo ${MONGODB_VERSION} | cut -c 1`" = "4" ]; then + MONGODB_CLIENT="mongo" +fi +if [ "`echo ${MONGODB_VERSION} | cut -c 1`" = "5" ] && [ ${MONGODB_VENDOR} == "percona/percona-server-mongodb" ]; then + MONGODB_CLIENT="mongo" +fi + +mkdir /tmp/mongodb1 /tmp/mongodb2 +mongod --fork --logpath=/dev/null --profile=2 --replSet=rs0 --noauth --bind_ip=0.0.0.0 --dbpath=/tmp/mongodb1 --port=27020 +mongod --fork --logpath=/dev/null --profile=2 --replSet=rs0 --noauth --bind_ip=0.0.0.0 --dbpath=/tmp/mongodb2 --port=27021 +$MONGODB_CLIENT --port 27020 --eval "rs.initiate( { _id : 'rs0', members: [{ _id: 0, host: 'localhost:27020' }, { _id: 1, host: 'localhost:27021', priority: 0 }]})" +tail -f /dev/null \ No newline at end of file diff --git a/agent/testscripts/mongo_repl_with_ssl.sh b/agent/testscripts/mongo_repl_with_ssl.sh new file mode 100755 index 0000000000..21e47075f0 --- /dev/null +++ b/agent/testscripts/mongo_repl_with_ssl.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +MONGODB_CLIENT="mongosh" +PARSED=(${MONGO_IMAGE//:/ }) +MONGODB_VERSION=${PARSED[1]} +MONGODB_VENDOR=${PARSED[0]} + +if [ "`echo ${MONGODB_VERSION} | cut -c 1`" = "4" ]; then + MONGODB_CLIENT="mongo" +fi +if [ "`echo ${MONGODB_VERSION} | cut -c 1`" = "5" ] && [ ${MONGODB_VENDOR} == "percona/percona-server-mongodb" ]; then + MONGODB_CLIENT="mongo" +fi + +mkdir /tmp/mongodb1 /tmp/mongodb2 +mongod --fork --logpath=/dev/null --profile=2 --replSet=rs0 --sslMode=requireSSL --sslPEMKeyFile=/etc/ssl/certificates/server.pem --sslCAFile=/etc/ssl/certificates/ca.crt --sslClusterFile=/etc/ssl/certificates/client.pem --bind_ip=0.0.0.0 --dbpath=/tmp/mongodb1 --port=27022 +mongod --fork --logpath=/dev/null --profile=2 --replSet=rs0 --sslMode=requireSSL --sslPEMKeyFile=/etc/ssl/certificates/server.pem --sslCAFile=/etc/ssl/certificates/ca.crt --sslClusterFile=/etc/ssl/certificates/client.pem --bind_ip=0.0.0.0 --dbpath=/tmp/mongodb2 --port=27023 +$MONGODB_CLIENT --port 27022 --ssl --sslCAFile=/etc/ssl/certificates/ca.crt --sslPEMKeyFile=/etc/ssl/certificates/client.pem --sslAllowInvalidHostnames --eval "rs.initiate( { _id : 'rs0', members: [{ _id: 0, host: 'localhost:27022' }, { _id: 1, host: 'localhost:27023', priority: 0 }]})" +tail -f /dev/null \ No newline at end of file diff --git a/agent/utils/tests/mongodb.go b/agent/utils/tests/mongodb.go index 537fc20411..b16357f4cd 100644 --- a/agent/utils/tests/mongodb.go +++ b/agent/utils/tests/mongodb.go @@ -26,6 +26,7 @@ import ( "github.com/percona/pmm/agent/utils/mongo_fix" agentv1 "github.com/percona/pmm/api/agent/v1" + "github.com/percona/pmm/version" ) // GetTestMongoDBDSN returns DNS for MongoDB test database. @@ -34,7 +35,7 @@ func GetTestMongoDBDSN(tb testing.TB) string { if testing.Short() { tb.Skip("-short flag is passed, skipping test with real database.") } - return "mongodb://root:root-password@127.0.0.1:27017/admin" + return "mongodb://root:root-password@localhost:27017/admin" } // GetTestMongoDBReplicatedDSN returns DNS for replicated MongoDB test database. @@ -118,7 +119,7 @@ func OpenTestMongoDB(tb testing.TB, dsn string) *mongo.Client { } // MongoDBVersion returns Mongo DB version. -func MongoDBVersion(tb testing.TB, client *mongo.Client) string { +func MongoDBVersion(tb testing.TB, client *mongo.Client) *version.Parsed { tb.Helper() res := client.Database("admin").RunCommand(context.Background(), primitive.M{"buildInfo": 1}) @@ -131,5 +132,9 @@ func MongoDBVersion(tb testing.TB, client *mongo.Client) string { if err := res.Decode(&bi); err != nil { tb.Fatalf("Cannot decode buildInfo response: %s", err) } - return bi.Version + parsed, err := version.Parse(bi.Version) + if err != nil { + tb.Fatalf("Cannot parse version: %s", err) + } + return parsed } From 8fe0d76a341cc839c38d435f7b367406f2aa79cd Mon Sep 17 00:00:00 2001 From: Matej Kubinec <32638572+matejkubinec@users.noreply.github.com> Date: Mon, 21 Oct 2024 14:20:08 +0200 Subject: [PATCH 23/24] PMM-12930 Update status, log & clients (#3039) * PMM-11231 Setup PMM UI * PMM-11231 Update working directory for node setup * PMM-11231 Adjust setup node step * PMM-11231 Add build & cleanup makefile * PMM-11231 Use correct UI directory * PMM-11231 Adjust pmm-ui build directory * PMM-11231 Add install commands * PMM-11231 Add pmm ui directory to files section * PMM-11231 Copy correct build files * PMM-11231 Handle token rotation * PMM-11231 Simplify spec file * PMM-11231 Update dependencies * PMM-11231 Allow use of eslints non flat config * PMM-11231 Align version fetch logic with previous * PMM-11231 Refactor fetching icon * PMM-11231 Update compose file * PMM-11231 Use /pmm-ui as path * PMM-11231 Allow specifying pmm server image through env variable * PMM-12930 Show update status * PMM-11231 Switch to tanstack query * PMM-12930 Fix lint * PMM-11231 Update dev configuration * PMM-11231 Use correct naming & switch to hooks * PMM-11231 Use different name for update image * PMM-12930 Improve update process * PMM-11231 Disable auth_request for pmm-ui * PMM-11231 Rework redirect to login * PMM-11231 Update api response * PMM-11231 Add link to support * PMM-11231 Fix support url redirect * PMM-11231 Fix lint * PMM-11231 Fix typings * PMM-12930 Fix version typings * PMM-11231 Add admin & auth check * PMM-12930 Make page component responsive * PMM-12930 Add Page unit tests * PMM-12930 Make page component responsive * PMM-12930 Add Page unit tests * PMM-11231 Update api endpoints * PMM-12930 Add upgrade docs link * PMM-12930 Update types & readyz url * PMM-12930 Remove temporary error handling * PMM-12930 Add footer * PMM-12930 Refactor footer * PMM-12930 Refactor user context imports * PMM-12930 Add doc comnent * PMM-12930 Update progress bar color * PMM-12930 Update progress bar * PMM-12930 Bump packages * PMM-12930 Fix updates check * PMM-12934 Add page for client updates * PMM-12934 Extend page & remove mocks * PMM-12934 Update table loading * PMM-12934 Use custom filter component * PMM-12933 Add update log modal * PMM-12934 Add next button * PMM-12930 Add unit tests * PMM-12930 Downgrade eslint version * PMM-12934 Add check for pending client update * PMM-12934 Adjust styling * PMM-12930 Fix before CR * PMM-12930 Remove empty file * PMM-12930 Simplify initial auth check * PMM-12930 Make appbar sticky * PMM-12930 Fix font loading * PMM-12930 Adjust section spacing * PMM-12930 Bump axios version * PMM-7 fix proto validation error * PMM-12930 Use table from ui-lib * PMM-12930 Update dev nginx file * PMM-12930 Use shortened links * PMM-12930 Add pmm home button, rework dialog & add test * PMM-12930 Improve clients update check * PMM-12930 Highligh only Release Notes --- ui/package.json | 25 +- ui/pmm-dev.conf | 3 + ui/src/App.tsx | 7 +- ui/src/api/__mocks__/agents.ts | 10 + ui/src/api/agents.ts | 9 + ui/src/api/ready.ts | 6 + ui/src/api/updates.ts | 11 +- ui/src/components/app-bar/AppBar.tsx | 16 +- ui/src/components/breadcrumbs/Breadcrumbs.tsx | 6 +- ui/src/components/footer/Footer.messages.ts | 5 + ui/src/components/footer/Footer.test.tsx | 32 + ui/src/components/footer/Footer.tsx | 24 + ui/src/components/footer/Footer.utils.ts | 7 + ui/src/components/footer/index.ts | 1 + ui/src/components/home-link/HomeLink.test.tsx | 66 + ui/src/components/home-link/HomeLink.tsx | 39 + .../clients-modal/ClientsModal.messages.ts | 9 + .../clients-modal/ClientsModal.test.tsx | 36 + .../home-link/clients-modal/ClientsModal.tsx | 60 + .../clients-modal/ClientsModal.types.ts | 4 + .../home-link/clients-modal/index.ts | 1 + ui/src/components/home-link/index.ts | 1 + ui/src/components/main/Main.test.tsx | 2 +- ui/src/components/modal/Modal.test.tsx | 35 + ui/src/components/modal/Modal.tsx | 70 + ui/src/components/modal/Modal.types.ts | 6 + ui/src/components/modal/index.ts | 1 + ui/src/components/page/Page.test.tsx | 2 +- ui/src/components/page/Page.tsx | 9 +- ui/src/components/page/Page.types.ts | 3 +- .../text-select/TextSelect.messages.ts | 4 + .../text-select/TextSelect.test.tsx | 93 + ui/src/components/text-select/TextSelect.tsx | 83 + .../text-select/TextSelect.types.ts | 11 + ui/src/components/text-select/index.ts | 1 + ui/src/constants.ts | 5 +- ui/src/contexts/auth/auth.provider.tsx | 9 +- ui/src/contexts/auth/index.ts | 1 + ui/src/contexts/updates/index.ts | 5 + ui/src/contexts/updates/updates.context.tsx | 12 + .../contexts/updates/updates.context.types.ts | 13 + ui/src/contexts/updates/updates.hooks.ts | 4 + ui/src/contexts/updates/updates.provider.tsx | 51 + ui/src/contexts/updates/updates.utils.ts | 12 + ui/src/contexts/user/index.ts | 4 + ui/src/hooks/api/useAgents.ts | 8 + ui/src/hooks/api/useReadiness.ts | 19 + ui/src/hooks/api/useUpdates.tsx | 34 +- ui/src/hooks/utils/useBootstrap.ts | 2 +- .../update-clients/UpdateClients.constants.ts | 18 + .../update-clients/UpdateClients.messages.ts | 37 + .../update-clients/UpdateClients.test.tsx | 139 ++ ui/src/pages/update-clients/UpdateClients.tsx | 162 ++ .../update-clients/UpdateClients.types.ts | 5 + .../update-clients/UpdateClients.utils.ts | 17 + .../severity-chip/SeverityChip.tsx | 46 + .../severity-chip/SeverityChip.types.ts | 5 + .../update-clients/severity-chip/index.ts | 1 + ui/src/pages/updates/Updates.tsx | 8 + .../update-card/UpdateCard.messages.ts | 5 + .../pages/updates/update-card/UpdateCard.tsx | 111 +- .../updates/update-card/UpdateCard.utils.ts | 2 +- .../UpdateInProgressCard.messages.ts | 6 + .../UpdateInProgressCard.tsx | 65 + .../UpdateInProgressCard.types.tsx | 7 + .../updates/update-in-progress-card/index.ts | 1 + .../UpdateProgress.messages.ts | 5 + .../update-progress/UpdateProgress.tsx | 78 + .../update-progress/UpdateProgress.types.ts | 5 + .../update-info/UpdateInfo.messages.ts | 9 + .../pages/updates/update-info/UpdateInfo.tsx | 34 + ui/src/pages/updates/update-info/index.ts | 1 + .../updates/update-log/UpdateLog.hooks.ts | 34 + .../updates/update-log/UpdateLog.messages.ts | 5 + ui/src/pages/updates/update-log/UpdateLog.tsx | 47 + .../updates/update-log/UpdateLog.types.ts | 3 + ui/src/pages/updates/update-log/index.ts | 1 + .../update-log-content/UpdateLogContent.tsx | 26 + .../UpdateLogContent.types.ts | 3 + .../update-log/update-log-content/index.ts | 1 + ui/src/router.tsx | 5 + ui/src/themes/PmmTheme.tsx | 51 +- ui/src/types/agent.types.ts | 18 + ui/src/types/api.types.ts | 5 + ui/src/types/updates.types.ts | 33 +- ui/src/utils/testUtils.tsx | 54 + ui/src/utils/testWrapper.tsx | 24 +- ui/yarn.lock | 1546 +++++++---------- 88 files changed, 2534 insertions(+), 966 deletions(-) create mode 100644 ui/src/api/__mocks__/agents.ts create mode 100644 ui/src/api/agents.ts create mode 100644 ui/src/api/ready.ts create mode 100644 ui/src/components/footer/Footer.messages.ts create mode 100644 ui/src/components/footer/Footer.test.tsx create mode 100644 ui/src/components/footer/Footer.tsx create mode 100644 ui/src/components/footer/Footer.utils.ts create mode 100644 ui/src/components/footer/index.ts create mode 100644 ui/src/components/home-link/HomeLink.test.tsx create mode 100644 ui/src/components/home-link/HomeLink.tsx create mode 100644 ui/src/components/home-link/clients-modal/ClientsModal.messages.ts create mode 100644 ui/src/components/home-link/clients-modal/ClientsModal.test.tsx create mode 100644 ui/src/components/home-link/clients-modal/ClientsModal.tsx create mode 100644 ui/src/components/home-link/clients-modal/ClientsModal.types.ts create mode 100644 ui/src/components/home-link/clients-modal/index.ts create mode 100644 ui/src/components/home-link/index.ts create mode 100644 ui/src/components/modal/Modal.test.tsx create mode 100644 ui/src/components/modal/Modal.tsx create mode 100644 ui/src/components/modal/Modal.types.ts create mode 100644 ui/src/components/modal/index.ts create mode 100644 ui/src/components/text-select/TextSelect.messages.ts create mode 100644 ui/src/components/text-select/TextSelect.test.tsx create mode 100644 ui/src/components/text-select/TextSelect.tsx create mode 100644 ui/src/components/text-select/TextSelect.types.ts create mode 100644 ui/src/components/text-select/index.ts create mode 100644 ui/src/contexts/updates/index.ts create mode 100644 ui/src/contexts/updates/updates.context.tsx create mode 100644 ui/src/contexts/updates/updates.context.types.ts create mode 100644 ui/src/contexts/updates/updates.hooks.ts create mode 100644 ui/src/contexts/updates/updates.provider.tsx create mode 100644 ui/src/contexts/updates/updates.utils.ts create mode 100644 ui/src/contexts/user/index.ts create mode 100644 ui/src/hooks/api/useAgents.ts create mode 100644 ui/src/hooks/api/useReadiness.ts create mode 100644 ui/src/pages/update-clients/UpdateClients.constants.ts create mode 100644 ui/src/pages/update-clients/UpdateClients.messages.ts create mode 100644 ui/src/pages/update-clients/UpdateClients.test.tsx create mode 100644 ui/src/pages/update-clients/UpdateClients.tsx create mode 100644 ui/src/pages/update-clients/UpdateClients.types.ts create mode 100644 ui/src/pages/update-clients/UpdateClients.utils.ts create mode 100644 ui/src/pages/update-clients/severity-chip/SeverityChip.tsx create mode 100644 ui/src/pages/update-clients/severity-chip/SeverityChip.types.ts create mode 100644 ui/src/pages/update-clients/severity-chip/index.ts create mode 100644 ui/src/pages/updates/update-in-progress-card/UpdateInProgressCard.messages.ts create mode 100644 ui/src/pages/updates/update-in-progress-card/UpdateInProgressCard.tsx create mode 100644 ui/src/pages/updates/update-in-progress-card/UpdateInProgressCard.types.tsx create mode 100644 ui/src/pages/updates/update-in-progress-card/index.ts create mode 100644 ui/src/pages/updates/update-in-progress-card/update-progress/UpdateProgress.messages.ts create mode 100644 ui/src/pages/updates/update-in-progress-card/update-progress/UpdateProgress.tsx create mode 100644 ui/src/pages/updates/update-in-progress-card/update-progress/UpdateProgress.types.ts create mode 100644 ui/src/pages/updates/update-info/UpdateInfo.messages.ts create mode 100644 ui/src/pages/updates/update-info/UpdateInfo.tsx create mode 100644 ui/src/pages/updates/update-info/index.ts create mode 100644 ui/src/pages/updates/update-log/UpdateLog.hooks.ts create mode 100644 ui/src/pages/updates/update-log/UpdateLog.messages.ts create mode 100644 ui/src/pages/updates/update-log/UpdateLog.tsx create mode 100644 ui/src/pages/updates/update-log/UpdateLog.types.ts create mode 100644 ui/src/pages/updates/update-log/index.ts create mode 100644 ui/src/pages/updates/update-log/update-log-content/UpdateLogContent.tsx create mode 100644 ui/src/pages/updates/update-log/update-log-content/UpdateLogContent.types.ts create mode 100644 ui/src/pages/updates/update-log/update-log-content/index.ts create mode 100644 ui/src/types/agent.types.ts create mode 100644 ui/src/types/api.types.ts create mode 100644 ui/src/utils/testUtils.tsx diff --git a/ui/package.json b/ui/package.json index 29e4248d44..fa5581d694 100644 --- a/ui/package.json +++ b/ui/package.json @@ -6,7 +6,7 @@ "scripts": { "dev": "vite", "build": "tsc && vite build", - "lint": "ESLINT_USE_FLAT_CONFIG=false eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", + "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "format": "prettier . --write", "preview": "vite preview", "test": "vitest run", @@ -15,13 +15,16 @@ "dependencies": { "@emotion/react": "^11.11.4", "@emotion/styled": "^11.11.5", + "@fontsource/poppins": "^5.0.15", + "@fontsource/roboto": "^5.0.14", + "@fontsource/roboto-mono": "^5.0.18", "@mui/icons-material": "^5.15.18", "@mui/material": "^5.15.18", "@mui/x-date-pickers": "^7.5.0", "@percona/design": "^1.0.0", "@percona/ui-lib": "^1.0.0", "@tanstack/react-query": "^5.45.1", - "axios": "^1.7.0", + "axios": "^1.7.4", "axios-case-converter": "^1.1.1", "date-fns": "^2.30.0", "react": "^18.3.1", @@ -32,23 +35,27 @@ "@percona/eslint-config-react": "^1.0.0", "@percona/prettier-config": "^1.0.0", "@percona/tsconfig": "^1.0.0", - "@testing-library/jest-dom": "^6.4.5", + "@testing-library/jest-dom": "^6.4.8", "@testing-library/react": "^15.0.7", "@types/react": "^18.3.2", "@types/react-dom": "^18.3.0", "@typescript-eslint/eslint-plugin": "^7.9.0", "@typescript-eslint/parser": "^7.9.0", - "@vitejs/plugin-react-swc": "^3.6.0", - "eslint": "^9.3.0", + "@vitejs/plugin-react-swc": "^3.7.0", + "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.7", - "jsdom": "^24.0.0", + "jsdom": "^24.1.1", "prettier": "^3.2.5", "typescript": "^5.4.5", - "vite": "^5.2.11", + "vite": "^5.3.5", "vite-tsconfig-paths": "^4.3.2", - "vitest": "^1.6.0" + "vitest": "^2.0.5" + }, + "resolutions": { + "braces": "^3.0.3", + "vite": "^5.3.5" }, "prettier": "@percona/prettier-config" -} +} \ No newline at end of file diff --git a/ui/pmm-dev.conf b/ui/pmm-dev.conf index 47a5af63dc..5e5f8b6b7d 100644 --- a/ui/pmm-dev.conf +++ b/ui/pmm-dev.conf @@ -16,5 +16,8 @@ server { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; + + # duplicate so http_host is correctly set + rewrite ^/$ $scheme://$http_host/graph/; } } diff --git a/ui/src/App.tsx b/ui/src/App.tsx index bd4f98d963..ac7b3a7cef 100644 --- a/ui/src/App.tsx +++ b/ui/src/App.tsx @@ -8,7 +8,8 @@ import { NotistackMuiSnackbar } from '@percona/ui-lib'; import { SnackbarProvider } from 'notistack'; import pmmThemeOptions from 'themes/PmmTheme'; import { AuthProvider } from 'contexts/auth'; -import { UserProvider } from 'contexts/user/user.provider'; +import { UserProvider } from 'contexts/user'; +import { UpdatesProvider } from 'contexts/updates'; const queryClient = new QueryClient({ defaultOptions: { @@ -39,7 +40,9 @@ const App = () => ( - + + + diff --git a/ui/src/api/__mocks__/agents.ts b/ui/src/api/__mocks__/agents.ts new file mode 100644 index 0000000000..ec3d950fef --- /dev/null +++ b/ui/src/api/__mocks__/agents.ts @@ -0,0 +1,10 @@ +import { AgentUpdateSeverity, GetAgentVersionItem } from 'types/agent.types'; + +export const getAgentVersions = async (): Promise => [ + { + agentId: 'pmm-server', + version: '3.0.0', + nodeName: 'pmm-server', + severity: AgentUpdateSeverity.UP_TO_DATE, + }, +]; diff --git a/ui/src/api/agents.ts b/ui/src/api/agents.ts new file mode 100644 index 0000000000..74b7ebcfff --- /dev/null +++ b/ui/src/api/agents.ts @@ -0,0 +1,9 @@ +import { GetAgentVersionsResponse } from 'types/agent.types'; +import { api } from './api'; + +export const getAgentVersions = async () => { + const res = await api.get( + '/management/agents/versions' + ); + return res.data.agentVersions; +}; diff --git a/ui/src/api/ready.ts b/ui/src/api/ready.ts new file mode 100644 index 0000000000..7d40dfa3ce --- /dev/null +++ b/ui/src/api/ready.ts @@ -0,0 +1,6 @@ +import { api } from './api'; + +export const getReadiness = async () => { + const res = await api.get>('/server/readyz'); + return res.data; +}; diff --git a/ui/src/api/updates.ts b/ui/src/api/updates.ts index 14ab16216d..db6c3d05d9 100644 --- a/ui/src/api/updates.ts +++ b/ui/src/api/updates.ts @@ -4,6 +4,7 @@ import { GetUpdateStatusResponse, GetUpdatesParams, GetUpdatesResponse, + StartUpdateBody, StartUpdateResponse, } from 'types/updates.types'; import { api } from './api'; @@ -17,11 +18,11 @@ export const checkForUpdates = async ( return res.data; }; -export const startUpdate = async () => { - const res = await api.post>( - '/server/updates:start', - {} - ); +export const startUpdate = async (body: StartUpdateBody) => { + const res = await api.post< + StartUpdateBody, + AxiosResponse + >('/server/updates:start', body); return res.data; }; diff --git a/ui/src/components/app-bar/AppBar.tsx b/ui/src/components/app-bar/AppBar.tsx index 333329fc25..29717712da 100644 --- a/ui/src/components/app-bar/AppBar.tsx +++ b/ui/src/components/app-bar/AppBar.tsx @@ -8,26 +8,26 @@ import { } from '@mui/material'; import { HelpFilledIcon, PmmRoundedIcon } from 'icons'; import { Breadcrumbs } from 'components/breadcrumbs'; -import { PMM_HOME_URL, PMM_SUPPORT_URL } from 'constants'; +import { PMM_SUPPORT_URL } from 'constants'; import { Messages } from './AppBar.messages'; +import { HomeLink } from 'components/home-link'; export const AppBar = () => ( - + - ({ - marginRight: theme.spacing(2), - })} + sx={{ + mr: 2, + }} data-testid="appbar-pmm-link" > {Messages.title} - + { const theme = useTheme(); @@ -19,9 +19,9 @@ export const Breadcrumbs: FC = () => { color="text" separator={} > - + {Messages.home} - + `PMM ${version}`, + inProgress: 'Update in progress...', + checkedOn: (date: string) => `Checked on: ${date}`, +}; diff --git a/ui/src/components/footer/Footer.test.tsx b/ui/src/components/footer/Footer.test.tsx new file mode 100644 index 0000000000..a9073e66cf --- /dev/null +++ b/ui/src/components/footer/Footer.test.tsx @@ -0,0 +1,32 @@ +import { screen, render } from '@testing-library/react'; +import { Footer } from './Footer'; +import { Messages } from './Footer.messages'; +import { wrapWithUpdatesProvider } from 'utils/testUtils'; + +describe('Footer', () => { + it("doesnt't show when version info is not available", () => { + render( + wrapWithUpdatesProvider(