diff --git a/doc_gen/index.rst b/doc_gen/index.rst index 2a96cb7..e3c19b0 100644 --- a/doc_gen/index.rst +++ b/doc_gen/index.rst @@ -12,34 +12,39 @@ Welcome to NCTL's documentation! README -NCTL - Main -=========== +Ngrok Tunnel +============ -.. automodule:: nctl.main +.. automodule:: nctl.ngrok -CloudFront -========== -.. automodule:: nctl.cloudfront +AWS CloudFront +============== + +.. automodule:: nctl.aws Logger ====== +.. autoclass:: nctl.logger.LogConfig(pydantic.BaseModel) + :exclude-members: _abc_impl, model_config, model_fields, model_computed_fields + .. automodule:: nctl.logger + :exclude-members: LogConfig Models ====== -.. autoclass:: nctl.models.Concurrency(BaseModel) +.. autoclass:: nctl.models.Concurrency(pydantic.BaseModel) :exclude-members: _abc_impl, model_config, model_fields, model_computed_fields ==== -.. autoclass:: pyninja.models.EnvConfig(BaseModel) +.. autoclass:: nctl.models.EnvConfig(pydantic.BaseSettings) :exclude-members: _abc_impl, model_config, model_fields, model_computed_fields ==== -.. automodule:: pyninja.models +.. automodule:: nctl.models :exclude-members: Concurrency, EnvConfig, concurrency, env Squire diff --git a/docs/_sources/index.rst.txt b/docs/_sources/index.rst.txt index 2a96cb7..e3c19b0 100644 --- a/docs/_sources/index.rst.txt +++ b/docs/_sources/index.rst.txt @@ -12,34 +12,39 @@ Welcome to NCTL's documentation! README -NCTL - Main -=========== +Ngrok Tunnel +============ -.. automodule:: nctl.main +.. automodule:: nctl.ngrok -CloudFront -========== -.. automodule:: nctl.cloudfront +AWS CloudFront +============== + +.. automodule:: nctl.aws Logger ====== +.. autoclass:: nctl.logger.LogConfig(pydantic.BaseModel) + :exclude-members: _abc_impl, model_config, model_fields, model_computed_fields + .. automodule:: nctl.logger + :exclude-members: LogConfig Models ====== -.. autoclass:: nctl.models.Concurrency(BaseModel) +.. autoclass:: nctl.models.Concurrency(pydantic.BaseModel) :exclude-members: _abc_impl, model_config, model_fields, model_computed_fields ==== -.. autoclass:: pyninja.models.EnvConfig(BaseModel) +.. autoclass:: nctl.models.EnvConfig(pydantic.BaseSettings) :exclude-members: _abc_impl, model_config, model_fields, model_computed_fields ==== -.. automodule:: pyninja.models +.. automodule:: nctl.models :exclude-members: Concurrency, EnvConfig, concurrency, env Squire diff --git a/docs/genindex.html b/docs/genindex.html index add400f..d52bf00 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -43,14 +43,16 @@

Index

A - | B | C | D | E | F | G + | H + | L | M | N + | P | R | T | U @@ -62,17 +64,17 @@

A

- - - -

B

-
@@ -80,7 +82,7 @@

B

