Skip to content

Commit

Permalink
Fix types for generated config models
Browse files Browse the repository at this point in the history
  • Loading branch information
ofek committed Jul 21, 2023
1 parent b13cdaa commit 97210ef
Show file tree
Hide file tree
Showing 352 changed files with 4,791 additions and 2,199 deletions.
1 change: 0 additions & 1 deletion LICENSE-3rdparty.csv
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ flup-py3,Vendor,BSD-3-Clause,"Copyright (c) 2005, 2006 Allan Saddi <allan@saddi.
foundationdb,PyPI,Apache-2.0,Copyright 2017 FoundationDB
futures,PyPI,PSF,Copyright (c) 2015 Brian Quinlan
gearman,PyPI,Apache-2.0,Copyright 2010 Yelp
immutables,PyPI,Apache-2.0,Copyright 2018-present Contributors to the immutables project.
importlib-metadata,PyPI,Apache-2.0,"Copyright 2017-2019 Jason R. Coombs, Barry Warsaw"
in-toto,PyPI,Apache-2.0,Copyright 2018 New York University
ipaddress,PyPI,PSF,Copyright (c) 2013 Philipp Hagemeister
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@

from __future__ import annotations

from typing import Mapping, Optional, Sequence, Union
from types import MappingProxyType
from typing import Optional, Union

from pydantic import BaseModel, ConfigDict, Field, field_validator, model_validator
from typing_extensions import Literal
Expand All @@ -22,6 +23,7 @@

class Counter(BaseModel):
model_config = ConfigDict(
arbitrary_types_allowed=True,
extra='allow',
frozen=True,
)
Expand All @@ -34,6 +36,7 @@ class Counter(BaseModel):

class InstanceCounts(BaseModel):
model_config = ConfigDict(
arbitrary_types_allowed=True,
frozen=True,
)
monitored: Optional[str] = None
Expand All @@ -43,11 +46,12 @@ class InstanceCounts(BaseModel):

class ExtraMetrics(BaseModel):
model_config = ConfigDict(
arbitrary_types_allowed=True,
frozen=True,
)
counters: Sequence[Mapping[str, Union[str, Counter]]]
exclude: Optional[Sequence[str]] = None
include: Optional[Sequence[str]] = None
counters: tuple[MappingProxyType[str, Union[str, Counter]], ...]
exclude: Optional[tuple[str, ...]] = None
include: Optional[tuple[str, ...]] = None
instance_counts: Optional[InstanceCounts] = None
name: str
tag_name: Optional[str] = None
Expand All @@ -56,19 +60,21 @@ class ExtraMetrics(BaseModel):

class MetricPatterns(BaseModel):
model_config = ConfigDict(
arbitrary_types_allowed=True,
frozen=True,
)
exclude: Optional[Sequence[str]] = None
include: Optional[Sequence[str]] = None
exclude: Optional[tuple[str, ...]] = None
include: Optional[tuple[str, ...]] = None


class Metrics(BaseModel):
model_config = ConfigDict(
arbitrary_types_allowed=True,
frozen=True,
)
counters: Sequence[Mapping[str, Union[str, Counter]]]
exclude: Optional[Sequence[str]] = None
include: Optional[Sequence[str]] = None
counters: tuple[MappingProxyType[str, Union[str, Counter]], ...]
exclude: Optional[tuple[str, ...]] = None
include: Optional[tuple[str, ...]] = None
instance_counts: Optional[InstanceCounts] = None
name: str
tag_name: Optional[str] = None
Expand All @@ -78,24 +84,25 @@ class Metrics(BaseModel):
class InstanceConfig(BaseModel):
model_config = ConfigDict(
validate_default=True,
arbitrary_types_allowed=True,
frozen=True,
)
additional_metrics: Optional[Sequence[Sequence[str]]] = None
counter_data_types: Optional[Sequence[str]] = None
additional_metrics: Optional[tuple[tuple[str, ...], ...]] = None
counter_data_types: Optional[tuple[str, ...]] = None
disable_generic_tags: Optional[bool] = None
empty_default_hostname: Optional[bool] = None
enable_health_service_check: Optional[bool] = None
extra_metrics: Optional[Mapping[str, ExtraMetrics]] = None
extra_metrics: Optional[MappingProxyType[str, ExtraMetrics]] = None
host: Optional[str] = None
metric_patterns: Optional[MetricPatterns] = None
metrics: Optional[Mapping[str, Metrics]] = None
metrics: Optional[MappingProxyType[str, Metrics]] = None
min_collection_interval: Optional[float] = None
namespace: Optional[str] = Field(None, pattern='\\w*')
password: Optional[str] = None
server: Optional[str] = None
server_tag: Optional[str] = None
service: Optional[str] = None
tags: Optional[Sequence[str]] = None
tags: Optional[tuple[str, ...]] = None
use_legacy_check_version: Optional[bool] = None
username: Optional[str] = None

