from typing import Any
from dataclasses import dataclass, asdict
__all__ = ["JenkinsConnectObject", "JenkinsActionObject", "Parameter",
"Filter", "Flags", "Setting", "JenkinsValidateJob",
"Views", "Jobs", "Folders", "Builder"]
@dataclass
class Base:
def __init__(self, **kws):
for arg, val in kws.items():
setattr(self, arg, val)
def _as_dict(self):
return asdict(self)
class JenkinsSafe(Base):
def __repr__(self):
return f"<{self.__class__.__name__} object at {id(self)}>"
[docs]
class JenkinsValidateJob(JenkinsSafe):
is_valid: bool
url: str
_raw: Any
###########################################
# ACTION
###########################################
[docs]
class JenkinsConnectObject(JenkinsSafe):
request: Any
response: Any
content: str
status_code: int
_raw: Any
[docs]
class JenkinsActionObject(JenkinsSafe):
request: Any
content: Any
status_code: int
###########################################
# FLAGS
###########################################
[docs]
class Flags(Base):
value: Any
def _as_dict(self):
yield super()._as_dict()
[docs]
class Views(Flags):
value: str
[docs]
class Jobs(Flags):
value: str
[docs]
class Folders(Flags):
value: str
[docs]
class Parameter(Flags):
value: str
class BaseParameter(Flags):
value: str
class Builds(BaseParameter):
value: str
class Actions(Builds):
value: str
[docs]
class Filter(Flags):
value: str
[docs]
class Setting(Flags):
value: str or bool
[docs]
class Builder(Flags):
[docs]
class User:
value: dict
[docs]
class Credential:
value: str