validio-cli 10.1.0__tar.gz → 10.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {validio_cli-10.1.0 → validio_cli-10.2.0}/PKG-INFO +1 -1
- {validio_cli-10.1.0 → validio_cli-10.2.0}/pyproject.toml +2 -2
- {validio_cli-10.1.0 → validio_cli-10.2.0}/pyproject.toml.orig +2 -2
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/__init__.py +13 -1
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/bin/entities/channels.py +6 -3
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/bin/entities/filters.py +6 -3
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/bin/entities/integrations.py +2 -1
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/bin/entities/notification_rules.py +6 -3
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/bin/entities/segmentations.py +6 -3
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/bin/entities/sources.py +7 -4
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/bin/entities/validator_debug_queries.py +6 -3
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/bin/entities/validators.py +6 -3
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/bin/entities/windows.py +6 -3
- {validio_cli-10.1.0 → validio_cli-10.2.0}/README_PUBLIC.md +0 -0
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/bin/entities/code.py +0 -0
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/bin/entities/config.py +0 -0
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/bin/entities/credentials.py +0 -0
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/bin/entities/dbt.py +0 -0
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/bin/entities/incidents.py +0 -0
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/bin/entities/metrics.py +0 -0
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/bin/entities/namespaces.py +0 -0
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/bin/entities/resources.py +0 -0
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/bin/entities/segments.py +0 -0
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/bin/entities/users.py +0 -0
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/bin/main.py +0 -0
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/components.py +0 -0
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/metadata.py +0 -0
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/namespace.py +0 -0
- {validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/schema.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "validio-cli"
|
|
3
|
-
version = "10.
|
|
3
|
+
version = "10.2.0"
|
|
4
4
|
description = "CLI tool to interact with the Validio platform"
|
|
5
5
|
requires-python = ">=3.10,<4"
|
|
6
6
|
readme = "README_PUBLIC.md"
|
|
@@ -39,7 +39,7 @@ dev = [
|
|
|
39
39
|
"ruff==0.16.1",
|
|
40
40
|
"mypy>=1.2.0,<2",
|
|
41
41
|
"licensecheck>=2025.1.0,<2026",
|
|
42
|
-
"pytest>=9.
|
|
42
|
+
"pytest>=9.1.1,<10",
|
|
43
43
|
"flameprof>=0.4,<0.5",
|
|
44
44
|
"validio-sdk",
|
|
45
45
|
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "validio-cli"
|
|
3
|
-
version = "10.
|
|
3
|
+
version = "10.2.0"
|
|
4
4
|
description = "CLI tool to interact with the Validio platform"
|
|
5
5
|
authors = [{ name = "Validio", email = "support@validio.io" }]
|
|
6
6
|
requires-python = ">=3.10,<4"
|
|
@@ -36,7 +36,7 @@ dev = [
|
|
|
36
36
|
"ruff==0.16.1",
|
|
37
37
|
"mypy>=1.2.0,<2",
|
|
38
38
|
"licensecheck>=2025.1.0,<2026",
|
|
39
|
-
"pytest>=9.
|
|
39
|
+
"pytest>=9.1.1,<10",
|
|
40
40
|
"flameprof>=0.4,<0.5",
|
|
41
41
|
"validio-sdk",
|
|
42
42
|
]
|
|
@@ -2,7 +2,7 @@ import asyncio
|
|
|
2
2
|
import contextlib
|
|
3
3
|
import json
|
|
4
4
|
import sys
|
|
5
|
-
from collections.abc import Callable
|
|
5
|
+
from collections.abc import Callable, Coroutine
|
|
6
6
|
from dataclasses import dataclass
|
|
7
7
|
from datetime import datetime, timezone
|
|
8
8
|
from enum import Enum
|
|
@@ -19,12 +19,14 @@ from validio_sdk import config
|
|
|
19
19
|
from validio_sdk._api.api import APIClient
|
|
20
20
|
from validio_sdk.client import USER_AGENT as SDK_USER_AGENT
|
|
21
21
|
from validio_sdk.config import Config, ValidioConfig
|
|
22
|
+
from validio_sdk.exception import ResourceNotFoundError
|
|
22
23
|
from validio_sdk.features import Feature, all_features, set_enabled
|
|
23
24
|
from validio_sdk.util import ClassJSONEncoder
|
|
24
25
|
|
|
25
26
|
from validio_cli.metadata import version as cli_version
|
|
26
27
|
|
|
27
28
|
F = TypeVar("F", bound=Callable[..., Any])
|
|
29
|
+
R = TypeVar("R")
|
|
28
30
|
T = TypeVar("T", bound="OutputSettings")
|
|
29
31
|
|
|
30
32
|
DEFAULT_NAMESPACE: str = "default"
|
|
@@ -132,6 +134,16 @@ def get_client(
|
|
|
132
134
|
return APIClient(config=cfg, user_agent=user_agent, headers=headers), cfg
|
|
133
135
|
|
|
134
136
|
|
|
137
|
+
async def none_if_404(
|
|
138
|
+
lookup: Coroutine[Any, Any, R],
|
|
139
|
+
) -> R | None:
|
|
140
|
+
"""Return None if response is a 404."""
|
|
141
|
+
try:
|
|
142
|
+
return await lookup
|
|
143
|
+
except ResourceNotFoundError:
|
|
144
|
+
return None
|
|
145
|
+
|
|
146
|
+
|
|
135
147
|
@dataclass
|
|
136
148
|
class OutputSettings:
|
|
137
149
|
attribute_name: str | None = None
|
|
@@ -15,6 +15,7 @@ from validio_cli import (
|
|
|
15
15
|
ValidioConfig,
|
|
16
16
|
_single_resource_if_specified,
|
|
17
17
|
get_client,
|
|
18
|
+
none_if_404,
|
|
18
19
|
output_json,
|
|
19
20
|
output_ok_or_error,
|
|
20
21
|
output_text,
|
|
@@ -105,9 +106,11 @@ async def get_channel_id(
|
|
|
105
106
|
if identifier.startswith(prefix):
|
|
106
107
|
return identifier
|
|
107
108
|
|
|
108
|
-
resource = await
|
|
109
|
-
|
|
110
|
-
|
|
109
|
+
resource = await none_if_404(
|
|
110
|
+
vc.get_channels(
|
|
111
|
+
channel_id=identifier,
|
|
112
|
+
namespace_id=get_namespace(namespace, cfg),
|
|
113
|
+
)
|
|
111
114
|
)
|
|
112
115
|
|
|
113
116
|
if resource is None:
|
|
@@ -14,6 +14,7 @@ from validio_cli import (
|
|
|
14
14
|
OutputSettings,
|
|
15
15
|
ValidioConfig,
|
|
16
16
|
get_client,
|
|
17
|
+
none_if_404,
|
|
17
18
|
output_json,
|
|
18
19
|
output_ok_or_error,
|
|
19
20
|
output_text,
|
|
@@ -113,9 +114,11 @@ async def get_filter_id(
|
|
|
113
114
|
if identifier.startswith(prefix):
|
|
114
115
|
return identifier
|
|
115
116
|
|
|
116
|
-
resource = await
|
|
117
|
-
|
|
118
|
-
|
|
117
|
+
resource = await none_if_404(
|
|
118
|
+
vc.get_filters(
|
|
119
|
+
filter_id=identifier,
|
|
120
|
+
namespace_id=get_namespace(namespace, cfg),
|
|
121
|
+
)
|
|
119
122
|
)
|
|
120
123
|
|
|
121
124
|
if resource is None:
|
|
@@ -13,6 +13,7 @@ from validio_cli import (
|
|
|
13
13
|
OutputSettings,
|
|
14
14
|
_single_resource_if_specified,
|
|
15
15
|
get_client,
|
|
16
|
+
none_if_404,
|
|
16
17
|
output_json,
|
|
17
18
|
output_ok_or_error,
|
|
18
19
|
output_text,
|
|
@@ -93,7 +94,7 @@ async def get_integration_id(vc: APIClient, identifier: str) -> str | None:
|
|
|
93
94
|
if identifier.startswith(prefix):
|
|
94
95
|
return identifier
|
|
95
96
|
|
|
96
|
-
resource = await vc.get_integrations(integration_id=identifier)
|
|
97
|
+
resource = await none_if_404(vc.get_integrations(integration_id=identifier))
|
|
97
98
|
|
|
98
99
|
if resource is None:
|
|
99
100
|
print(f"No {identifier_type} with name or id {identifier} found")
|
|
@@ -15,6 +15,7 @@ from validio_cli import (
|
|
|
15
15
|
OutputSettings,
|
|
16
16
|
_single_resource_if_specified,
|
|
17
17
|
get_client,
|
|
18
|
+
none_if_404,
|
|
18
19
|
output_json,
|
|
19
20
|
output_ok_or_error,
|
|
20
21
|
output_text,
|
|
@@ -110,9 +111,11 @@ async def get_notification_rule_id(
|
|
|
110
111
|
if identifier.startswith(prefix):
|
|
111
112
|
return identifier
|
|
112
113
|
|
|
113
|
-
resource = await
|
|
114
|
-
|
|
115
|
-
|
|
114
|
+
resource = await none_if_404(
|
|
115
|
+
vc.get_notification_rules(
|
|
116
|
+
notification_rule_id=identifier,
|
|
117
|
+
namespace_id=get_namespace(namespace, cfg),
|
|
118
|
+
)
|
|
116
119
|
)
|
|
117
120
|
|
|
118
121
|
if resource is None:
|
|
@@ -14,6 +14,7 @@ from validio_cli import (
|
|
|
14
14
|
OutputFormatOption,
|
|
15
15
|
OutputSettings,
|
|
16
16
|
get_client,
|
|
17
|
+
none_if_404,
|
|
17
18
|
output_json,
|
|
18
19
|
output_ok_or_error,
|
|
19
20
|
output_text,
|
|
@@ -114,9 +115,11 @@ async def get_segmentation_id(
|
|
|
114
115
|
if identifier.startswith(prefix):
|
|
115
116
|
return identifier
|
|
116
117
|
|
|
117
|
-
resource = await
|
|
118
|
-
|
|
119
|
-
|
|
118
|
+
resource = await none_if_404(
|
|
119
|
+
vc.get_segmentations(
|
|
120
|
+
segmentation_id=identifier,
|
|
121
|
+
namespace_id=get_namespace(namespace, cfg),
|
|
122
|
+
)
|
|
120
123
|
)
|
|
121
124
|
|
|
122
125
|
if resource is None:
|
|
@@ -31,6 +31,7 @@ from validio_cli import (
|
|
|
31
31
|
components,
|
|
32
32
|
format_text,
|
|
33
33
|
get_client,
|
|
34
|
+
none_if_404,
|
|
34
35
|
output_json,
|
|
35
36
|
output_ok_or_error,
|
|
36
37
|
output_text,
|
|
@@ -997,10 +998,12 @@ async def _get_source_id(
|
|
|
997
998
|
if identifier.startswith(prefix):
|
|
998
999
|
return identifier
|
|
999
1000
|
|
|
1000
|
-
resource = await
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1001
|
+
resource = await none_if_404(
|
|
1002
|
+
get_sources(
|
|
1003
|
+
session,
|
|
1004
|
+
source_id=identifier,
|
|
1005
|
+
namespace_id=get_namespace(namespace, cfg),
|
|
1006
|
+
)
|
|
1004
1007
|
)
|
|
1005
1008
|
|
|
1006
1009
|
if resource is None:
|
{validio_cli-10.1.0 → validio_cli-10.2.0}/validio_cli/bin/entities/validator_debug_queries.py
RENAMED
|
@@ -13,6 +13,7 @@ from validio_cli import (
|
|
|
13
13
|
OutputFormatOption,
|
|
14
14
|
OutputSettings,
|
|
15
15
|
get_client,
|
|
16
|
+
none_if_404,
|
|
16
17
|
output_json,
|
|
17
18
|
output_ok_or_error,
|
|
18
19
|
output_text,
|
|
@@ -111,9 +112,11 @@ async def get_validator_debug_query_id(
|
|
|
111
112
|
if identifier.startswith(prefix):
|
|
112
113
|
return identifier
|
|
113
114
|
|
|
114
|
-
resource = await
|
|
115
|
-
|
|
116
|
-
|
|
115
|
+
resource = await none_if_404(
|
|
116
|
+
vc.get_validator_debug_queries(
|
|
117
|
+
validator_debug_query_id=identifier,
|
|
118
|
+
namespace_id=get_namespace(namespace, cfg),
|
|
119
|
+
)
|
|
117
120
|
)
|
|
118
121
|
|
|
119
122
|
if resource is None:
|
|
@@ -14,6 +14,7 @@ from validio_cli import (
|
|
|
14
14
|
OutputFormatOption,
|
|
15
15
|
OutputSettings,
|
|
16
16
|
get_client,
|
|
17
|
+
none_if_404,
|
|
17
18
|
output_json,
|
|
18
19
|
output_ok_or_error,
|
|
19
20
|
output_text,
|
|
@@ -125,9 +126,11 @@ async def get_validator_id(
|
|
|
125
126
|
if identifier.startswith(prefix):
|
|
126
127
|
return identifier
|
|
127
128
|
|
|
128
|
-
resource = await
|
|
129
|
-
|
|
130
|
-
|
|
129
|
+
resource = await none_if_404(
|
|
130
|
+
vc.get_validators(
|
|
131
|
+
validator_id=identifier,
|
|
132
|
+
namespace_id=get_namespace(namespace, cfg),
|
|
133
|
+
)
|
|
131
134
|
)
|
|
132
135
|
|
|
133
136
|
if resource is None:
|
|
@@ -15,6 +15,7 @@ from validio_cli import (
|
|
|
15
15
|
OutputFormatOption,
|
|
16
16
|
OutputSettings,
|
|
17
17
|
get_client,
|
|
18
|
+
none_if_404,
|
|
18
19
|
output_json,
|
|
19
20
|
output_ok_or_error,
|
|
20
21
|
output_text,
|
|
@@ -118,9 +119,11 @@ async def get_window_id(
|
|
|
118
119
|
if identifier.startswith(prefix):
|
|
119
120
|
return identifier
|
|
120
121
|
|
|
121
|
-
resource = await
|
|
122
|
-
|
|
123
|
-
|
|
122
|
+
resource = await none_if_404(
|
|
123
|
+
vc.get_windows(
|
|
124
|
+
window_id=identifier,
|
|
125
|
+
namespace_id=get_namespace(namespace, cfg),
|
|
126
|
+
)
|
|
124
127
|
)
|
|
125
128
|
|
|
126
129
|
if resource is None:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|