Expand All @@ -112,6 +119,10 @@ def _ensure_defaults(cls, value, info):

return getattr(defaults, f'instance_{info.field_name}', lambda: value)()

@field_validator('*', mode='before')
def _correct_initial_types(cls, value):
return validation.utils.make_immutable(value)

@field_validator('*')
def _run_validations(cls, value, info):
field = cls.model_fields[info.field_name]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
class SharedConfig(BaseModel):
model_config = ConfigDict(
validate_default=True,
arbitrary_types_allowed=True,
frozen=True,
)
service: Optional[str] = None
Expand All @@ -40,6 +41,10 @@ def _ensure_defaults(cls, value, info):

return getattr(defaults, f'shared_{info.field_name}', lambda: value)()

@field_validator('*', mode='before')
def _correct_initial_types(cls, value):
return validation.utils.make_immutable(value)

@field_validator('*')
def _run_validations(cls, value, info):
field = cls.model_fields[info.field_name]
Expand Down
9 changes: 7 additions & 2 deletions activemq/datadog_checks/activemq/config_models/instance.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

from __future__ import annotations

from typing import Optional, Sequence
from typing import Optional

from pydantic import BaseModel, ConfigDict, field_validator, model_validator

Expand All @@ -22,6 +22,7 @@
class InstanceConfig(BaseModel):
model_config = ConfigDict(
validate_default=True,
arbitrary_types_allowed=True,
frozen=True,
)
collect_default_jvm_metrics: Optional[bool] = None
Expand All @@ -42,7 +43,7 @@ class InstanceConfig(BaseModel):
rmi_connection_timeout: Optional[float] = None
rmi_registry_ssl: Optional[bool] = None
service: Optional[str] = None
tags: Optional[Sequence[str]] = None
tags: Optional[tuple[str, ...]] = None
tools_jar_path: Optional[str] = None
trust_store_password: Optional[str] = None
trust_store_path: Optional[str] = None
Expand All @@ -61,6 +62,10 @@ def _ensure_defaults(cls, value, info):

return getattr(defaults, f'instance_{info.field_name}', lambda: value)()

@field_validator('*', mode='before')
def _correct_initial_types(cls, value):
return validation.utils.make_immutable(value)

@field_validator('*')
def _run_validations(cls, value, info):
field = cls.model_fields[info.field_name]
Expand Down
10 changes: 8 additions & 2 deletions activemq/datadog_checks/activemq/config_models/shared.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@

from __future__ import annotations

from typing import Any, Mapping, Optional, Sequence
from types import MappingProxyType
from typing import Any, Optional

from pydantic import BaseModel, ConfigDict, field_validator, model_validator

Expand All @@ -22,10 +23,11 @@
class SharedConfig(BaseModel):
model_config = ConfigDict(
validate_default=True,
arbitrary_types_allowed=True,
frozen=True,
)
collect_default_metrics: Optional[bool] = None
conf: Optional[Sequence[Mapping[str, Any]]] = None
conf: Optional[tuple[MappingProxyType[str, Any], ...]] = None
is_jmx: bool
new_gc_metrics: Optional[bool] = None
service: Optional[str] = None
Expand All @@ -44,6 +46,10 @@ def _ensure_defaults(cls, value, info):

return getattr(defaults, f'shared_{info.field_name}', lambda: value)()

@field_validator('*', mode='before')
def _correct_initial_types(cls, value):
return validation.utils.make_immutable(value)

@field_validator('*')
def _run_validations(cls, value, info):
field = cls.model_fields[info.field_name]
Expand Down
35 changes: 22 additions & 13 deletions activemq_xml/datadog_checks/activemq_xml/config_models/instance.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@

from __future__ import annotations

from typing import Any, Mapping, Optional, Sequence
from types import MappingProxyType
from typing import Any, Optional

from pydantic import BaseModel, ConfigDict, field_validator, model_validator

Expand All @@ -21,32 +22,36 @@

