Skip to content

Commit

Permalink
Implement PR feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
linkous8 committed Nov 3, 2022
1 parent d421f31 commit 11907d2
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 18 deletions.
9 changes: 7 additions & 2 deletions servo/configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import pathlib
import re
from typing import Any, Callable, Dict, List, Optional, Type, Union
from typing_extensions import TypeAlias

import pydantic
import yaml
Expand All @@ -37,6 +38,7 @@
"BaseConfiguration",
"BaseServoConfiguration",
"OpsaniOptimizer",
"OptimizerTypes",
"CommonConfiguration",
]

Expand Down Expand Up @@ -178,6 +180,9 @@ class Config:
}


OptimizerTypes: TypeAlias = Union[OpsaniOptimizer, AppdynamicsOptimizer]


DEFAULT_TITLE = "Base Connector Configuration Schema"


Expand Down Expand Up @@ -564,7 +569,7 @@ class BaseServoConfiguration(AbstractBaseConfiguration, abc.ABC):

name: Optional[str] = None
description: Optional[str] = None
optimizer: Union[OpsaniOptimizer, AppdynamicsOptimizer] = {}
optimizer: OptimizerTypes = {}
connectors: Optional[Union[List[str], Dict[str, str]]] = pydantic.Field(
None,
description=(
Expand Down Expand Up @@ -604,7 +609,7 @@ def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)

# If optimizer hasn't failed validation then it was set by environment variables.
# Explicityly assign it so that its included in pydantic's __fields_set__
# Explicitly assign it so that its included in pydantic's __fields_set__
# Ideally we could just set include=True on the Field but that doesn't seem to override exclude_unset
self.optimizer = self.optimizer

Expand Down
16 changes: 4 additions & 12 deletions servo/connector.py
Original file line number Diff line number Diff line change
Expand Up @@ -135,23 +135,15 @@ class BaseConnector(
)
"""Shared configuration from our parent Servo instance."""

_optimizer: Optional[
Union[
servo.configuration.OpsaniOptimizer,
servo.configuration.AppdynamicsOptimizer,
]
] = pydantic.PrivateAttr(default=None)
_optimizer: Optional[servo.configuration.OptimizerTypes] = pydantic.PrivateAttr(
default=None
)
"""Shared optimizer from our parent Servo instance."""

@property
def optimizer(
self,
) -> Optional[
Union[
servo.configuration.OpsaniOptimizer,
servo.configuration.AppdynamicsOptimizer,
]
]:
) -> Optional[servo.configuration.OptimizerTypes]:
"""The optimizer for the connector."""
return self._optimizer

Expand Down
5 changes: 1 addition & 4 deletions servo/runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,7 @@ def connected(self) -> bool:
@property
def optimizer(
self,
) -> Union[
servo.configuration.OpsaniOptimizer,
servo.configuration.AppdynamicsOptimizer,
]:
) -> servo.configuration.OptimizerTypes:
return self.servo.optimizer

@property
Expand Down

0 comments on commit 11907d2

Please sign in to comment.