feat(apim-apps): first commit
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
from dataclasses import dataclass, field
|
||||
|
||||
|
||||
@dataclass
|
||||
class ApiAccess:
|
||||
api_name: str
|
||||
api_version: str = ""
|
||||
|
||||
|
||||
@dataclass
|
||||
class AppSpec:
|
||||
name: str
|
||||
org_name: str
|
||||
description: str = ""
|
||||
email: str = ""
|
||||
phone: str = ""
|
||||
enabled: bool = True
|
||||
apis: list["ApiAccess"] = field(default_factory=list)
|
||||
environments: list[str] = field(default_factory=list)
|
||||
|
||||
|
||||
@dataclass
|
||||
class OrgSpec:
|
||||
name: str
|
||||
description: str = ""
|
||||
email: str = ""
|
||||
phone: str = ""
|
||||
enabled: bool = True
|
||||
development: bool = False
|
||||
environments: list[str] = field(default_factory=list)
|
||||
|
||||
|
||||
@dataclass
|
||||
class Manifest:
|
||||
organizations: list[OrgSpec] = field(default_factory=list)
|
||||
applications: list[AppSpec] = field(default_factory=list)
|
||||
|
||||
|
||||
@dataclass
|
||||
class EnvConfig:
|
||||
name: str
|
||||
url: str
|
||||
username: str
|
||||
password: str
|
||||
verify_ssl: bool = False
|
||||
|
||||
|
||||
@dataclass
|
||||
class Action:
|
||||
kind: str # "create_org" | "create_app" | "grant_api"
|
||||
env_name: str
|
||||
description: str
|
||||
detail: dict = field(default_factory=dict)
|
||||
|
||||
|
||||
@dataclass
|
||||
class NormResult:
|
||||
actions_done: list[Action] = field(default_factory=list)
|
||||
actions_skipped: list[Action] = field(default_factory=list)
|
||||
errors: list[str] = field(default_factory=list)
|
||||
Reference in New Issue
Block a user