class AuthToken(BaseModel):
model_config = ConfigDict(
arbitrary_types_allowed=True,
frozen=True,
)
reader: Optional[Mapping[str, Any]] = None
writer: Optional[Mapping[str, Any]] = None
reader: Optional[MappingProxyType[str, Any]] = None
writer: Optional[MappingProxyType[str, Any]] = None


class MetricPatterns(BaseModel):
model_config = ConfigDict(
arbitrary_types_allowed=True,
frozen=True,
)
exclude: Optional[Sequence[str]] = None
include: Optional[Sequence[str]] = None
exclude: Optional[tuple[str, ...]] = None
include: Optional[tuple[str, ...]] = None


class Proxy(BaseModel):
model_config = ConfigDict(
arbitrary_types_allowed=True,
frozen=True,
)
http: Optional[str] = None
https: Optional[str] = None
no_proxy: Optional[Sequence[str]] = None
no_proxy: Optional[tuple[str, ...]] = None


class InstanceConfig(BaseModel):
model_config = ConfigDict(
validate_default=True,
arbitrary_types_allowed=True,
frozen=True,
)
allow_redirects: Optional[bool] = None
Expand All @@ -56,13 +61,13 @@ class InstanceConfig(BaseModel):
aws_region: Optional[str] = None
aws_service: Optional[str] = None
connect_timeout: Optional[float] = None
detailed_queues: Optional[Sequence[str]] = None
detailed_subscribers: Optional[Sequence[str]] = None
detailed_topics: Optional[Sequence[str]] = None
detailed_queues: Optional[tuple[str, ...]] = None
detailed_subscribers: Optional[tuple[str, ...]] = None
detailed_topics: Optional[tuple[str, ...]] = None
disable_generic_tags: Optional[bool] = None
empty_default_hostname: Optional[bool] = None
extra_headers: Optional[Mapping[str, Any]] = None
headers: Optional[Mapping[str, Any]] = None
extra_headers: Optional[MappingProxyType[str, Any]] = None
headers: Optional[MappingProxyType[str, Any]] = None
kerberos_auth: Optional[str] = None
kerberos_cache: Optional[str] = None
kerberos_delegate: Optional[bool] = None
Expand All @@ -82,13 +87,13 @@ class InstanceConfig(BaseModel):
service: Optional[str] = None
skip_proxy: Optional[bool] = None
suppress_errors: Optional[bool] = None
tags: Optional[Sequence[str]] = None
tags: Optional[tuple[str, ...]] = None
timeout: Optional[float] = None
tls_ca_cert: Optional[str] = None
tls_cert: Optional[str] = None
tls_ignore_warning: Optional[bool] = None
tls_private_key: Optional[str] = None
tls_protocols_allowed: Optional[Sequence[str]] = None
tls_protocols_allowed: Optional[tuple[str, ...]] = None
tls_use_host_header: Optional[bool] = None
tls_verify: Optional[bool] = None
url: str
Expand All @@ -108,6 +113,10 @@ def _ensure_defaults(cls, value, info):

return getattr(defaults, f'instance_{info.field_name}', lambda: value)()

@field_validator('*', mode='before')
def _correct_initial_types(cls, value):
return validation.utils.make_immutable(value)

@field_validator('*')
def _run_validations(cls, value, info):
field = cls.model_fields[info.field_name]
Expand Down
10 changes: 8 additions & 2 deletions activemq_xml/datadog_checks/activemq_xml/config_models/shared.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

from __future__ import annotations

from typing import Optional, Sequence
from typing import Optional

from pydantic import BaseModel, ConfigDict, field_validator, model_validator

Expand All @@ -21,16 +21,18 @@

class Proxy(BaseModel):
model_config = ConfigDict(
arbitrary_types_allowed=True,
frozen=True,
)
http: Optional[str] = None
https: Optional[str] = None
no_proxy: Optional[Sequence[str]] = None
no_proxy: Optional[tuple[str, ...]] = None


class SharedConfig(BaseModel):
model_config = ConfigDict(
validate_default=True,
arbitrary_types_allowed=True,
frozen=True,
)
proxy: Optional[Proxy] = None
Expand All @@ -51,6 +53,10 @@ def _ensure_defaults(cls, value, info):

return getattr(defaults, f'shared_{info.field_name}', lambda: value)()

@field_validator('*', mode='before')
def _correct_initial_types(cls, value):
return validation.utils.make_immutable(value)

@field_validator('*')
def _run_validations(cls, value, info):
field = cls.model_fields[info.field_name]
Expand Down
Loading

0 comments on commit 97210ef

Please sign in to comment.