├── scheduler-lambda ├── app │ ├── certifi │ │ ├── py.typed │ │ ├── __init__.py │ │ ├── __pycache__ │ │ │ ├── core.cpython-38.pyc │ │ │ ├── __init__.cpython-38.pyc │ │ │ └── __main__.cpython-38.pyc │ │ ├── __main__.py │ │ └── core.py │ ├── idna │ │ ├── py.typed │ │ ├── package_data.py │ │ ├── __pycache__ │ │ │ ├── core.cpython-38.pyc │ │ │ ├── codec.cpython-38.pyc │ │ │ ├── compat.cpython-38.pyc │ │ │ ├── __init__.cpython-38.pyc │ │ │ ├── idnadata.cpython-38.pyc │ │ │ ├── intranges.cpython-38.pyc │ │ │ ├── uts46data.cpython-38.pyc │ │ │ └── package_data.cpython-38.pyc │ │ ├── compat.py │ │ ├── __init__.py │ │ ├── intranges.py │ │ └── codec.py │ ├── charset_normalizer │ │ ├── py.typed │ │ ├── cli │ │ │ ├── __init__.py │ │ │ └── __pycache__ │ │ │ │ ├── __init__.cpython-38.pyc │ │ │ │ └── normalizer.cpython-38.pyc │ │ ├── version.py │ │ ├── __pycache__ │ │ │ ├── api.cpython-38.pyc │ │ │ ├── cd.cpython-38.pyc │ │ │ ├── md.cpython-38.pyc │ │ │ ├── utils.cpython-38.pyc │ │ │ ├── __init__.cpython-38.pyc │ │ │ ├── constant.cpython-38.pyc │ │ │ ├── legacy.cpython-38.pyc │ │ │ ├── models.cpython-38.pyc │ │ │ └── version.cpython-38.pyc │ │ ├── assets │ │ │ └── __pycache__ │ │ │ │ └── __init__.cpython-38.pyc │ │ ├── __init__.py │ │ └── legacy.py │ ├── urllib3 │ │ ├── contrib │ │ │ ├── __init__.py │ │ │ ├── _securetransport │ │ │ │ ├── __init__.py │ │ │ │ └── __pycache__ │ │ │ │ │ ├── __init__.cpython-38.pyc │ │ │ │ │ ├── bindings.cpython-38.pyc │ │ │ │ │ └── low_level.cpython-38.pyc │ │ │ ├── __pycache__ │ │ │ │ ├── socks.cpython-38.pyc │ │ │ │ ├── __init__.cpython-38.pyc │ │ │ │ ├── ntlmpool.cpython-38.pyc │ │ │ │ ├── appengine.cpython-38.pyc │ │ │ │ ├── pyopenssl.cpython-38.pyc │ │ │ │ ├── securetransport.cpython-38.pyc │ │ │ │ └── _appengine_environ.cpython-38.pyc │ │ │ ├── _appengine_environ.py │ │ │ └── ntlmpool.py │ │ ├── packages │ │ │ ├── __init__.py │ │ │ ├── backports │ │ │ │ ├── __init__.py │ │ │ │ ├── __pycache__ │ │ │ │ │ ├── __init__.cpython-38.pyc │ │ │ │ │ └── makefile.cpython-38.pyc │ │ │ │ └── makefile.py │ │ │ └── __pycache__ │ │ │ │ ├── six.cpython-38.pyc │ │ │ │ └── __init__.cpython-38.pyc │ │ ├── _version.py │ │ ├── __pycache__ │ │ │ ├── fields.cpython-38.pyc │ │ │ ├── __init__.cpython-38.pyc │ │ │ ├── _version.cpython-38.pyc │ │ │ ├── filepost.cpython-38.pyc │ │ │ ├── request.cpython-38.pyc │ │ │ ├── response.cpython-38.pyc │ │ │ ├── connection.cpython-38.pyc │ │ │ ├── exceptions.cpython-38.pyc │ │ │ ├── poolmanager.cpython-38.pyc │ │ │ ├── _collections.cpython-38.pyc │ │ │ └── connectionpool.cpython-38.pyc │ │ ├── util │ │ │ ├── __pycache__ │ │ │ │ ├── ssl_.cpython-38.pyc │ │ │ │ ├── url.cpython-38.pyc │ │ │ │ ├── wait.cpython-38.pyc │ │ │ │ ├── proxy.cpython-38.pyc │ │ │ │ ├── queue.cpython-38.pyc │ │ │ │ ├── retry.cpython-38.pyc │ │ │ │ ├── __init__.cpython-38.pyc │ │ │ │ ├── request.cpython-38.pyc │ │ │ │ ├── response.cpython-38.pyc │ │ │ │ ├── timeout.cpython-38.pyc │ │ │ │ ├── connection.cpython-38.pyc │ │ │ │ ├── ssltransport.cpython-38.pyc │ │ │ │ └── ssl_match_hostname.cpython-38.pyc │ │ │ ├── queue.py │ │ │ ├── __init__.py │ │ │ ├── proxy.py │ │ │ ├── response.py │ │ │ ├── request.py │ │ │ └── connection.py │ │ ├── filepost.py │ │ └── __init__.py │ ├── idna-3.3.dist-info │ │ ├── INSTALLER │ │ ├── top_level.txt │ │ ├── WHEEL │ │ ├── RECORD │ │ └── LICENSE.md │ ├── urllib3-1.26.9.dist-info │ │ ├── INSTALLER │ │ ├── top_level.txt │ │ ├── WHEEL │ │ └── LICENSE.txt │ ├── certifi-2022.5.18.1.dist-info │ │ ├── INSTALLER │ │ ├── top_level.txt │ │ ├── WHEEL │ │ ├── RECORD │ │ ├── LICENSE │ │ └── METADATA │ ├── requests-2.27.1.dist-info │ │ ├── INSTALLER │ │ ├── top_level.txt │ │ ├── WHEEL │ │ ├── RECORD │ │ └── METADATA │ ├── charset_normalizer-2.0.12.dist-info │ │ ├── INSTALLER │ │ ├── top_level.txt │ │ ├── entry_points.txt │ │ ├── WHEEL │ │ ├── LICENSE │ │ └── RECORD │ ├── requests │ │ ├── __pycache__ │ │ │ ├── api.cpython-38.pyc │ │ │ ├── auth.cpython-38.pyc │ │ │ ├── certs.cpython-38.pyc │ │ │ ├── help.cpython-38.pyc │ │ │ ├── hooks.cpython-38.pyc │ │ │ ├── utils.cpython-38.pyc │ │ │ ├── __init__.cpython-38.pyc │ │ │ ├── adapters.cpython-38.pyc │ │ │ ├── compat.cpython-38.pyc │ │ │ ├── cookies.cpython-38.pyc │ │ │ ├── models.cpython-38.pyc │ │ │ ├── packages.cpython-38.pyc │ │ │ ├── sessions.cpython-38.pyc │ │ │ ├── exceptions.cpython-38.pyc │ │ │ ├── structures.cpython-38.pyc │ │ │ ├── __version__.cpython-38.pyc │ │ │ ├── status_codes.cpython-38.pyc │ │ │ └── _internal_utils.cpython-38.pyc │ │ ├── __version__.py │ │ ├── certs.py │ │ ├── hooks.py │ │ ├── packages.py │ │ ├── _internal_utils.py │ │ ├── compat.py │ │ ├── structures.py │ │ ├── exceptions.py │ │ ├── help.py │ │ └── status_codes.py │ └── bin │ │ └── normalizer ├── kms.tf └── scheduler-lambda.tf ├── app ├── run.py ├── api │ ├── __init__.py │ ├── actions.py │ ├── notifications.py │ ├── auth.py │ └── models.py ├── requirements.txt ├── zappa_settings.json └── instance-scheduler-staging-policy.json ├── html ├── favicon.ico ├── img │ ├── logo.jpg │ ├── ahmed.jpg │ ├── askao.jpg │ ├── bassem.jpg │ ├── architecture.jpg │ ├── bg-masthead.jpg │ ├── bg-showcase-1.jpg │ ├── bg-showcase-2.jpg │ ├── bg-showcase-3.jpg │ └── instance-view.png ├── vendor │ ├── fontawesome-free │ │ ├── webfonts │ │ │ ├── fa-brands-400.eot │ │ │ ├── fa-brands-400.ttf │ │ │ ├── fa-solid-900.eot │ │ │ ├── fa-solid-900.ttf │ │ │ ├── fa-solid-900.woff │ │ │ ├── fa-brands-400.woff │ │ │ ├── fa-brands-400.woff2 │ │ │ ├── fa-regular-400.eot │ │ │ ├── fa-regular-400.ttf │ │ │ ├── fa-regular-400.woff │ │ │ ├── fa-solid-900.woff2 │ │ │ └── fa-regular-400.woff2 │ │ └── css │ │ │ ├── solid.min.css │ │ │ ├── brands.min.css │ │ │ ├── regular.min.css │ │ │ ├── brands.css │ │ │ ├── solid.css │ │ │ └── regular.css │ ├── simple-line-icons │ │ └── fonts │ │ │ ├── Simple-Line-Icons.eot │ │ │ ├── Simple-Line-Icons.ttf │ │ │ ├── Simple-Line-Icons.woff │ │ │ └── Simple-Line-Icons.woff2 │ └── bootstrap │ │ └── css │ │ └── bootstrap-reboot.min.css ├── css │ ├── vendor │ │ ├── fontawesome-free │ │ │ ├── webfonts │ │ │ │ ├── fa-brands-400.eot │ │ │ │ ├── fa-brands-400.ttf │ │ │ │ ├── fa-brands-400.woff │ │ │ │ ├── fa-regular-400.eot │ │ │ │ ├── fa-regular-400.ttf │ │ │ │ ├── fa-solid-900.eot │ │ │ │ ├── fa-solid-900.ttf │ │ │ │ ├── fa-solid-900.woff │ │ │ │ ├── fa-solid-900.woff2 │ │ │ │ ├── fa-brands-400.woff2 │ │ │ │ ├── fa-regular-400.woff │ │ │ │ └── fa-regular-400.woff2 │ │ │ └── css │ │ │ │ ├── brands.min.css │ │ │ │ ├── solid.min.css │ │ │ │ ├── regular.min.css │ │ │ │ ├── brands.css │ │ │ │ ├── solid.css │ │ │ │ └── regular.css │ │ ├── simple-line-icons │ │ │ └── fonts │ │ │ │ ├── Simple-Line-Icons.eot │ │ │ │ ├── Simple-Line-Icons.ttf │ │ │ │ ├── Simple-Line-Icons.woff │ │ │ │ └── Simple-Line-Icons.woff2 │ │ └── bootstrap │ │ │ └── css │ │ │ └── bootstrap-reboot.min.css │ ├── my-login.css │ ├── landing-page.min.css │ ├── landing-page.css │ └── table.css ├── js │ ├── config.js │ └── my-login.js ├── architecture.html ├── signin.html ├── verify.html ├── reset.html ├── signup.html └── pass-verify.html ├── README.md └── cloudfront-s3-sync.sh /scheduler-lambda/app/certifi/py.typed: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /scheduler-lambda/app/idna/py.typed: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /scheduler-lambda/app/charset_normalizer/py.typed: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/contrib/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/packages/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /scheduler-lambda/app/charset_normalizer/cli/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /scheduler-lambda/app/idna-3.3.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /scheduler-lambda/app/idna-3.3.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | idna 2 | -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3-1.26.9.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/packages/backports/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /scheduler-lambda/app/certifi-2022.5.18.1.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /scheduler-lambda/app/requests-2.27.1.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/contrib/_securetransport/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /scheduler-lambda/app/idna/package_data.py: -------------------------------------------------------------------------------- 1 | __version__ = '3.3' 2 | 3 | -------------------------------------------------------------------------------- /scheduler-lambda/app/requests-2.27.1.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | requests 2 | -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3-1.26.9.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | urllib3 2 | -------------------------------------------------------------------------------- /scheduler-lambda/app/certifi-2022.5.18.1.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | certifi 2 | -------------------------------------------------------------------------------- /scheduler-lambda/app/charset_normalizer-2.0.12.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /scheduler-lambda/app/charset_normalizer-2.0.12.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | charset_normalizer 2 | -------------------------------------------------------------------------------- /app/run.py: -------------------------------------------------------------------------------- 1 | from api import app 2 | 3 | if __name__ == '__main__': 4 | app.run(debug=True) 5 | -------------------------------------------------------------------------------- /html/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/favicon.ico -------------------------------------------------------------------------------- /html/img/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/img/logo.jpg -------------------------------------------------------------------------------- /html/img/ahmed.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/img/ahmed.jpg -------------------------------------------------------------------------------- /html/img/askao.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/img/askao.jpg -------------------------------------------------------------------------------- /html/img/bassem.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/img/bassem.jpg -------------------------------------------------------------------------------- /html/img/architecture.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/img/architecture.jpg -------------------------------------------------------------------------------- /html/img/bg-masthead.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/img/bg-masthead.jpg -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/_version.py: -------------------------------------------------------------------------------- 1 | # This file is protected via CODEOWNERS 2 | __version__ = "1.26.9" 3 | -------------------------------------------------------------------------------- /html/img/bg-showcase-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/img/bg-showcase-1.jpg -------------------------------------------------------------------------------- /html/img/bg-showcase-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/img/bg-showcase-2.jpg -------------------------------------------------------------------------------- /html/img/bg-showcase-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/img/bg-showcase-3.jpg -------------------------------------------------------------------------------- /html/img/instance-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/img/instance-view.png -------------------------------------------------------------------------------- /app/api/__init__.py: -------------------------------------------------------------------------------- 1 | from flask import Flask 2 | from flask_cors import CORS 3 | 4 | app = Flask(__name__) 5 | CORS(app) 6 | 7 | from api import routes -------------------------------------------------------------------------------- /scheduler-lambda/app/certifi/__init__.py: -------------------------------------------------------------------------------- 1 | from .core import contents, where 2 | 3 | __all__ = ["contents", "where"] 4 | __version__ = "2022.05.18.1" 5 | -------------------------------------------------------------------------------- /scheduler-lambda/app/charset_normalizer/version.py: -------------------------------------------------------------------------------- 1 | """ 2 | Expose version 3 | """ 4 | 5 | __version__ = "2.0.12" 6 | VERSION = __version__.split(".") 7 | -------------------------------------------------------------------------------- /scheduler-lambda/app/idna-3.3.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.37.0) 3 | Root-Is-Purelib: true 4 | Tag: py3-none-any 5 | 6 | -------------------------------------------------------------------------------- /scheduler-lambda/app/charset_normalizer-2.0.12.dist-info/entry_points.txt: -------------------------------------------------------------------------------- 1 | [console_scripts] 2 | normalizer = charset_normalizer.cli.normalizer:cli_detect 3 | 4 | -------------------------------------------------------------------------------- /scheduler-lambda/app/certifi-2022.5.18.1.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.37.0) 3 | Root-Is-Purelib: true 4 | Tag: py3-none-any 5 | 6 | -------------------------------------------------------------------------------- /html/vendor/fontawesome-free/webfonts/fa-brands-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/vendor/fontawesome-free/webfonts/fa-brands-400.eot -------------------------------------------------------------------------------- /html/vendor/fontawesome-free/webfonts/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/vendor/fontawesome-free/webfonts/fa-brands-400.ttf -------------------------------------------------------------------------------- /html/vendor/fontawesome-free/webfonts/fa-solid-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/vendor/fontawesome-free/webfonts/fa-solid-900.eot -------------------------------------------------------------------------------- /html/vendor/fontawesome-free/webfonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/vendor/fontawesome-free/webfonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /html/vendor/fontawesome-free/webfonts/fa-solid-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/vendor/fontawesome-free/webfonts/fa-solid-900.woff -------------------------------------------------------------------------------- /html/vendor/fontawesome-free/webfonts/fa-brands-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/vendor/fontawesome-free/webfonts/fa-brands-400.woff -------------------------------------------------------------------------------- /html/vendor/fontawesome-free/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/vendor/fontawesome-free/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /html/vendor/fontawesome-free/webfonts/fa-regular-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/vendor/fontawesome-free/webfonts/fa-regular-400.eot -------------------------------------------------------------------------------- /html/vendor/fontawesome-free/webfonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/vendor/fontawesome-free/webfonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /html/vendor/fontawesome-free/webfonts/fa-regular-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/vendor/fontawesome-free/webfonts/fa-regular-400.woff -------------------------------------------------------------------------------- /html/vendor/fontawesome-free/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/vendor/fontawesome-free/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /html/vendor/simple-line-icons/fonts/Simple-Line-Icons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/vendor/simple-line-icons/fonts/Simple-Line-Icons.eot -------------------------------------------------------------------------------- /html/vendor/simple-line-icons/fonts/Simple-Line-Icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/vendor/simple-line-icons/fonts/Simple-Line-Icons.ttf -------------------------------------------------------------------------------- /scheduler-lambda/app/charset_normalizer-2.0.12.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.37.1) 3 | Root-Is-Purelib: true 4 | Tag: py3-none-any 5 | 6 | -------------------------------------------------------------------------------- /scheduler-lambda/app/idna/__pycache__/core.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/idna/__pycache__/core.cpython-38.pyc -------------------------------------------------------------------------------- /html/css/vendor/fontawesome-free/webfonts/fa-brands-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/css/vendor/fontawesome-free/webfonts/fa-brands-400.eot -------------------------------------------------------------------------------- /html/css/vendor/fontawesome-free/webfonts/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/css/vendor/fontawesome-free/webfonts/fa-brands-400.ttf -------------------------------------------------------------------------------- /html/css/vendor/fontawesome-free/webfonts/fa-brands-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/css/vendor/fontawesome-free/webfonts/fa-brands-400.woff -------------------------------------------------------------------------------- /html/css/vendor/fontawesome-free/webfonts/fa-regular-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/css/vendor/fontawesome-free/webfonts/fa-regular-400.eot -------------------------------------------------------------------------------- /html/css/vendor/fontawesome-free/webfonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/css/vendor/fontawesome-free/webfonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /html/css/vendor/fontawesome-free/webfonts/fa-solid-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/css/vendor/fontawesome-free/webfonts/fa-solid-900.eot -------------------------------------------------------------------------------- /html/css/vendor/fontawesome-free/webfonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/css/vendor/fontawesome-free/webfonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /html/css/vendor/fontawesome-free/webfonts/fa-solid-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/css/vendor/fontawesome-free/webfonts/fa-solid-900.woff -------------------------------------------------------------------------------- /html/css/vendor/fontawesome-free/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/css/vendor/fontawesome-free/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /html/vendor/fontawesome-free/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/vendor/fontawesome-free/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /html/vendor/simple-line-icons/fonts/Simple-Line-Icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/vendor/simple-line-icons/fonts/Simple-Line-Icons.woff -------------------------------------------------------------------------------- /html/vendor/simple-line-icons/fonts/Simple-Line-Icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/vendor/simple-line-icons/fonts/Simple-Line-Icons.woff2 -------------------------------------------------------------------------------- /scheduler-lambda/app/certifi/__pycache__/core.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/certifi/__pycache__/core.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/idna/__pycache__/codec.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/idna/__pycache__/codec.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/idna/__pycache__/compat.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/idna/__pycache__/compat.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/requests/__pycache__/api.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/requests/__pycache__/api.cpython-38.pyc -------------------------------------------------------------------------------- /html/css/vendor/fontawesome-free/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/css/vendor/fontawesome-free/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /html/css/vendor/fontawesome-free/webfonts/fa-regular-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/css/vendor/fontawesome-free/webfonts/fa-regular-400.woff -------------------------------------------------------------------------------- /html/css/vendor/fontawesome-free/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/css/vendor/fontawesome-free/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /html/css/vendor/simple-line-icons/fonts/Simple-Line-Icons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/css/vendor/simple-line-icons/fonts/Simple-Line-Icons.eot -------------------------------------------------------------------------------- /html/css/vendor/simple-line-icons/fonts/Simple-Line-Icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/css/vendor/simple-line-icons/fonts/Simple-Line-Icons.ttf -------------------------------------------------------------------------------- /html/css/vendor/simple-line-icons/fonts/Simple-Line-Icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/css/vendor/simple-line-icons/fonts/Simple-Line-Icons.woff -------------------------------------------------------------------------------- /scheduler-lambda/app/idna/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/idna/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/idna/__pycache__/idnadata.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/idna/__pycache__/idnadata.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/idna/__pycache__/intranges.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/idna/__pycache__/intranges.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/idna/__pycache__/uts46data.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/idna/__pycache__/uts46data.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/requests-2.27.1.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.37.1) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /scheduler-lambda/app/requests/__pycache__/auth.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/requests/__pycache__/auth.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/requests/__pycache__/certs.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/requests/__pycache__/certs.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/requests/__pycache__/help.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/requests/__pycache__/help.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/requests/__pycache__/hooks.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/requests/__pycache__/hooks.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/requests/__pycache__/utils.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/requests/__pycache__/utils.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3-1.26.9.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.37.1) 3 | Root-Is-Purelib: true 4 | Tag: py2-none-any 5 | Tag: py3-none-any 6 | 7 | -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/__pycache__/fields.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/__pycache__/fields.cpython-38.pyc -------------------------------------------------------------------------------- /app/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask-JWT-Extended==4.4.0 2 | PyJWT==1.7.1 3 | Flask==2.1.0 4 | boto3==1.23.0 5 | cryptography==37.0.2 6 | Flask-Cors==3.0.10 7 | simplejson==3.17.0 8 | zappa==0.54.1 9 | -------------------------------------------------------------------------------- /html/css/vendor/simple-line-icons/fonts/Simple-Line-Icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/html/css/vendor/simple-line-icons/fonts/Simple-Line-Icons.woff2 -------------------------------------------------------------------------------- /scheduler-lambda/app/certifi/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/certifi/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/certifi/__pycache__/__main__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/certifi/__pycache__/__main__.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/idna/__pycache__/package_data.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/idna/__pycache__/package_data.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/requests/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/requests/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/requests/__pycache__/adapters.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/requests/__pycache__/adapters.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/requests/__pycache__/compat.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/requests/__pycache__/compat.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/requests/__pycache__/cookies.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/requests/__pycache__/cookies.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/requests/__pycache__/models.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/requests/__pycache__/models.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/requests/__pycache__/packages.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/requests/__pycache__/packages.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/requests/__pycache__/sessions.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/requests/__pycache__/sessions.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/__pycache__/_version.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/__pycache__/_version.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/__pycache__/filepost.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/__pycache__/filepost.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/__pycache__/request.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/__pycache__/request.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/__pycache__/response.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/__pycache__/response.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/util/__pycache__/ssl_.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/util/__pycache__/ssl_.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/util/__pycache__/url.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/util/__pycache__/url.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/util/__pycache__/wait.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/util/__pycache__/wait.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/requests/__pycache__/exceptions.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/requests/__pycache__/exceptions.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/requests/__pycache__/structures.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/requests/__pycache__/structures.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/__pycache__/connection.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/__pycache__/connection.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/__pycache__/exceptions.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/__pycache__/exceptions.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/__pycache__/poolmanager.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/__pycache__/poolmanager.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/util/__pycache__/proxy.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/util/__pycache__/proxy.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/util/__pycache__/queue.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/util/__pycache__/queue.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/util/__pycache__/retry.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/util/__pycache__/retry.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/charset_normalizer/__pycache__/api.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/charset_normalizer/__pycache__/api.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/charset_normalizer/__pycache__/cd.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/charset_normalizer/__pycache__/cd.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/charset_normalizer/__pycache__/md.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/charset_normalizer/__pycache__/md.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/requests/__pycache__/__version__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/requests/__pycache__/__version__.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/requests/__pycache__/status_codes.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/requests/__pycache__/status_codes.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/__pycache__/_collections.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/__pycache__/_collections.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/__pycache__/connectionpool.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/__pycache__/connectionpool.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/contrib/__pycache__/socks.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/contrib/__pycache__/socks.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/packages/__pycache__/six.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/packages/__pycache__/six.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/util/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/util/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/util/__pycache__/request.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/util/__pycache__/request.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/util/__pycache__/response.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/util/__pycache__/response.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/util/__pycache__/timeout.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/util/__pycache__/timeout.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/charset_normalizer/__pycache__/utils.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/charset_normalizer/__pycache__/utils.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/requests/__pycache__/_internal_utils.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/requests/__pycache__/_internal_utils.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/contrib/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/contrib/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/contrib/__pycache__/ntlmpool.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/contrib/__pycache__/ntlmpool.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/util/__pycache__/connection.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/util/__pycache__/connection.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/charset_normalizer/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/charset_normalizer/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/charset_normalizer/__pycache__/constant.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/charset_normalizer/__pycache__/constant.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/charset_normalizer/__pycache__/legacy.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/charset_normalizer/__pycache__/legacy.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/charset_normalizer/__pycache__/models.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/charset_normalizer/__pycache__/models.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/charset_normalizer/__pycache__/version.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/charset_normalizer/__pycache__/version.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/contrib/__pycache__/appengine.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/contrib/__pycache__/appengine.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/contrib/__pycache__/pyopenssl.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/contrib/__pycache__/pyopenssl.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/packages/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/packages/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/util/__pycache__/ssltransport.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/util/__pycache__/ssltransport.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/charset_normalizer/cli/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/charset_normalizer/cli/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/contrib/__pycache__/securetransport.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/contrib/__pycache__/securetransport.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/util/__pycache__/ssl_match_hostname.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/util/__pycache__/ssl_match_hostname.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/charset_normalizer/assets/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/charset_normalizer/assets/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/charset_normalizer/cli/__pycache__/normalizer.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/charset_normalizer/cli/__pycache__/normalizer.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/contrib/__pycache__/_appengine_environ.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/contrib/__pycache__/_appengine_environ.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/packages/backports/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/packages/backports/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/packages/backports/__pycache__/makefile.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/packages/backports/__pycache__/makefile.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-38.pyc -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maradwan/instance-scheduler/HEAD/scheduler-lambda/app/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-38.pyc -------------------------------------------------------------------------------- /html/js/config.js: -------------------------------------------------------------------------------- 1 | window._config = { 2 | cognito: { 3 | userPoolId: 'eu-west-1_aphRYjOaB', 4 | userPoolClientId: '5jgkf9l7p7on2uq4g1v7fffa55', 5 | region: 'eu-west-1' 6 | }, 7 | api: { 8 | invokeUrl: 'https://74628jl936.execute-api.eu-west-1.amazonaws.com/staging' 9 | } 10 | }; 11 | -------------------------------------------------------------------------------- /scheduler-lambda/app/certifi/__main__.py: -------------------------------------------------------------------------------- 1 | import argparse 2 | 3 | from certifi import contents, where 4 | 5 | parser = argparse.ArgumentParser() 6 | parser.add_argument("-c", "--contents", action="store_true") 7 | args = parser.parse_args() 8 | 9 | if args.contents: 10 | print(contents()) 11 | else: 12 | print(where()) 13 | -------------------------------------------------------------------------------- /scheduler-lambda/app/bin/normalizer: -------------------------------------------------------------------------------- 1 | #!/home/mohamedradwan/developemnt/instance-scheduler/env3-scheduler/bin/python 2 | # -*- coding: utf-8 -*- 3 | import re 4 | import sys 5 | from charset_normalizer.cli.normalizer import cli_detect 6 | if __name__ == '__main__': 7 | sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) 8 | sys.exit(cli_detect()) 9 | -------------------------------------------------------------------------------- /scheduler-lambda/app/idna/compat.py: -------------------------------------------------------------------------------- 1 | from .core import * 2 | from .codec import * 3 | from typing import Any, Union 4 | 5 | def ToASCII(label: str) -> bytes: 6 | return encode(label) 7 | 8 | def ToUnicode(label: Union[bytes, bytearray]) -> str: 9 | return decode(label) 10 | 11 | def nameprep(s: Any) -> None: 12 | raise NotImplementedError('IDNA 2008 does not utilise nameprep protocol') 13 | 14 | -------------------------------------------------------------------------------- /scheduler-lambda/app/requests/__version__.py: -------------------------------------------------------------------------------- 1 | # .-. .-. .-. . . .-. .-. .-. .-. 2 | # |( |- |.| | | |- `-. | `-. 3 | # ' ' `-' `-`.`-' `-' `-' ' `-' 4 | 5 | __title__ = 'requests' 6 | __description__ = 'Python HTTP for Humans.' 7 | __url__ = 'https://requests.readthedocs.io' 8 | __version__ = '2.27.1' 9 | __build__ = 0x022701 10 | __author__ = 'Kenneth Reitz' 11 | __author_email__ = 'me@kennethreitz.org' 12 | __license__ = 'Apache 2.0' 13 | __copyright__ = 'Copyright 2022 Kenneth Reitz' 14 | __cake__ = u'\u2728 \U0001f370 \u2728' 15 | -------------------------------------------------------------------------------- /scheduler-lambda/app/requests/certs.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | """ 5 | requests.certs 6 | ~~~~~~~~~~~~~~ 7 | 8 | This module returns the preferred default CA certificate bundle. There is 9 | only one — the one from the certifi package. 10 | 11 | If you are packaging Requests, e.g., for a Linux distribution or a managed 12 | environment, you can change the definition of where() to return a separately 13 | packaged CA bundle. 14 | """ 15 | from certifi import where 16 | 17 | if __name__ == '__main__': 18 | print(where()) 19 | -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/util/queue.py: -------------------------------------------------------------------------------- 1 | import collections 2 | 3 | from ..packages import six 4 | from ..packages.six.moves import queue 5 | 6 | if six.PY2: 7 | # Queue is imported for side effects on MS Windows. See issue #229. 8 | import Queue as _unused_module_Queue # noqa: F401 9 | 10 | 11 | class LifoQueue(queue.Queue): 12 | def _init(self, _): 13 | self.queue = collections.deque() 14 | 15 | def _qsize(self, len=len): 16 | return len(self.queue) 17 | 18 | def _put(self, item): 19 | self.queue.append(item) 20 | 21 | def _get(self): 22 | return self.queue.pop() 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Instance Scheduler 2 | 3 | More Information and how to deploy the app 4 | 5 | https://dev.to/aws-builders/create-instance-scheduler-on-serverless-by-using-lambda-dynamodb-api-gateway-cognitos3-and-cloudfront-1op8 6 | ## By using AWS Serverless: 7 | 8 | * [Lambda] 9 | * [DynamoDB] 10 | * [Cognito] 11 | * [APIGateway] 12 | * [S3] 13 | * [Cloudwatch] 14 | * [Cloudfront] 15 | * [SES] 16 | * [KMS] 17 | * [Zappa] 18 | * [Flask] 19 | 20 | 21 |  22 | 23 |  -------------------------------------------------------------------------------- /html/css/vendor/fontawesome-free/css/brands.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.10.2 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:normal;font-display:auto;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"} -------------------------------------------------------------------------------- /html/vendor/fontawesome-free/css/solid.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.1 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900} -------------------------------------------------------------------------------- /html/css/vendor/fontawesome-free/css/solid.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.10.2 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:auto;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900} -------------------------------------------------------------------------------- /html/vendor/fontawesome-free/css/brands.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.1 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands";font-weight:400} -------------------------------------------------------------------------------- /html/vendor/fontawesome-free/css/regular.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.1 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:"Font Awesome 5 Free";font-weight:400} -------------------------------------------------------------------------------- /html/css/vendor/fontawesome-free/css/regular.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.10.2 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:auto;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:"Font Awesome 5 Free";font-weight:400} -------------------------------------------------------------------------------- /html/css/vendor/fontawesome-free/css/brands.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.10.2 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face { 6 | font-family: 'Font Awesome 5 Brands'; 7 | font-style: normal; 8 | font-weight: normal; 9 | font-display: auto; 10 | src: url("../webfonts/fa-brands-400.eot"); 11 | src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } 12 | 13 | .fab { 14 | font-family: 'Font Awesome 5 Brands'; } 15 | -------------------------------------------------------------------------------- /html/css/vendor/fontawesome-free/css/solid.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.10.2 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face { 6 | font-family: 'Font Awesome 5 Free'; 7 | font-style: normal; 8 | font-weight: 900; 9 | font-display: auto; 10 | src: url("../webfonts/fa-solid-900.eot"); 11 | src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } 12 | 13 | .fa, 14 | .fas { 15 | font-family: 'Font Awesome 5 Free'; 16 | font-weight: 900; } 17 | -------------------------------------------------------------------------------- /html/vendor/fontawesome-free/css/brands.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.1 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face { 6 | font-family: 'Font Awesome 5 Brands'; 7 | font-style: normal; 8 | font-weight: 400; 9 | font-display: block; 10 | src: url("../webfonts/fa-brands-400.eot"); 11 | src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } 12 | 13 | .fab { 14 | font-family: 'Font Awesome 5 Brands'; 15 | font-weight: 400; } 16 | -------------------------------------------------------------------------------- /html/vendor/fontawesome-free/css/solid.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.1 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face { 6 | font-family: 'Font Awesome 5 Free'; 7 | font-style: normal; 8 | font-weight: 900; 9 | font-display: block; 10 | src: url("../webfonts/fa-solid-900.eot"); 11 | src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } 12 | 13 | .fa, 14 | .fas { 15 | font-family: 'Font Awesome 5 Free'; 16 | font-weight: 900; } 17 | -------------------------------------------------------------------------------- /html/css/vendor/fontawesome-free/css/regular.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.10.2 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face { 6 | font-family: 'Font Awesome 5 Free'; 7 | font-style: normal; 8 | font-weight: 400; 9 | font-display: auto; 10 | src: url("../webfonts/fa-regular-400.eot"); 11 | src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); } 12 | 13 | .far { 14 | font-family: 'Font Awesome 5 Free'; 15 | font-weight: 400; } 16 | -------------------------------------------------------------------------------- /html/vendor/fontawesome-free/css/regular.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.13.1 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face { 6 | font-family: 'Font Awesome 5 Free'; 7 | font-style: normal; 8 | font-weight: 400; 9 | font-display: block; 10 | src: url("../webfonts/fa-regular-400.eot"); 11 | src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); } 12 | 13 | .far { 14 | font-family: 'Font Awesome 5 Free'; 15 | font-weight: 400; } 16 | -------------------------------------------------------------------------------- /scheduler-lambda/app/requests/hooks.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | """ 4 | requests.hooks 5 | ~~~~~~~~~~~~~~ 6 | 7 | This module provides the capabilities for the Requests hooks system. 8 | 9 | Available hooks: 10 | 11 | ``response``: 12 | The response generated from a Request. 13 | """ 14 | HOOKS = ['response'] 15 | 16 | 17 | def default_hooks(): 18 | return {event: [] for event in HOOKS} 19 | 20 | # TODO: response is the only one 21 | 22 | 23 | def dispatch_hook(key, hooks, hook_data, **kwargs): 24 | """Dispatches a hook dictionary on a given piece of data.""" 25 | hooks = hooks or {} 26 | hooks = hooks.get(key) 27 | if hooks: 28 | if hasattr(hooks, '__call__'): 29 | hooks = [hooks] 30 | for hook in hooks: 31 | _hook_data = hook(hook_data, **kwargs) 32 | if _hook_data is not None: 33 | hook_data = _hook_data 34 | return hook_data 35 | -------------------------------------------------------------------------------- /scheduler-lambda/app/idna/__init__.py: -------------------------------------------------------------------------------- 1 | from .package_data import __version__ 2 | from .core import ( 3 | IDNABidiError, 4 | IDNAError, 5 | InvalidCodepoint, 6 | InvalidCodepointContext, 7 | alabel, 8 | check_bidi, 9 | check_hyphen_ok, 10 | check_initial_combiner, 11 | check_label, 12 | check_nfc, 13 | decode, 14 | encode, 15 | ulabel, 16 | uts46_remap, 17 | valid_contextj, 18 | valid_contexto, 19 | valid_label_length, 20 | valid_string_length, 21 | ) 22 | from .intranges import intranges_contain 23 | 24 | __all__ = [ 25 | "IDNABidiError", 26 | "IDNAError", 27 | "InvalidCodepoint", 28 | "InvalidCodepointContext", 29 | "alabel", 30 | "check_bidi", 31 | "check_hyphen_ok", 32 | "check_initial_combiner", 33 | "check_label", 34 | "check_nfc", 35 | "decode", 36 | "encode", 37 | "intranges_contain", 38 | "ulabel", 39 | "uts46_remap", 40 | "valid_contextj", 41 | "valid_contexto", 42 | "valid_label_length", 43 | "valid_string_length", 44 | ] 45 | -------------------------------------------------------------------------------- /scheduler-lambda/app/requests/packages.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | try: 4 | import chardet 5 | except ImportError: 6 | import charset_normalizer as chardet 7 | import warnings 8 | 9 | warnings.filterwarnings('ignore', 'Trying to detect', module='charset_normalizer') 10 | 11 | # This code exists for backwards compatibility reasons. 12 | # I don't like it either. Just look the other way. :) 13 | 14 | for package in ('urllib3', 'idna'): 15 | locals()[package] = __import__(package) 16 | # This traversal is apparently necessary such that the identities are 17 | # preserved (requests.packages.urllib3.* is urllib3.*) 18 | for mod in list(sys.modules): 19 | if mod == package or mod.startswith(package + '.'): 20 | sys.modules['requests.packages.' + mod] = sys.modules[mod] 21 | 22 | target = chardet.__name__ 23 | for mod in list(sys.modules): 24 | if mod == target or mod.startswith(target + '.'): 25 | sys.modules['requests.packages.' + target.replace(target, 'chardet')] = sys.modules[mod] 26 | # Kinda cool, though, right? 27 | -------------------------------------------------------------------------------- /app/api/actions.py: -------------------------------------------------------------------------------- 1 | import boto3 2 | 3 | def action_start(region,access_key,secret_access,instanceID): 4 | ec2 = boto3.client('ec2', region_name=region, aws_access_key_id=access_key, aws_secret_access_key=secret_access, verify=True) 5 | return ec2.start_instances(InstanceIds=[instanceID]) 6 | 7 | def action_stop(region,access_key,secret_access,instanceID): 8 | ec2 = boto3.client('ec2', region_name=region, aws_access_key_id=access_key, aws_secret_access_key=secret_access, verify=True) 9 | return ec2.stop_instances(InstanceIds=[instanceID]) 10 | 11 | def rds_action_start(region,access_key,secret_access,instanceID): 12 | rds = boto3.client('rds', region_name=region, aws_access_key_id=access_key, aws_secret_access_key=secret_access, verify=True) 13 | return rds.start_db_instance(DBInstanceIdentifier=instanceID) 14 | 15 | def rds_action_stop(region,access_key,secret_access,instanceID): 16 | rds = boto3.client('rds', region_name=region, aws_access_key_id=access_key, aws_secret_access_key=secret_access, verify=True) 17 | return rds.stop_db_instance(DBInstanceIdentifier=instanceID) -------------------------------------------------------------------------------- /scheduler-lambda/app/certifi-2022.5.18.1.dist-info/RECORD: -------------------------------------------------------------------------------- 1 | certifi-2022.5.18.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 2 | certifi-2022.5.18.1.dist-info/LICENSE,sha256=vp2C82ES-Hp_HXTs1Ih-FGe7roh4qEAEoAEXseR1o-I,1049 3 | certifi-2022.5.18.1.dist-info/METADATA,sha256=r_3zYuY4HJG9is8TSpenpbCffFRRhJolBMu-ibB_5w0,2806 4 | certifi-2022.5.18.1.dist-info/RECORD,, 5 | certifi-2022.5.18.1.dist-info/WHEEL,sha256=ewwEueio1C2XeHTvT17n8dZUJgOvyCWCt0WVNLClP9o,92 6 | certifi-2022.5.18.1.dist-info/top_level.txt,sha256=KMu4vUCfsjLrkPbSNdgdekS-pVJzBAJFO__nI8NF6-U,8 7 | certifi/__init__.py,sha256=PH4NzOTtnQk1zecWG6Rn5IIGJfDzI8P96yr3UaVoo8Q,96 8 | certifi/__main__.py,sha256=xBBoj905TUWBLRGANOcf7oi6e-3dMP4cEoG9OyMs11g,243 9 | certifi/__pycache__/__init__.cpython-38.pyc,, 10 | certifi/__pycache__/__main__.cpython-38.pyc,, 11 | certifi/__pycache__/core.cpython-38.pyc,, 12 | certifi/cacert.pem,sha256=H2V4vitIbWnjEakGTmm9cDrmIjsn3I8XJZKvybOVzbg,276001 13 | certifi/core.py,sha256=G5LqCBr4o8bozzzlYBE8nsd_ziB6XcxJiuMV4llFeYY,2515 14 | certifi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 15 | -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/contrib/_appengine_environ.py: -------------------------------------------------------------------------------- 1 | """ 2 | This module provides means to detect the App Engine environment. 3 | """ 4 | 5 | import os 6 | 7 | 8 | def is_appengine(): 9 | return is_local_appengine() or is_prod_appengine() 10 | 11 | 12 | def is_appengine_sandbox(): 13 | """Reports if the app is running in the first generation sandbox. 14 | 15 | The second generation runtimes are technically still in a sandbox, but it 16 | is much less restrictive, so generally you shouldn't need to check for it. 17 | see https://cloud.google.com/appengine/docs/standard/runtimes 18 | """ 19 | return is_appengine() and os.environ["APPENGINE_RUNTIME"] == "python27" 20 | 21 | 22 | def is_local_appengine(): 23 | return "APPENGINE_RUNTIME" in os.environ and os.environ.get( 24 | "SERVER_SOFTWARE", "" 25 | ).startswith("Development/") 26 | 27 | 28 | def is_prod_appengine(): 29 | return "APPENGINE_RUNTIME" in os.environ and os.environ.get( 30 | "SERVER_SOFTWARE", "" 31 | ).startswith("Google App Engine/") 32 | 33 | 34 | def is_prod_appengine_mvms(): 35 | """Deprecated.""" 36 | return False 37 | -------------------------------------------------------------------------------- /scheduler-lambda/app/certifi-2022.5.18.1.dist-info/LICENSE: -------------------------------------------------------------------------------- 1 | This package contains a modified version of ca-bundle.crt: 2 | 3 | ca-bundle.crt -- Bundle of CA Root Certificates 4 | 5 | Certificate data from Mozilla as of: Thu Nov 3 19:04:19 2011# 6 | This is a bundle of X.509 certificates of public Certificate Authorities 7 | (CA). These were automatically extracted from Mozilla's root certificates 8 | file (certdata.txt). This file can be found in the mozilla source tree: 9 | http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1# 10 | It contains the certificates in PEM format and therefore 11 | can be directly used with curl / libcurl / php_curl, or with 12 | an Apache+mod_ssl webserver for SSL client authentication. 13 | Just configure this file as the SSLCACertificateFile.# 14 | 15 | ***** BEGIN LICENSE BLOCK ***** 16 | This Source Code Form is subject to the terms of the Mozilla Public License, 17 | v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain 18 | one at http://mozilla.org/MPL/2.0/. 19 | 20 | ***** END LICENSE BLOCK ***** 21 | @(#) $RCSfile: certdata.txt,v $ $Revision: 1.80 $ $Date: 2011/11/03 15:11:58 $ 22 | -------------------------------------------------------------------------------- /app/api/notifications.py: -------------------------------------------------------------------------------- 1 | import boto3 2 | from os import environ as env 3 | 4 | source_email = env.get("SOURCE_EMAIL") 5 | region_name = env.get("REGION_NAME") 6 | 7 | def message_body_deleted_account(email): 8 | return """Hello! 9 | 10 | We deleted your account {} as requested. 11 | 12 | Thank you. 13 | 14 | Best Regards, 15 | Instance Scheduler Service""".format(email) 16 | 17 | def notification(to_addresses, msg, subj,source_email=source_email): 18 | email_client = boto3.client('ses',region_name= region_name, verify=True) 19 | return email_client.send_email( 20 | Destination={ 21 | 'ToAddresses': [to_addresses], 22 | }, 23 | Message={ 24 | 'Body': { 25 | 'Text': { 26 | 'Charset': 'UTF-8', 27 | 'Data': msg, 28 | }, 29 | }, 30 | 'Subject': { 31 | 'Charset': 'UTF-8', 32 | 'Data': subj, 33 | }, 34 | }, 35 | Source=source_email, 36 | ) -------------------------------------------------------------------------------- /scheduler-lambda/app/charset_normalizer-2.0.12.dist-info/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 TAHRI Ahmed R. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3-1.26.9.dist-info/LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2008-2020 Andrey Petrov and contributors (see CONTRIBUTORS.txt) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /scheduler-lambda/app/requests/_internal_utils.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | """ 4 | requests._internal_utils 5 | ~~~~~~~~~~~~~~ 6 | 7 | Provides utility functions that are consumed internally by Requests 8 | which depend on extremely few external helpers (such as compat) 9 | """ 10 | 11 | from .compat import is_py2, builtin_str, str 12 | 13 | 14 | def to_native_string(string, encoding='ascii'): 15 | """Given a string object, regardless of type, returns a representation of 16 | that string in the native string type, encoding and decoding where 17 | necessary. This assumes ASCII unless told otherwise. 18 | """ 19 | if isinstance(string, builtin_str): 20 | out = string 21 | else: 22 | if is_py2: 23 | out = string.encode(encoding) 24 | else: 25 | out = string.decode(encoding) 26 | 27 | return out 28 | 29 | 30 | def unicode_is_ascii(u_string): 31 | """Determine if unicode string only contains ASCII characters. 32 | 33 | :param str u_string: unicode string to check. Must be unicode 34 | and not Python 2 `str`. 35 | :rtype: bool 36 | """ 37 | assert isinstance(u_string, str) 38 | try: 39 | u_string.encode('ascii') 40 | return True 41 | except UnicodeEncodeError: 42 | return False 43 | -------------------------------------------------------------------------------- /app/zappa_settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "staging": { 3 | "app_function": "api.app", 4 | "aws_region": "eu-west-1", 5 | "profile_name": "default", 6 | "project_name": "instance-scheduler", 7 | "cors": true, 8 | "keep_warm": false, 9 | "authorizer": { 10 | "type": "COGNITO_USER_POOLS", 11 | "provider_arns": [ 12 | "arn:aws:cognito-idp:eu-west-1:117698054570:userpool/eu-west-1_aphRYjOaB" 13 | ] 14 | }, 15 | "s3_bucket": "zappa-instance-scheduler-staging-0gl0tnjcf", 16 | "runtime": "python3.8", 17 | "attach_policy":"instance-scheduler-staging-policy.json", 18 | "aws_environment_variables": {"TABLE_NAME": "instance-scheduler", 19 | "REGION_NAME": "eu-west-1", 20 | "KMS_KEY_ID": "cc6d14eb-1ca6-4b02-b862-7e30f48b4bbd", 21 | "EC2_LIMIT": "5", 22 | "KEYS_LIMIT": "5", 23 | "SOURCE_EMAIL": "noreply@gozeit.com", 24 | "USERPOOLID": "eu-west-1_aphRYjOaB", 25 | "COGNITOR_CLIENTID": "5jgkf9l7p7on2uq4g1v7fffa55" 26 | 27 | 28 | } 29 | 30 | } 31 | } -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/util/__init__.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | 3 | # For backwards compatibility, provide imports that used to be here. 4 | from .connection import is_connection_dropped 5 | from .request import SKIP_HEADER, SKIPPABLE_HEADERS, make_headers 6 | from .response import is_fp_closed 7 | from .retry import Retry 8 | from .ssl_ import ( 9 | ALPN_PROTOCOLS, 10 | HAS_SNI, 11 | IS_PYOPENSSL, 12 | IS_SECURETRANSPORT, 13 | PROTOCOL_TLS, 14 | SSLContext, 15 | assert_fingerprint, 16 | resolve_cert_reqs, 17 | resolve_ssl_version, 18 | ssl_wrap_socket, 19 | ) 20 | from .timeout import Timeout, current_time 21 | from .url import Url, get_host, parse_url, split_first 22 | from .wait import wait_for_read, wait_for_write 23 | 24 | __all__ = ( 25 | "HAS_SNI", 26 | "IS_PYOPENSSL", 27 | "IS_SECURETRANSPORT", 28 | "SSLContext", 29 | "PROTOCOL_TLS", 30 | "ALPN_PROTOCOLS", 31 | "Retry", 32 | "Timeout", 33 | "Url", 34 | "assert_fingerprint", 35 | "current_time", 36 | "is_connection_dropped", 37 | "is_fp_closed", 38 | "get_host", 39 | "parse_url", 40 | "make_headers", 41 | "resolve_cert_reqs", 42 | "resolve_ssl_version", 43 | "split_first", 44 | "ssl_wrap_socket", 45 | "wait_for_read", 46 | "wait_for_write", 47 | "SKIP_HEADER", 48 | "SKIPPABLE_HEADERS", 49 | ) 50 | -------------------------------------------------------------------------------- /html/css/my-login.css: -------------------------------------------------------------------------------- 1 | html,body { 2 | height: 100%; 3 | } 4 | 5 | body.my-login-page { 6 | background-color: #f7f9fb; 7 | font-size: 14px; 8 | } 9 | 10 | .my-login-page .brand { 11 | width: 90px; 12 | height: 90px; 13 | overflow: hidden; 14 | border-radius: 50%; 15 | margin: 40px auto; 16 | box-shadow: 0 4px 8px rgba(0,0,0,.05); 17 | position: relative; 18 | z-index: 1; 19 | } 20 | 21 | .my-login-page .brand img { 22 | width: 100%; 23 | } 24 | 25 | .my-login-page .card-wrapper { 26 | width: 400px; 27 | } 28 | 29 | .my-login-page .card { 30 | border-color: transparent; 31 | box-shadow: 0 4px 8px rgba(0,0,0,.05); 32 | } 33 | 34 | .my-login-page .card.fat { 35 | padding: 10px; 36 | } 37 | 38 | .my-login-page .card .card-title { 39 | margin-bottom: 30px; 40 | } 41 | 42 | .my-login-page .form-control { 43 | border-width: 2.3px; 44 | } 45 | 46 | .my-login-page .form-group label { 47 | width: 100%; 48 | } 49 | 50 | .my-login-page .btn.btn-block { 51 | padding: 12px 10px; 52 | } 53 | 54 | .my-login-page .footer { 55 | margin: 40px 0; 56 | color: #888; 57 | text-align: center; 58 | } 59 | 60 | @media screen and (max-width: 425px) { 61 | .my-login-page .card-wrapper { 62 | width: 90%; 63 | margin: 0 auto; 64 | } 65 | } 66 | 67 | @media screen and (max-width: 320px) { 68 | .my-login-page .card.fat { 69 | padding: 0; 70 | } 71 | 72 | .my-login-page .card.fat .card-body { 73 | padding: 15px; 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /scheduler-lambda/app/idna-3.3.dist-info/RECORD: -------------------------------------------------------------------------------- 1 | idna-3.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 2 | idna-3.3.dist-info/LICENSE.md,sha256=otbk2UC9JNvnuWRc3hmpeSzFHbeuDVrNMBrIYMqj6DY,1523 3 | idna-3.3.dist-info/METADATA,sha256=BdqiAf8ou4x1nzIHp2_sDfXWjl7BrSUGpOeVzbYHQuQ,9765 4 | idna-3.3.dist-info/RECORD,, 5 | idna-3.3.dist-info/WHEEL,sha256=ewwEueio1C2XeHTvT17n8dZUJgOvyCWCt0WVNLClP9o,92 6 | idna-3.3.dist-info/top_level.txt,sha256=jSag9sEDqvSPftxOQy-ABfGV_RSy7oFh4zZJpODV8k0,5 7 | idna/__init__.py,sha256=KJQN1eQBr8iIK5SKrJ47lXvxG0BJ7Lm38W4zT0v_8lk,849 8 | idna/__pycache__/__init__.cpython-38.pyc,, 9 | idna/__pycache__/codec.cpython-38.pyc,, 10 | idna/__pycache__/compat.cpython-38.pyc,, 11 | idna/__pycache__/core.cpython-38.pyc,, 12 | idna/__pycache__/idnadata.cpython-38.pyc,, 13 | idna/__pycache__/intranges.cpython-38.pyc,, 14 | idna/__pycache__/package_data.cpython-38.pyc,, 15 | idna/__pycache__/uts46data.cpython-38.pyc,, 16 | idna/codec.py,sha256=6ly5odKfqrytKT9_7UrlGklHnf1DSK2r9C6cSM4sa28,3374 17 | idna/compat.py,sha256=0_sOEUMT4CVw9doD3vyRhX80X19PwqFoUBs7gWsFME4,321 18 | idna/core.py,sha256=RFIkY-HhFZaDoBEFjGwyGd_vWI04uOAQjnzueMWqwOU,12795 19 | idna/idnadata.py,sha256=fzMzkCea2xieVxcrjngJ-2pLsKQNejPCZFlBajIuQdw,44025 20 | idna/intranges.py,sha256=YBr4fRYuWH7kTKS2tXlFjM24ZF1Pdvcir-aywniInqg,1881 21 | idna/package_data.py,sha256=szxQhV0ZD0nKJ84Kuobw3l8q4_KeCyXjFRdpwIpKZmw,21 22 | idna/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 23 | idna/uts46data.py,sha256=o-D7V-a0fOLZNd7tvxof6MYfUd0TBZzE2bLR5XO67xU,204400 24 | -------------------------------------------------------------------------------- /scheduler-lambda/app/idna-3.3.dist-info/LICENSE.md: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2013-2021, Kim Davies 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | 3. Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/packages/backports/makefile.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | backports.makefile 4 | ~~~~~~~~~~~~~~~~~~ 5 | 6 | Backports the Python 3 ``socket.makefile`` method for use with anything that 7 | wants to create a "fake" socket object. 8 | """ 9 | import io 10 | from socket import SocketIO 11 | 12 | 13 | def backport_makefile( 14 | self, mode="r", buffering=None, encoding=None, errors=None, newline=None 15 | ): 16 | """ 17 | Backport of ``socket.makefile`` from Python 3.5. 18 | """ 19 | if not set(mode) <= {"r", "w", "b"}: 20 | raise ValueError("invalid mode %r (only r, w, b allowed)" % (mode,)) 21 | writing = "w" in mode 22 | reading = "r" in mode or not writing 23 | assert reading or writing 24 | binary = "b" in mode 25 | rawmode = "" 26 | if reading: 27 | rawmode += "r" 28 | if writing: 29 | rawmode += "w" 30 | raw = SocketIO(self, rawmode) 31 | self._makefile_refs += 1 32 | if buffering is None: 33 | buffering = -1 34 | if buffering < 0: 35 | buffering = io.DEFAULT_BUFFER_SIZE 36 | if buffering == 0: 37 | if not binary: 38 | raise ValueError("unbuffered streams must be binary") 39 | return raw 40 | if reading and writing: 41 | buffer = io.BufferedRWPair(raw, raw, buffering) 42 | elif reading: 43 | buffer = io.BufferedReader(raw, buffering) 44 | else: 45 | assert writing 46 | buffer = io.BufferedWriter(raw, buffering) 47 | if binary: 48 | return buffer 49 | text = io.TextIOWrapper(buffer, encoding, errors, newline) 50 | text.mode = mode 51 | return text 52 | -------------------------------------------------------------------------------- /app/instance-scheduler-staging-policy.json: -------------------------------------------------------------------------------- 1 | { 2 | "Version": "2012-10-17", 3 | "Statement": [ 4 | { 5 | "Sid": "VisualEditor0", 6 | "Effect": "Allow", 7 | "Action": [ 8 | "dynamodb:PutItem", 9 | "dynamodb:DeleteItem", 10 | "dynamodb:Scan", 11 | "dynamodb:Query", 12 | "dynamodb:UpdateItem" 13 | ], 14 | "Resource": [ 15 | "arn:aws:dynamodb:*:*:table/instance-scheduler/index/*", 16 | "arn:aws:dynamodb:*:*:table/instance-scheduler" 17 | ] 18 | }, 19 | { 20 | "Sid": "VisualEditor1", 21 | "Effect": "Allow", 22 | "Action": [ 23 | "logs:CreateLogGroup", 24 | "logs:CreateLogStream", 25 | "logs:PutLogEvents" 26 | ], 27 | "Resource": "*" 28 | }, 29 | { 30 | "Sid": "VisualEditor2", 31 | "Effect": "Allow", 32 | "Action": [ 33 | "ses:SendEmail", 34 | "ses:SendRawEmail" 35 | ], 36 | "Resource": "*" 37 | }, 38 | { 39 | "Sid": "VisualEditor3", 40 | "Effect": "Allow", 41 | "Action": [ 42 | "lambda:InvokeFunction" 43 | ], 44 | "Resource": [ 45 | "*" 46 | ] 47 | }, 48 | { 49 | "Sid": "VisualEditor4", 50 | "Effect": "Allow", 51 | "Action": "cognito-idp:AdminDeleteUser", 52 | "Resource": "*" 53 | } 54 | ] 55 | } -------------------------------------------------------------------------------- /html/js/my-login.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | $(function() { 4 | 5 | $("input[type='password'][data-eye]").each(function(i) { 6 | var $this = $(this), 7 | id = 'eye-password-' + i, 8 | el = $('#' + id); 9 | 10 | $this.wrap($("
", { 11 | style: 'position:relative', 12 | id: id 13 | })); 14 | 15 | $this.css({ 16 | paddingRight: 60 17 | }); 18 | $this.after($("", { 19 | html: 'Show', 20 | class: 'btn btn-primary btn-sm', 21 | id: 'passeye-toggle-'+i, 22 | }).css({ 23 | position: 'absolute', 24 | right: 10, 25 | top: ($this.outerHeight() / 2) - 12, 26 | padding: '2px 7px', 27 | fontSize: 12, 28 | cursor: 'pointer', 29 | })); 30 | 31 | $this.after($("", { 32 | type: 'hidden', 33 | id: 'passeye-' + i 34 | })); 35 | 36 | var invalid_feedback = $this.parent().parent().find('.invalid-feedback'); 37 | 38 | if(invalid_feedback.length) { 39 | $this.after(invalid_feedback.clone()); 40 | } 41 | 42 | $this.on("keyup paste", function() { 43 | $("#passeye-"+i).val($(this).val()); 44 | }); 45 | $("#passeye-toggle-"+i).on("click", function() { 46 | if($this.hasClass("show")) { 47 | $this.attr('type', 'password'); 48 | $this.removeClass("show"); 49 | $(this).removeClass("btn-outline-primary"); 50 | }else{ 51 | $this.attr('type', 'text'); 52 | $this.val($("#passeye-"+i).val()); 53 | $this.addClass("show"); 54 | $(this).addClass("btn-outline-primary"); 55 | } 56 | }); 57 | }); 58 | 59 | $(".my-login-validation").submit(function() { 60 | var form = $(this); 61 | if (form[0].checkValidity() === false) { 62 | event.preventDefault(); 63 | event.stopPropagation(); 64 | } 65 | form.addClass('was-validated'); 66 | }); 67 | }); 68 | -------------------------------------------------------------------------------- /html/css/landing-page.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Start Bootstrap - Landing Page v5.0.8 (https://startbootstrap.com/themes/landing-page) 3 | * Copyright 2013-2020 Start Bootstrap 4 | * Licensed under MIT (https://github.com/StartBootstrap/startbootstrap-landing-page/blob/master/LICENSE) 5 | */body{font-family:Lato,'Helvetica Neue',Helvetica,Arial,sans-serif}h1,h2,h3,h4,h5,h6{font-family:Lato,'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:700}header.masthead{position:relative;background-color:#343a40;background:url(../img/bg-masthead.jpg) no-repeat center center;background-size:cover;padding-top:8rem;padding-bottom:8rem}header.masthead .overlay{position:absolute;background-color:#212529;height:100%;width:100%;top:0;left:0;opacity:.3}header.masthead h1{font-size:2rem}@media (min-width:768px){header.masthead{padding-top:12rem;padding-bottom:12rem}header.masthead h1{font-size:3rem}}.showcase .showcase-text{padding:3rem}.showcase .showcase-img{min-height:30rem;background-size:cover}@media (min-width:768px){.showcase .showcase-text{padding:7rem}}.features-icons{padding-top:7rem;padding-bottom:7rem}.features-icons .features-icons-item{max-width:20rem}.features-icons .features-icons-item .features-icons-icon{height:7rem}.features-icons .features-icons-item .features-icons-icon i{font-size:4.5rem}.features-icons .features-icons-item:hover .features-icons-icon i{font-size:5rem}.testimonials{padding-top:7rem;padding-bottom:7rem}.testimonials .testimonial-item{max-width:18rem}.testimonials .testimonial-item img{max-width:12rem;box-shadow:0 5px 5px 0 #adb5bd}.call-to-action{position:relative;background-color:#343a40;background:url(../img/bg-masthead.jpg) no-repeat center center;background-size:cover;padding-top:7rem;padding-bottom:7rem}.call-to-action .overlay{position:absolute;background-color:#212529;height:100%;width:100%;top:0;left:0;opacity:.3}footer.footer{padding-top:4rem;padding-bottom:4rem} -------------------------------------------------------------------------------- /scheduler-lambda/app/urllib3/util/proxy.py: -------------------------------------------------------------------------------- 1 | from .ssl_ import create_urllib3_context, resolve_cert_reqs, resolve_ssl_version 2 | 3 | 4 | def connection_requires_http_tunnel( 5 | proxy_url=None, proxy_config=None, destination_scheme=None 6 | ): 7 | """ 8 | Returns True if the connection requires an HTTP CONNECT through the proxy. 9 | 10 | :param URL proxy_url: 11 | URL of the proxy. 12 | :param ProxyConfig proxy_config: 13 | Proxy configuration from poolmanager.py 14 | :param str destination_scheme: 15 | The scheme of the destination. (i.e https, http, etc) 16 | """ 17 | # If we're not using a proxy, no way to use a tunnel. 18 | if proxy_url is None: 19 | return False 20 | 21 | # HTTP destinations never require tunneling, we always forward. 22 | if destination_scheme == "http": 23 | return False 24 | 25 | # Support for forwarding with HTTPS proxies and HTTPS destinations. 26 | if ( 27 | proxy_url.scheme == "https" 28 | and proxy_config 29 | and proxy_config.use_forwarding_for_https 30 | ): 31 | return False 32 | 33 | # Otherwise always use a tunnel. 34 | return True 35 | 36 | 37 | def create_proxy_ssl_context( 38 | ssl_version, cert_reqs, ca_certs=None, ca_cert_dir=None, ca_cert_data=None 39 | ): 40 | """ 41 | Generates a default proxy ssl context if one hasn't been provided by the 42 | user. 43 | """ 44 | ssl_context = create_urllib3_context( 45 | ssl_version=resolve_ssl_version(ssl_version), 46 | cert_reqs=resolve_cert_reqs(cert_reqs), 47 | ) 48 | 49 | if ( 50 | not ca_certs 51 | and not ca_cert_dir 52 | and not ca_cert_data 53 | and hasattr(ssl_context, "load_default_certs") 54 | ): 55 | ssl_context.load_default_certs() 56 | 57 | return ssl_context 58 | -------------------------------------------------------------------------------- /scheduler-lambda/app/charset_normalizer/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf_8 -*- 2 | """ 3 | Charset-Normalizer 4 | ~~~~~~~~~~~~~~ 5 | The Real First Universal Charset Detector. 6 | A library that helps you read text from an unknown charset encoding. 7 | Motivated by chardet, This package is trying to resolve the issue by taking a new approach. 8 | All IANA character set names for which the Python core library provides codecs are supported. 9 | 10 | Basic usage: 11 | >>> from charset_normalizer import from_bytes 12 | >>> results = from_bytes('Bсеки човек има право на образование. Oбразованието!'.encode('utf_8')) 13 | >>> best_guess = results.best() 14 | >>> str(best_guess) 15 | 'Bсеки човек има право на образование. Oбразованието!' 16 | 17 | Others methods and usages are available - see the full documentation 18 | at
55 |
56 |
27 |
27 |
27 |
27 | Manage and Save Costs for AWS EC2/RDS
32 |
27 |