C

  • Concurrency.Config (class in nctl.models)
  • -
  • create_distribution() (nctl.cloudfront.CloudFront method) +
  • configure_logging() (in module nctl.logger) +
  • +
  • create_distribution() (nctl.aws.CloudFront method)
  • create_ngrok_config() (in module nctl.squire)
  • @@ -100,7 +104,19 @@

    C

    D

    +
    @@ -109,14 +125,30 @@

    E

    +

    F

    +
    @@ -124,7 +156,37 @@

    F

    G

    +
    + +

    H

    + + + +
    + +

    L

    + + +
    @@ -136,11 +198,13 @@

    M

    module
      -
    • nctl.cloudfront +
    • nctl.aws
    • nctl.logger
    • -
    • nctl.main +
    • nctl.models +
    • +
    • nctl.ngrok
    • nctl.squire
    • @@ -152,10 +216,10 @@

      N

      +
      +
    • ngrok_auth (nctl.models.EnvConfig attribute) +
    • +
    • ngrok_config (nctl.models.EnvConfig attribute) +
    • +
      + +

      P

      + + +

      R

      @@ -71,7 +71,12 @@

      Python Module Index

      + + + diff --git a/docs/searchindex.js b/docs/searchindex.js index 021c4a8..40bde4d 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["README", "index"], "filenames": ["README.md", "index.rst"], "titles": ["NCTL", "Welcome to NCTL\u2019s documentation!"], "terms": {"fuse": 0, "ngrok": [0, 1], "cloudfront": 0, "offer": 0, "fulli": 0, "autom": 0, "solut": 0, "platform": 0, "support": 0, "deploy": 0, "recommend": 0, "instal": 0, "python": 0, "3": 0, "10": 0, "11": 0, "us": [0, 1], "dedic": [0, 1], "virtual": 0, "m": 0, "pip": 0, "initi": [0, 1], "id": [0, 1], "import": 0, "__name__": 0, "__main__": 0, "tunnel": [0, 1], "cli": [0, 1], "start": 0, "help": 0, "usag": 0, "instruct": 0, "sourc": 0, "from": [0, 1], "an": 0, "env": [0, 1], "file": [0, 1], "By": 0, "default": 0, "look": 0, "current": 0, "work": 0, "directori": 0, "refer": [0, 1], "sampl": 0, "exampl": 0, "port": 0, "number": 0, "expos": 0, "host": 0, "hostnam": 0, "server": 0, "ha": [0, 1], "_": 0, "auth": [0, 1], "token": [0, 1], "configur": [0, 1], "filepath": 0, "auto": 0, "creat": [0, 1], "when": 0, "i": [0, 1], "specifi": 0, "distribut": [0, 1], "requir": 0, "updat": [0, 1], "exist": [0, 1], "new": [0, 1], "debug": 0, "boolean": 0, "flag": 0, "enabl": 0, "level": 0, "log": [0, 1], "profil": 0, "name": [0, 1], "access": 0, "kei": 0, "secret": 0, "region": 0, "docstr": 0, "format": [0, 1], "googl": 0, "style": 0, "convent": 0, "pep": 0, "8": 0, "isort": 0, "gitvers": 0, "revers": 0, "f": 0, "release_not": 0, "rst": 0, "t": 0, "pre": 0, "commit": 0, "ensur": 0, "run": [0, 1], "pytest": 0, "gener": 0, "valid": [0, 1], "hyperlink": 0, "all": 0, "markdown": 0, "includ": 0, "wiki": 0, "page": [0, 1], "sphinx": 0, "5": 0, "1": 0, "recommonmark": 0, "http": 0, "org": 0, "project": 0, "thevickypedia": 0, "github": 0, "io": 0, "vignesh": 0, "rao": 0, "under": 0, "mit": 0, "kick": 1, "off": 1, "environ": 1, "variabl": 1, "code": 1, "standard": 1, "releas": 1, "note": 1, "lint": 1, "pypi": 1, "packag": 1, "runbook": 1, "licens": 1, "copyright": 1, "distribution_handl": 1, "public_url": 1, "str": 1, "env_dump": 1, "dict": 1, "none": 1, "process": 1, "paramet": 1, "public": 1, "url": 1, "json": 1, "dump": 1, "writer": 1, "frame": 1, "extract": 1, "messag": 1, "part": 1, "each": 1, "line": 1, "custom": 1, "kwarg": 1, "class": 1, "object": 1, "get": 1, "avail": 1, "otherwis": 1, "get_distribut": 1, "return": 1, "inform": 1, "type": 1, "create_distribut": 1, "yaml": 1, "config": 1, "update_distribut": 1, "origin_nam": 1, "origin": 1, "replac": 1, "addprocessnam": 1, "process_nam": 1, "wrapper": 1, "overrid": 1, "filter": 1, "add": 1, "processnam": 1, "take": 1, "ad": 1, "argument": 1, "record": 1, "logrecord": 1, "bool": 1, "built": 1, "build_logg": 1, "construct": 1, "concurr": 1, "basemodel": 1, "load": 1, "multiprocess": 1, "cloudfront_process": 1, "context": 1, "allow": 1, "arbitrari": 1, "arbitrary_types_allow": 1, "true": 1, "create_ngrok_config": 1, "filenam": 1, "env_load": 1, "o": 1, "pathlik": 1, "envconfig": 1, "base": 1, "filetyp": 1, "where": 1, "var": 1, "have": 1, "run_valid": 1, "check": 1, "rais": 1, "assertionerror": 1, "If": 1, "ani": 1, "fail": 1, "index": 1, "modul": 1, "search": 1}, "objects": {"nctl": [[1, 0, 0, "-", "cloudfront"], [1, 0, 0, "-", "logger"], [1, 0, 0, "-", "main"], [1, 0, 0, "-", "squire"]], "nctl.cloudfront": [[1, 1, 1, "", "CloudFront"]], "nctl.cloudfront.CloudFront": [[1, 2, 1, "", "create_distribution"], [1, 2, 1, "", "get_distribution"], [1, 2, 1, "", "run"], [1, 2, 1, "", "update_distribution"]], "nctl.logger": [[1, 1, 1, "", "AddProcessName"], [1, 3, 1, "", "build_logger"]], "nctl.logger.AddProcessName": [[1, 2, 1, "", "filter"]], "nctl.main": [[1, 3, 1, "", "distribution_handler"], [1, 3, 1, "", "tunnel"], [1, 3, 1, "", "writer"]], "nctl.models": [[1, 1, 1, "", "Concurrency"]], "nctl.models.Concurrency": [[1, 1, 1, "", "Config"], [1, 4, 1, "", "cloudfront_process"]], "nctl.models.Concurrency.Config": [[1, 4, 1, "", "arbitrary_types_allowed"]], "nctl.squire": [[1, 3, 1, "", "create_ngrok_config"], [1, 3, 1, "", "env_loader"], [1, 3, 1, "", "run_validations"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:function", "4": "py:attribute"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "function", "Python function"], "4": ["py", "attribute", "Python attribute"]}, "titleterms": {"nctl": [0, 1], "kick": 0, "off": 0, "environ": 0, "variabl": 0, "aw": 0, "config": 0, "code": 0, "standard": 0, "releas": 0, "note": 0, "lint": 0, "pypi": 0, "packag": 0, "runbook": 0, "licens": 0, "copyright": 0, "welcom": 1, "": 1, "document": 1, "content": 1, "main": 1, "cloudfront": 1, "logger": 1, "model": 1, "squir": 1, "indic": 1, "tabl": 1}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["README", "index"], "filenames": ["README.md", "index.rst"], "titles": ["NCTL", "Welcome to NCTL\u2019s documentation!"], "terms": {"fuse": 0, "ngrok": 0, "cloudfront": 0, "offer": 0, "fulli": 0, "autom": 0, "solut": 0, "platform": 0, "support": 0, "deploy": 0, "recommend": 0, "instal": 0, "python": 0, "3": 0, "10": 0, "11": 0, "us": [0, 1], "dedic": [0, 1], "virtual": 0, "m": 0, "pip": 0, "initi": [0, 1], "id": [0, 1], "import": 0, "__name__": 0, "__main__": 0, "tunnel": 0, "cli": [0, 1], "start": 0, "help": 0, "usag": 0, "instruct": 0, "sourc": 0, "from": [0, 1], "an": 0, "env": [0, 1], "file": [0, 1], "By": 0, "default": [0, 1], "look": 0, "current": 0, "work": 0, "directori": 0, "refer": [0, 1], "sampl": 0, "exampl": 0, "port": [0, 1], "number": 0, "expos": 0, "host": [0, 1], "hostnam": 0, "server": 0, "ha": [0, 1], "_": 0, "auth": [0, 1], "token": [0, 1], "configur": [0, 1], "filepath": 0, "auto": 0, "creat": [0, 1], "when": 0, "i": [0, 1], "specifi": 0, "distribut": [0, 1], "requir": 0, "updat": [0, 1], "exist": [0, 1], "new": [0, 1], "debug": [0, 1], "boolean": [0, 1], "flag": [0, 1], "enabl": [0, 1], "level": 0, "log": [0, 1], "profil": 0, "name": [0, 1], "access": 0, "kei": 0, "secret": 0, "region": 0, "docstr": 0, "format": [0, 1], "googl": 0, "style": 0, "convent": 0, "pep": 0, "8": 0, "isort": 0, "gitvers": 0, "revers": 0, "f": 0, "release_not": 0, "rst": 0, "t": 0, "pre": 0, "commit": 0, "ensur": 0, "run": [0, 1], "pytest": 0, "gener": 0, "valid": [0, 1], "hyperlink": 0, "all": 0, "markdown": 0, "includ": 0, "wiki": 0, "page": [0, 1], "sphinx": 0, "5": 0, "1": 0, "recommonmark": 0, "http": 0, "org": 0, "project": 0, "thevickypedia": 0, "github": 0, "io": 0, "vignesh": 0, "rao": 0, "under": 0, "mit": 0, "kick": 1, "off": 1, "environ": 1, "variabl": 1, "code": 1, "standard": 1, "releas": 1, "note": 1, "lint": 1, "pypi": 1, "packag": 1, "runbook": 1, "licens": 1, "copyright": 1, "distribution_handl": 1, "public_url": 1, "str": 1, "env_dump": 1, "dict": 1, "none": 1, "process": 1, "paramet": 1, "public": 1, "url": 1, "json": 1, "dump": 1, "writer": 1, "frame": 1, "extract": 1, "messag": 1, "part": 1, "each": 1, "line": 1, "custom": 1, "kwarg": 1, "class": 1, "log_config": 1, "object": 1, "get": 1, "avail": 1, "otherwis": 1, "get_distribut": 1, "return": 1, "inform": 1, "type": 1, "create_distribut": 1, "yaml": 1, "config": 1, "update_distribut": 1, "origin_nam": 1, "origin": 1, "replac": 1, "logconfig": 1, "pydant": 1, "basemodel": 1, "bool": 1, "extra": 1, "ignor": 1, "addprocessnam": 1, "process_nam": 1, "wrapper": 1, "overrid": 1, "filter": 1, "add": 1, "processnam": 1, "take": 1, "ad": 1, "argument": 1, "record": 1, "logrecord": 1, "built": 1, "configure_log": 1, "base": 1, "keyword": 1, "disabl": 1, "mode": 1, "concurr": 1, "load": 1, "multiprocess": 1, "cloudfront_process": 1, "context": 1, "allow": 1, "arbitrari": 1, "arbitrary_types_allow": 1, "true": 1, "envconfig": 1, "baseset": 1, "set": 1, "int": 1, "aws_profile_nam": 1, "aws_access_key_id": 1, "aws_secret_access_kei": 1, "aws_default_region": 1, "ngrok_auth": 1, "ngrok_config": 1, "option": 1, "path": 1, "distribution_id": 1, "distribution_config": 1, "classmethod": 1, "from_env_fil": 1, "env_fil": 1, "instanc": 1, "hide_input_in_error": 1, "create_ngrok_config": 1, "filenam": 1, "env_load": 1, "o": 1, "pathlik": 1, "filetyp": 1, "where": 1, "var": 1, "have": 1, "run_valid": 1, "check": 1, "rais": 1, "assertionerror": 1, "If": 1, "ani": 1, "fail": 1, "index": 1, "modul": 1, "search": 1}, "objects": {"nctl": [[1, 0, 0, "-", "aws"], [1, 0, 0, "-", "logger"], [1, 0, 0, "-", "models"], [1, 0, 0, "-", "ngrok"], [1, 0, 0, "-", "squire"]], "nctl.aws": [[1, 1, 1, "", "CloudFront"]], "nctl.aws.CloudFront": [[1, 2, 1, "", "create_distribution"], [1, 2, 1, "", "get_distribution"], [1, 2, 1, "", "run"], [1, 2, 1, "", "update_distribution"]], "nctl.logger": [[1, 1, 1, "", "AddProcessName"], [1, 1, 1, "", "LogConfig"], [1, 4, 1, "", "configure_logging"]], "nctl.logger.AddProcessName": [[1, 2, 1, "", "filter"]], "nctl.logger.LogConfig": [[1, 1, 1, "", "Config"], [1, 3, 1, "", "debug"], [1, 3, 1, "", "log_config"], [1, 3, 1, "", "process"]], "nctl.logger.LogConfig.Config": [[1, 3, 1, "", "extra"]], "nctl.models": [[1, 1, 1, "", "Concurrency"], [1, 1, 1, "", "EnvConfig"]], "nctl.models.Concurrency": [[1, 1, 1, "", "Config"], [1, 3, 1, "", "cloudfront_process"]], "nctl.models.Concurrency.Config": [[1, 3, 1, "", "arbitrary_types_allowed"]], "nctl.models.EnvConfig": [[1, 1, 1, "", "Config"], [1, 3, 1, "", "aws_access_key_id"], [1, 3, 1, "", "aws_default_region"], [1, 3, 1, "", "aws_profile_name"], [1, 3, 1, "", "aws_secret_access_key"], [1, 3, 1, "", "debug"], [1, 3, 1, "", "distribution_config"], [1, 3, 1, "", "distribution_id"], [1, 2, 1, "", "from_env_file"], [1, 3, 1, "", "host"], [1, 3, 1, "", "log_config"], [1, 3, 1, "", "ngrok_auth"], [1, 3, 1, "", "ngrok_config"], [1, 3, 1, "", "port"]], "nctl.models.EnvConfig.Config": [[1, 3, 1, "", "extra"], [1, 3, 1, "", "hide_input_in_errors"]], "nctl.ngrok": [[1, 4, 1, "", "distribution_handler"], [1, 4, 1, "", "tunnel"], [1, 4, 1, "", "writer"]], "nctl.squire": [[1, 4, 1, "", "create_ngrok_config"], [1, 4, 1, "", "env_loader"], [1, 4, 1, "", "run_validations"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "function", "Python function"]}, "titleterms": {"nctl": [0, 1], "kick": 0, "off": 0, "environ": 0, "variabl": 0, "aw": [0, 1], "config": 0, "code": 0, "standard": 0, "releas": 0, "note": 0, "lint": 0, "pypi": 0, "packag": 0, "runbook": 0, "licens": 0, "copyright": 0, "welcom": 1, "": 1, "document": 1, "content": 1, "ngrok": 1, "tunnel": 1, "cloudfront": 1, "logger": 1, "model": 1, "squir": 1, "indic": 1, "tabl": 1}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 56}}) \ No newline at end of file diff --git a/nctl/ngrok.py b/nctl/ngrok.py index 858d070..40048e2 100644 --- a/nctl/ngrok.py +++ b/nctl/ngrok.py @@ -14,7 +14,7 @@ def distribution_handler(public_url: str, env_dump: dict) -> None: Args: public_url: Public URL from ngrok, that has to be updated. - env_dump: env_dump: JSON dump of environment variables' configuration. + env_dump: JSON dump of environment variables' configuration. """ cloud_front = aws.CloudFront(env_dump) cloud_front.run(public_url)
        @@ -199,7 +286,7 @@

        R

        T

        @@ -207,7 +294,7 @@

        T

        U

        @@ -215,7 +302,7 @@

        U

        W

        diff --git a/docs/index.html b/docs/index.html index 20bdf2d..1cd897c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -62,25 +62,25 @@

        Welcome to NCTL’s documentation! -

        NCTL - Main

        +
        +

        Ngrok Tunnel

        -
        -nctl.main.distribution_handler(public_url: str, env_dump: dict) None
        +
        +nctl.ngrok.distribution_handler(public_url: str, env_dump: dict) None

        Updates the cloudfront distribution in a dedicated process.

        Parameters:
        • public_url – Public URL from ngrok, that has to be updated.

        • -
        • env_dump – env_dump: JSON dump of environment variables’ configuration.

        • +
        • env_dump – JSON dump of environment variables’ configuration.

        -
        -nctl.main.writer(frame: str) None
        +
        +nctl.ngrok.writer(frame: str) None

        Extracts the message part from each line into a custom message format.

        Parameters:
        @@ -90,24 +90,24 @@

        Welcome to NCTL’s documentation! -
        -nctl.main.tunnel(**kwargs) None
        +
        +nctl.ngrok.tunnel(**kwargs) None

        Initiates a ngrok tunnel using the CLI and updates cloudfront distribution.

        -
        -

        CloudFront

        +
        +

        AWS CloudFront

        -
        -class nctl.cloudfront.CloudFront(env_dump: dict)
        +
        +class nctl.aws.CloudFront(env_dump: dict, log_config: dict = None)

        Initiates CloudFront object to get and update a cloudfront distribution.

        >>> CloudFront
         
        -
        -run(public_url: str) None
        +
        +run(public_url: str) None

        Updates the distribution if ID is available, otherwise creates a new distribution.

        Parameters:
        @@ -117,8 +117,8 @@

        Welcome to NCTL’s documentation! -
        -get_distribution() dict
        +
        +get_distribution() dict

        Get cloudfront distribution.

        Returns:
        @@ -131,14 +131,14 @@

        Welcome to NCTL’s documentation! -
        -create_distribution() None
        +
        +create_distribution() None

        Creates a cloudfront distribution from a JSON or YAML file as config.

        -
        -update_distribution(origin_name: str) None
        +
        +update_distribution(origin_name: str) None

        Updates a cloudfront distribution.

        Parameters:
        @@ -150,9 +150,44 @@

        Welcome to NCTL’s documentation! -

        Logger

        +
        +

        Logger

        +
        +class nctl.logger.LogConfig(pydantic.BaseModel)
        +

        BaseModel object for log configurations.

        +
        >>> LogConfig
        +
        +
        +
        +
        +debug: bool
        +
        + +
        +
        +process: str | None
        +
        + +
        +
        +log_config: dict | str | None
        +
        + +
        +
        +class Config
        +

        Extra configuration for LogConfig object.

        +
        +
        +extra = 'ignore'
        +
        + +
        + +
        + +
        class nctl.logger.AddProcessName(process_name: str)

        Wrapper that overrides logging.Filter to add processName to the existing log format.

        @@ -173,15 +208,16 @@

        Welcome to NCTL’s documentation! -
        -nctl.logger.build_logger() Logger
        -

        Constructs a custom logger.

        +
        +nctl.logger.configure_logging(**kwargs) None
        +

        Configure logging based on the parameters.

        -
        Returns:
        -

        Returns a reference to the logger object.

        -
        -
        Return type:
        -

        logging.Logger

        +
        Keyword Arguments:
        +
          +
        • debug – Boolean flag to enable/disable debug mode.

        • +
        • process – Name of the process to add a process name filter to default logging.

        • +
        • log_config – Custom logging configuration.

        • +

        @@ -191,7 +227,7 @@

        Welcome to NCTL’s documentation!

        -class nctl.models.Concurrency(BaseModel)
        +class nctl.models.Concurrency(pydantic.BaseModel)

        BaseModel to load the multiprocessing object reference.

        >>> Concurrency
         
        @@ -215,8 +251,110 @@

        Models


        -
        +
        +
        +class nctl.models.EnvConfig(pydantic.BaseSettings)
        +

        Configuration settings for environment variables.

        +
        >>> EnvConfig
        +
        +
        +
        +
        +port: int
        +
        + +
        +
        +host: str
        +
        + +
        +
        +aws_profile_name: str | None
        +
        + +
        +
        +aws_access_key_id: str | None
        +
        + +
        +
        +aws_secret_access_key: str | None
        +
        + +
        +
        +aws_default_region: str | None
        +
        + +
        +
        +ngrok_auth: str | None
        +
        + +
        +
        +ngrok_config: Optional[Path]
        +
        + +
        +
        +distribution_id: str | None
        +
        + +
        +
        +distribution_config: Optional[Path]
        +
        + +
        +
        +debug: bool
        +
        + +
        +
        +log_config: dict | None
        +
        + +
        +
        +classmethod from_env_file(env_file: Path) EnvConfig
        +

        Create Settings instance from environment file.

        +
        +
        Parameters:
        +

        env_file – Name of the env file.

        +
        +
        Returns:
        +

        Loads the EnvConfig model.

        +
        +
        Return type:
        +

        EnvConfig

        +
        +
        +
        + +
        +
        +class Config
        +

        Extra configuration for EnvConfig object.

        +
        +
        +extra = 'ignore'
        +
        + +
        +
        +hide_input_in_errors = True
        +
        + +
        + +
        +
        +

        Squire

        @@ -235,7 +373,7 @@

        Models
        -nctl.squire.env_loader(filename: str | os.PathLike) EnvConfig
        +nctl.squire.env_loader(filename: str | os.PathLike) EnvConfig

        Loads environment variables based on filetypes.

        Parameters:
        @@ -245,7 +383,7 @@

        Models

        Returns a reference to the EnvConfig object.

        Return type:
        -

        EnvConfig

        +

        EnvConfig

        @@ -285,9 +423,9 @@

        Indices and tablesTable of Contents

          - nctl.cloudfront + nctl.aws
          - nctl.main + nctl.models +
          + nctl.ngrok