From 65414aff9fdc694c03236ebbfec1a7f1c36ab7d6 Mon Sep 17 00:00:00 2001 From: thevickypedia Date: Tue, 26 Sep 2023 00:03:45 -0500 Subject: [PATCH] Release `v1.3.2` Update README.md and modular imports --- README.md | 12 ++++++------ docs/README.html | 12 ++++++------ docs/_sources/README.md.txt | 12 ++++++------ docs/searchindex.js | 2 +- release_notes.rst | 4 ++++ vpn/__init__.py | 5 +++-- 6 files changed, 26 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 37ea2e6..81a76a3 100644 --- a/README.md +++ b/README.md @@ -43,13 +43,13 @@ Environment variables are loaded from any `env` file if present. - **VPN_USERNAME** - Username to access `OpenVPN Connect` client. - **VPN_PASSWORD** - Password to access `OpenVPN Connect` client. -- **VPN_PORT** - Port number for web interfaces. +- **VPN_PORT** - Port number for web interfaces. Defaults to `943` -- **IMAGE_ID** - AMI ID to be used. Defaults to a pre-built AMI from SSM parameter for [OpenVPN Access Server AMI Alias][AMI_ALIAS]. -- **INSTANCE_TYPE** - Instance type to use for the VPN server. Defaults to `t2.nano`, use `t2.micro` if under [free-tier](https://aws.amazon.com/free). -- **KEY_PAIR** - Name of the key pair file to connect to ec2. -- **SECURITY_GROUP** - Name of the security group. -- **VPN_INFO** - Name of the JSON file to dump the server information. +- **IMAGE_ID** - AMI ID to be used. Defaults to a pre-built AMI from SSM parameter for [OpenVPN Access Server AMI Alias][AMI_ALIAS] +- **INSTANCE_TYPE** - Instance type to use for the VPN server. Defaults to `t2.micro` _(minimum memory requirement is 1 GiB)_ +- **KEY_PAIR** - Name of the key pair file to connect to ec2. Defaults to `OpenVPN` +- **SECURITY_GROUP** - Name of the security group. Defaults to `OpenVPN Access Server` +- **VPN_INFO** - Name of the JSON file to dump the server information. Defaults to `vpn_info.json` - **HOSTED_ZONE** - Domain name for the hosted zone. - **SUBDOMAIN** - Alias record name using which the VPN server has to be accessed. diff --git a/docs/README.html b/docs/README.html index f79fb9a..2c2e6da 100644 --- a/docs/README.html +++ b/docs/README.html @@ -96,12 +96,12 @@

ENV Variables
  • VPN_USERNAME - Username to access OpenVPN Connect client.

  • VPN_PASSWORD - Password to access OpenVPN Connect client.

  • -
  • VPN_PORT - Port number for web interfaces.

  • -
  • IMAGE_ID - AMI ID to be used. Defaults to a pre-built AMI from SSM parameter for OpenVPN Access Server AMI Alias.

  • -
  • INSTANCE_TYPE - Instance type to use for the VPN server. Defaults to t2.nano, use t2.micro if under free-tier.

  • -
  • KEY_PAIR - Name of the key pair file to connect to ec2.

  • -
  • SECURITY_GROUP - Name of the security group.

  • -
  • VPN_INFO - Name of the JSON file to dump the server information.

  • +
  • VPN_PORT - Port number for web interfaces. Defaults to 943

  • +
  • IMAGE_ID - AMI ID to be used. Defaults to a pre-built AMI from SSM parameter for OpenVPN Access Server AMI Alias

  • +
  • INSTANCE_TYPE - Instance type to use for the VPN server. Defaults to t2.micro (minimum memory requirement is 1 GiB)

  • +
  • KEY_PAIR - Name of the key pair file to connect to ec2. Defaults to OpenVPN

  • +
  • SECURITY_GROUP - Name of the security group. Defaults to OpenVPN Access Server

  • +
  • VPN_INFO - Name of the JSON file to dump the server information. Defaults to vpn_info.json

  • HOSTED_ZONE - Domain name for the hosted zone.

  • SUBDOMAIN - Alias record name using which the VPN server has to be accessed.

  • diff --git a/docs/_sources/README.md.txt b/docs/_sources/README.md.txt index 37ea2e6..81a76a3 100644 --- a/docs/_sources/README.md.txt +++ b/docs/_sources/README.md.txt @@ -43,13 +43,13 @@ Environment variables are loaded from any `env` file if present. - **VPN_USERNAME** - Username to access `OpenVPN Connect` client. - **VPN_PASSWORD** - Password to access `OpenVPN Connect` client. -- **VPN_PORT** - Port number for web interfaces. +- **VPN_PORT** - Port number for web interfaces. Defaults to `943` -- **IMAGE_ID** - AMI ID to be used. Defaults to a pre-built AMI from SSM parameter for [OpenVPN Access Server AMI Alias][AMI_ALIAS]. -- **INSTANCE_TYPE** - Instance type to use for the VPN server. Defaults to `t2.nano`, use `t2.micro` if under [free-tier](https://aws.amazon.com/free). -- **KEY_PAIR** - Name of the key pair file to connect to ec2. -- **SECURITY_GROUP** - Name of the security group. -- **VPN_INFO** - Name of the JSON file to dump the server information. +- **IMAGE_ID** - AMI ID to be used. Defaults to a pre-built AMI from SSM parameter for [OpenVPN Access Server AMI Alias][AMI_ALIAS] +- **INSTANCE_TYPE** - Instance type to use for the VPN server. Defaults to `t2.micro` _(minimum memory requirement is 1 GiB)_ +- **KEY_PAIR** - Name of the key pair file to connect to ec2. Defaults to `OpenVPN` +- **SECURITY_GROUP** - Name of the security group. Defaults to `OpenVPN Access Server` +- **VPN_INFO** - Name of the JSON file to dump the server information. Defaults to `vpn_info.json` - **HOSTED_ZONE** - Domain name for the hosted zone. - **SUBDOMAIN** - Alias record name using which the VPN server has to be accessed. diff --git a/docs/searchindex.js b/docs/searchindex.js index b78b4a3..8a11b89 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["README", "index"], "filenames": ["README.md", "index.rst"], "titles": ["Platform Supported", "Welcome to VPN Server\u2019s documentation!"], "terms": {"you": 0, "need": 0, "don": 0, "t": [0, 1], "want": 0, "pai": 0, "openvpn": [0, 1], "i": [0, 1], "solut": 0, "configur": 0, "manual": [0, 1], "can": [0, 1], "lengthi": 0, "process": 0, "onc": 0, "keep": 0, "instanc": [0, 1], "up": [0, 1], "all": [0, 1], "time": 0, "cost": 0, "scale": 0, "down": [0, 1], "demand": 0, "make": [0, 1], "an": [0, 1], "absolut": 0, "nightmar": 0, "thi": [0, 1], "modul": [0, 1], "allow": [0, 1], "creat": [0, 1], "your": [0, 1], "own": [0, 1], "under": 0, "2": [0, 1], "minut": 0, "The": [0, 1], "fulli": 0, "autom": 0, "run": [0, 1], "us": [0, 1], "aw": [0, 1], "ec2": [0, 1], "pre": [0, 1], "built": 0, "ami": [0, 1], "secur": [0, 1], "group": [0, 1], "necessari": 0, "port": [0, 1], "ssh": 0, "download": 0, "client": [0, 1], "connect": [0, 1], "public": [0, 1], "dn": [0, 1], "set": [0, 1], "now": 0, "internet": 0, "traffic": [0, 1], "rout": 0, "through": [0, 1], "verifi": 0, "ip": [0, 1], "lookup": [0, 1], "To": 0, "take": [0, 1], "step": 0, "further": 0, "have": 0, "regist": [0, 1], "domain": 0, "access": [0, 1], "alia": [0, 1], "record": [0, 1], "route53": 0, "point": [0, 1], "abov": 0, "ar": [0, 1], "perform": [0, 1], "automat": 0, "when": [0, 1], "new": [0, 1], "also": [0, 1], "clean": 0, "resourc": [0, 1], "spun": 0, "environ": 0, "load": [0, 1], "from": [0, 1], "ani": [0, 1], "file": [0, 1], "present": [0, 1], "more": [0, 1], "_": 0, "usernam": [0, 1], "password": 0, "number": 0, "web": [0, 1], "interfac": [0, 1], "imag": [0, 1], "id": [0, 1], "default": [0, 1], "ssm": [0, 1], "paramet": [0, 1], "type": [0, 1], "t2": 0, "nano": [0, 1], "micro": 0, "free": 0, "tier": 0, "kei": [0, 1], "pair": [0, 1], "name": [0, 1], "info": [0, 1], "json": [0, 1], "dump": [0, 1], "inform": [0, 1], "host": [0, 1], "zone": [0, 1], "subdomain": 0, "which": [0, 1], "ha": [0, 1], "option": [0, 1], "var": 0, "config": [0, 1], "aws_profile_nam": 0, "aws_access_kei": 0, "aws_secret_kei": 0, "aws_region_nam": 0, "setup": 0, "python": 0, "m": 0, "pip": 0, "import": 0, "o": 0, "env_fil": 0, "custom": [0, 1], "instanti": [0, 1], "object": [0, 1], "same": [0, 1], "arg": [0, 1], "vpn_server": 0, "vpnserver": [0, 1], "consol": 0, "log": [0, 1], "logger": 0, "create_vpn_serv": [0, 1], "login": 0, "save": 0, "test": [0, 1], "exist": [0, 1], "requir": [0, 1], "right": 0, "after": 0, "creation": 0, "anywai": 0, "test_vpn": [0, 1], "delete_vpn_serv": [0, 1], "delet": [0, 1], "remov": [0, 1], "acquir": [0, 1], "dure": [0, 1], "limit": 0, "current": 0, "expos": 0, "cannot": [0, 1], "handl": [0, 1], "tunnel": [0, 1], "multipl": [0, 1], "without": 0, "modifi": [0, 1], "follow": 0, "key_pair": 0, "key_fil": 0, "privat": [0, 1], "filenam": 0, "self": [0, 1], "sign": 0, "ssl": 0, "cert_fil": 0, "certif": 0, "server_info": 0, "data": [0, 1], "security_group": 0, "ingress": [0, 1], "egress": 0, "firewal": [0, 1], "rule": 0, "control": [0, 1], "via": 0, "vpc": [0, 1], "docstr": 0, "format": [0, 1], "googl": 0, "style": 0, "convent": 0, "pep": 0, "8": 0, "commit": 0, "hook": 0, "flake8": 0, "isort": 0, "gitvers": 0, "revers": 0, "f": 0, "release_not": 0, "rst": 0, "precommit": 0, "ensur": 0, "doc": [0, 1], "everi": 0, "sphinx": 0, "5": 0, "1": 0, "recommonmark": 0, "repositori": 0, "runbook": 0, "packag": 0, "vignesh": 0, "rao": 0, "mit": 0, "platform": 1, "support": 1, "repo": 1, "stat": 1, "deploy": 1, "how": 1, "work": 1, "env": 1, "variabl": 1, "instal": 1, "usag": 1, "code": 1, "standard": 1, "licens": 1, "copyright": 1, "class": 1, "main": 1, "none": 1, "initi": 1, "spin": 1, "serv": 1, "assign": 1, "pem": 1, "boto3": 1, "bring": 1, "_authorize_security_group": 1, "security_group_id": 1, "str": 1, "bool": 1, "author": 1, "certain": 1, "list": 1, "securitygroup": 1, "argument": 1, "open": 1, "tcp": 1, "22": 1, "443": 1, "943": 1, "dynam": 1, "945": 1, "cluster": 1, "channel": 1, "udp": 1, "1194": 1, "return": 1, "flag": 1, "call": 1, "function": 1, "whether": 1, "wa": 1, "_configure_vpn": 1, "public_dn": 1, "localhost": 1, "_create_ec2_inst": 1, "tupl": 1, "success": 1, "union": 1, "_create_key_pair": 1, "keypair": 1, "rsa": 1, "store": 1, "openssh": 1, "boolean": 1, "_create_security_group": 1, "get": 1, "re": 1, "sg": 1, "case": 1, "alreadi": 1, "_delete_key_pair": 1, "successfulli": 1, "_delete_security_group": 1, "_disassociate_security_group": 1, "instance_id": 1, "disassoci": 1, "unavail": 1, "_get_vpc_id": 1, "fetch": 1, "_init": 1, "start": 1, "int": 1, "its": 1, "startup": 1, "shutdown": 1, "_terminate_ec2_inst": 1, "serviceresourc": 1, "termin": 1, "request": 1, "_tester": 1, "dict": 1, "timeout": 1, "3": 1, "dictionari": 1, "made": 1, "updat": 1, "vm": 1, "true": 1, "reachabl": 1, "origin": 1, "succe": 1, "fals": 1, "fail": 1, "unabl": 1, "method": 1, "_instance_info": 1, "check": 1, "befor": 1, "If": 1, "tear": 1, "notifi": 1, "user": 1, "detail": 1, "add": 1, "valu": 1, "retri": 1, "anoth": 1, "sent": 1, "regardless": 1, "public_ip": 1, "disabl": 1, "address": 1, "A": 1, "doesn": 1, "long": 1, "neither": 1, "nor": 1, "hand": 1, "refer": 1, "http": 1, "amazonaw": 1, "com": 1, "v1": 1, "api": 1, "latest": 1, "servic": 1, "wait_until_termin": 1, "html": 1, "model": 1, "configurationset": 1, "pydant": 1, "basemodel": 1, "interact": 1, "pars": 1, "valid": 1, "input": 1, "keyword": 1, "rais": 1, "validationerror": 1, "pydantic_cor": 1, "form": 1, "__init__": 1, "__pydantic_self__": 1, "instead": 1, "common": 1, "first": 1, "field": 1, "amibas": 1, "model_post_init": 1, "__context": 1, "meant": 1, "behav": 1, "like": 1, "initialis": 1, "attribut": 1, "It": 1, "context": 1, "sinc": 1, "what": 1, "core": 1, "pass": 1, "envconfig": 1, "baseset": 1, "dev": 1, "migrat": 1, "nullabl": 1, "extra": 1, "classmethod": 1, "validate_instance_typ": 1, "v": 1, "sure": 1, "validate_vpn_password": 1, "vpn_password": 1, "per": 1, "regex": 1, "wrapper": 1, "awsresourceerror": 1, "status_cod": 1, "error_msg": 1, "error": 1, "notimplementedwarn": 1, "implement": 1, "warn": 1, "image_factori": 1, "session": 1, "retriev": 1, "sourc": 1, "get_ami_id_nam": 1, "get_ami_id_product_cod": 1, "product": 1, "get_ami_id_ssm": 1, "get_image_id": 1, "tri": 1, "sequenti": 1, "execut": 1, "sequenc": 1, "fastest": 1, "singl": 1, "possibli": 1, "contain": 1, "specif": 1, "mani": 1, "so": 1, "grab": 1, "most": 1, "recent": 1, "one": 1, "deprecation_warn": 1, "image_id": 1, "deprecation_tim": 1, "deprec": 1, "chosen": 1, "nearing": 1, "deprecationtim": 1, "streamhandl": 1, "debug": 1, "mode": 1, "change_record_set": 1, "destin": 1, "zone_id": 1, "action": 1, "chang": 1, "within": 1, "hostnam": 1, "exampl": 1, "upsert": 1, "changeset": 1, "respons": 1, "get_zone_id": 1, "init": 1, "miss": 1, "rsakei": 1, "gener": 1, "add_formatt": 1, "formatt": 1, "were": 1, "remove_formatt": 1, "room": 1, "restart_servic": 1, "restart": 1, "run_interactive_ssh": 1, "displai": 1, "30": 1, "command": 1, "screen": 1, "complet": 1, "test_servic": 1, "statu": 1, "remot": 1, "available_instance_typ": 1, "avail": 1, "loop": 1, "describ": 1, "yield": 1, "available_region": 1, "region": 1, "index": 1, "search": 1, "page": 1}, "objects": {"vpn": [[1, 0, 0, "-", "main"]], "vpn.main": [[1, 1, 1, "", "VPNServer"]], "vpn.main.VPNServer": [[1, 2, 1, "", "_authorize_security_group"], [1, 2, 1, "", "_configure_vpn"], [1, 2, 1, "", "_create_ec2_instance"], [1, 2, 1, "", "_create_key_pair"], [1, 2, 1, "", "_create_security_group"], [1, 2, 1, "", "_delete_key_pair"], [1, 2, 1, "", "_delete_security_group"], [1, 2, 1, "", "_disassociate_security_group"], [1, 2, 1, "", "_get_vpc_id"], [1, 2, 1, "", "_init"], [1, 2, 1, "", "_terminate_ec2_instance"], [1, 2, 1, "", "_tester"], [1, 2, 1, "", "create_vpn_server"], [1, 2, 1, "", "delete_vpn_server"], [1, 2, 1, "", "test_vpn"]], "vpn.models.config": [[1, 1, 1, "", "AMIBase"], [1, 1, 1, "", "ConfigurationSettings"], [1, 1, 1, "", "EnvConfig"], [1, 1, 1, "", "Settings"]], "vpn.models.config.AMIBase": [[1, 2, 1, "", "model_post_init"]], "vpn.models.config.EnvConfig": [[1, 1, 1, "", "Config"], [1, 2, 1, "", "validate_instance_type"], [1, 2, 1, "", "validate_vpn_password"]], "vpn.models": [[1, 0, 0, "-", "exceptions"], [1, 0, 0, "-", "image_factory"], [1, 0, 0, "-", "logger"], [1, 0, 0, "-", "route53"], [1, 0, 0, "-", "server"], [1, 0, 0, "-", "util"]], "vpn.models.exceptions": [[1, 3, 1, "", "AWSResourceError"], [1, 3, 1, "", "NotImplementedWarning"]], "vpn.models.image_factory": [[1, 1, 1, "", "ImageFactory"], [1, 4, 1, "", "deprecation_warning"]], "vpn.models.image_factory.ImageFactory": [[1, 2, 1, "", "get_ami_id_name"], [1, 2, 1, "", "get_ami_id_product_code"], [1, 2, 1, "", "get_ami_id_ssm"], [1, 2, 1, "", "get_image_id"]], "vpn.models.route53": [[1, 4, 1, "", "change_record_set"], [1, 4, 1, "", "get_zone_id"]], "vpn.models.server": [[1, 1, 1, "", "Server"]], "vpn.models.server.Server": [[1, 2, 1, "", "add_formatter"], [1, 2, 1, "", "remove_formatter"], [1, 2, 1, "", "restart_service"], [1, 2, 1, "", "run_interactive_ssh"], [1, 2, 1, "", "test_service"]], "vpn.models.util": [[1, 4, 1, "", "available_instance_types"], [1, 4, 1, "", "available_regions"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"]}, "titleterms": {"platform": 0, "support": 0, "repo": 0, "stat": 0, "deploy": 0, "vpn": [0, 1], "server": [0, 1], "how": 0, "work": 0, "env": 0, "variabl": 0, "instal": 0, "usag": 0, "code": 0, "standard": 0, "releas": 0, "note": 0, "lint": 0, "link": 0, "licens": 0, "copyright": 0, "welcom": 1, "": 1, "document": 1, "read": 1, "me": 1, "configur": 1, "except": 1, "imagefactori": 1, "logger": 1, "route53": 1, "ssh": 1, "util": 1, "indic": 1, "tabl": 1}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["README", "index"], "filenames": ["README.md", "index.rst"], "titles": ["Platform Supported", "Welcome to VPN Server\u2019s documentation!"], "terms": {"you": 0, "need": 0, "don": 0, "t": [0, 1], "want": 0, "pai": 0, "openvpn": [0, 1], "i": [0, 1], "solut": 0, "configur": 0, "manual": [0, 1], "can": [0, 1], "lengthi": 0, "process": 0, "onc": 0, "keep": 0, "instanc": [0, 1], "up": [0, 1], "all": [0, 1], "time": 0, "cost": 0, "scale": 0, "down": [0, 1], "demand": 0, "make": [0, 1], "an": [0, 1], "absolut": 0, "nightmar": 0, "thi": [0, 1], "modul": [0, 1], "allow": [0, 1], "creat": [0, 1], "your": [0, 1], "own": [0, 1], "under": 0, "2": [0, 1], "minut": 0, "The": [0, 1], "fulli": 0, "autom": 0, "run": [0, 1], "us": [0, 1], "aw": [0, 1], "ec2": [0, 1], "pre": [0, 1], "built": 0, "ami": [0, 1], "secur": [0, 1], "group": [0, 1], "necessari": 0, "port": [0, 1], "ssh": 0, "download": 0, "client": [0, 1], "connect": [0, 1], "public": [0, 1], "dn": [0, 1], "set": [0, 1], "now": 0, "internet": 0, "traffic": [0, 1], "rout": 0, "through": [0, 1], "verifi": 0, "ip": [0, 1], "lookup": [0, 1], "To": 0, "take": [0, 1], "step": 0, "further": 0, "have": 0, "regist": [0, 1], "domain": 0, "access": [0, 1], "alia": [0, 1], "record": [0, 1], "route53": 0, "point": [0, 1], "abov": 0, "ar": [0, 1], "perform": [0, 1], "automat": 0, "when": [0, 1], "new": [0, 1], "also": [0, 1], "clean": 0, "resourc": [0, 1], "spun": 0, "environ": 0, "load": [0, 1], "from": [0, 1], "ani": [0, 1], "file": [0, 1], "present": [0, 1], "more": [0, 1], "_": 0, "usernam": [0, 1], "password": 0, "number": 0, "web": [0, 1], "interfac": [0, 1], "default": [0, 1], "943": [0, 1], "imag": [0, 1], "id": [0, 1], "ssm": [0, 1], "paramet": [0, 1], "type": [0, 1], "t2": 0, "micro": 0, "minimum": 0, "memori": 0, "requir": [0, 1], "1": 0, "gib": 0, "kei": [0, 1], "pair": [0, 1], "name": [0, 1], "info": [0, 1], "json": [0, 1], "dump": [0, 1], "inform": [0, 1], "vpn_info": 0, "host": [0, 1], "zone": [0, 1], "subdomain": 0, "which": [0, 1], "ha": [0, 1], "option": [0, 1], "var": 0, "config": [0, 1], "aws_profile_nam": 0, "aws_access_kei": 0, "aws_secret_kei": 0, "aws_region_nam": 0, "setup": 0, "python": 0, "m": 0, "pip": 0, "import": 0, "o": 0, "env_fil": 0, "custom": [0, 1], "instanti": [0, 1], "object": [0, 1], "same": [0, 1], "arg": [0, 1], "vpn_server": 0, "vpnserver": [0, 1], "consol": 0, "log": [0, 1], "logger": 0, "create_vpn_serv": [0, 1], "login": 0, "save": 0, "test": [0, 1], "exist": [0, 1], "right": 0, "after": 0, "creation": 0, "anywai": 0, "test_vpn": [0, 1], "delete_vpn_serv": [0, 1], "delet": [0, 1], "remov": [0, 1], "acquir": [0, 1], "dure": [0, 1], "limit": 0, "current": 0, "expos": 0, "cannot": [0, 1], "handl": [0, 1], "tunnel": [0, 1], "multipl": [0, 1], "without": 0, "modifi": [0, 1], "follow": 0, "key_pair": 0, "key_fil": 0, "privat": [0, 1], "filenam": 0, "self": [0, 1], "sign": 0, "ssl": 0, "cert_fil": 0, "certif": 0, "server_info": 0, "data": [0, 1], "security_group": 0, "ingress": [0, 1], "egress": 0, "firewal": [0, 1], "rule": 0, "control": [0, 1], "via": 0, "vpc": [0, 1], "docstr": 0, "format": [0, 1], "googl": 0, "style": 0, "convent": 0, "pep": 0, "8": 0, "commit": 0, "hook": 0, "flake8": 0, "isort": 0, "gitvers": 0, "revers": 0, "f": 0, "release_not": 0, "rst": 0, "precommit": 0, "ensur": 0, "doc": [0, 1], "everi": 0, "sphinx": 0, "5": 0, "recommonmark": 0, "repositori": 0, "runbook": 0, "packag": 0, "vignesh": 0, "rao": 0, "mit": 0, "platform": 1, "support": 1, "repo": 1, "stat": 1, "deploy": 1, "how": 1, "work": 1, "env": 1, "variabl": 1, "instal": 1, "usag": 1, "code": 1, "standard": 1, "licens": 1, "copyright": 1, "class": 1, "main": 1, "none": 1, "initi": 1, "spin": 1, "serv": 1, "assign": 1, "pem": 1, "boto3": 1, "bring": 1, "_authorize_security_group": 1, "security_group_id": 1, "str": 1, "bool": 1, "author": 1, "certain": 1, "list": 1, "securitygroup": 1, "argument": 1, "open": 1, "tcp": 1, "22": 1, "443": 1, "dynam": 1, "945": 1, "cluster": 1, "channel": 1, "udp": 1, "1194": 1, "return": 1, "flag": 1, "call": 1, "function": 1, "whether": 1, "wa": 1, "_configure_vpn": 1, "public_dn": 1, "localhost": 1, "_create_ec2_inst": 1, "tupl": 1, "success": 1, "union": 1, "_create_key_pair": 1, "keypair": 1, "rsa": 1, "store": 1, "openssh": 1, "boolean": 1, "_create_security_group": 1, "get": 1, "re": 1, "sg": 1, "case": 1, "alreadi": 1, "_delete_key_pair": 1, "successfulli": 1, "_delete_security_group": 1, "_disassociate_security_group": 1, "instance_id": 1, "disassoci": 1, "unavail": 1, "_get_vpc_id": 1, "fetch": 1, "_init": 1, "start": 1, "int": 1, "its": 1, "startup": 1, "shutdown": 1, "_terminate_ec2_inst": 1, "serviceresourc": 1, "termin": 1, "request": 1, "_tester": 1, "dict": 1, "timeout": 1, "3": 1, "dictionari": 1, "made": 1, "updat": 1, "vm": 1, "true": 1, "reachabl": 1, "origin": 1, "succe": 1, "fals": 1, "fail": 1, "unabl": 1, "method": 1, "_instance_info": 1, "check": 1, "befor": 1, "If": 1, "tear": 1, "notifi": 1, "user": 1, "detail": 1, "add": 1, "valu": 1, "retri": 1, "anoth": 1, "sent": 1, "regardless": 1, "public_ip": 1, "disabl": 1, "address": 1, "A": 1, "doesn": 1, "long": 1, "neither": 1, "nor": 1, "hand": 1, "refer": 1, "http": 1, "amazonaw": 1, "com": 1, "v1": 1, "api": 1, "latest": 1, "servic": 1, "wait_until_termin": 1, "html": 1, "model": 1, "configurationset": 1, "pydant": 1, "basemodel": 1, "interact": 1, "pars": 1, "valid": 1, "input": 1, "keyword": 1, "rais": 1, "validationerror": 1, "pydantic_cor": 1, "form": 1, "__init__": 1, "__pydantic_self__": 1, "instead": 1, "common": 1, "first": 1, "field": 1, "amibas": 1, "model_post_init": 1, "__context": 1, "meant": 1, "behav": 1, "like": 1, "initialis": 1, "attribut": 1, "It": 1, "context": 1, "sinc": 1, "what": 1, "core": 1, "pass": 1, "envconfig": 1, "baseset": 1, "dev": 1, "migrat": 1, "nullabl": 1, "extra": 1, "classmethod": 1, "validate_instance_typ": 1, "v": 1, "sure": 1, "nano": 1, "validate_vpn_password": 1, "vpn_password": 1, "per": 1, "regex": 1, "wrapper": 1, "awsresourceerror": 1, "status_cod": 1, "error_msg": 1, "error": 1, "notimplementedwarn": 1, "implement": 1, "warn": 1, "image_factori": 1, "session": 1, "retriev": 1, "sourc": 1, "get_ami_id_nam": 1, "get_ami_id_product_cod": 1, "product": 1, "get_ami_id_ssm": 1, "get_image_id": 1, "tri": 1, "sequenti": 1, "execut": 1, "sequenc": 1, "fastest": 1, "singl": 1, "possibli": 1, "contain": 1, "specif": 1, "mani": 1, "so": 1, "grab": 1, "most": 1, "recent": 1, "one": 1, "deprecation_warn": 1, "image_id": 1, "deprecation_tim": 1, "deprec": 1, "chosen": 1, "nearing": 1, "deprecationtim": 1, "streamhandl": 1, "debug": 1, "mode": 1, "change_record_set": 1, "destin": 1, "zone_id": 1, "action": 1, "chang": 1, "within": 1, "hostnam": 1, "exampl": 1, "upsert": 1, "changeset": 1, "respons": 1, "get_zone_id": 1, "init": 1, "miss": 1, "rsakei": 1, "gener": 1, "add_formatt": 1, "formatt": 1, "were": 1, "remove_formatt": 1, "room": 1, "restart_servic": 1, "restart": 1, "run_interactive_ssh": 1, "displai": 1, "30": 1, "command": 1, "screen": 1, "complet": 1, "test_servic": 1, "statu": 1, "remot": 1, "available_instance_typ": 1, "avail": 1, "loop": 1, "describ": 1, "yield": 1, "available_region": 1, "region": 1, "index": 1, "search": 1, "page": 1}, "objects": {"vpn": [[1, 0, 0, "-", "main"]], "vpn.main": [[1, 1, 1, "", "VPNServer"]], "vpn.main.VPNServer": [[1, 2, 1, "", "_authorize_security_group"], [1, 2, 1, "", "_configure_vpn"], [1, 2, 1, "", "_create_ec2_instance"], [1, 2, 1, "", "_create_key_pair"], [1, 2, 1, "", "_create_security_group"], [1, 2, 1, "", "_delete_key_pair"], [1, 2, 1, "", "_delete_security_group"], [1, 2, 1, "", "_disassociate_security_group"], [1, 2, 1, "", "_get_vpc_id"], [1, 2, 1, "", "_init"], [1, 2, 1, "", "_terminate_ec2_instance"], [1, 2, 1, "", "_tester"], [1, 2, 1, "", "create_vpn_server"], [1, 2, 1, "", "delete_vpn_server"], [1, 2, 1, "", "test_vpn"]], "vpn.models.config": [[1, 1, 1, "", "AMIBase"], [1, 1, 1, "", "ConfigurationSettings"], [1, 1, 1, "", "EnvConfig"], [1, 1, 1, "", "Settings"]], "vpn.models.config.AMIBase": [[1, 2, 1, "", "model_post_init"]], "vpn.models.config.EnvConfig": [[1, 1, 1, "", "Config"], [1, 2, 1, "", "validate_instance_type"], [1, 2, 1, "", "validate_vpn_password"]], "vpn.models": [[1, 0, 0, "-", "exceptions"], [1, 0, 0, "-", "image_factory"], [1, 0, 0, "-", "logger"], [1, 0, 0, "-", "route53"], [1, 0, 0, "-", "server"], [1, 0, 0, "-", "util"]], "vpn.models.exceptions": [[1, 3, 1, "", "AWSResourceError"], [1, 3, 1, "", "NotImplementedWarning"]], "vpn.models.image_factory": [[1, 1, 1, "", "ImageFactory"], [1, 4, 1, "", "deprecation_warning"]], "vpn.models.image_factory.ImageFactory": [[1, 2, 1, "", "get_ami_id_name"], [1, 2, 1, "", "get_ami_id_product_code"], [1, 2, 1, "", "get_ami_id_ssm"], [1, 2, 1, "", "get_image_id"]], "vpn.models.route53": [[1, 4, 1, "", "change_record_set"], [1, 4, 1, "", "get_zone_id"]], "vpn.models.server": [[1, 1, 1, "", "Server"]], "vpn.models.server.Server": [[1, 2, 1, "", "add_formatter"], [1, 2, 1, "", "remove_formatter"], [1, 2, 1, "", "restart_service"], [1, 2, 1, "", "run_interactive_ssh"], [1, 2, 1, "", "test_service"]], "vpn.models.util": [[1, 4, 1, "", "available_instance_types"], [1, 4, 1, "", "available_regions"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"]}, "titleterms": {"platform": 0, "support": 0, "repo": 0, "stat": 0, "deploy": 0, "vpn": [0, 1], "server": [0, 1], "how": 0, "work": 0, "env": 0, "variabl": 0, "instal": 0, "usag": 0, "code": 0, "standard": 0, "releas": 0, "note": 0, "lint": 0, "link": 0, "licens": 0, "copyright": 0, "welcom": 1, "": 1, "document": 1, "read": 1, "me": 1, "configur": 1, "except": 1, "imagefactori": 1, "logger": 1, "route53": 1, "ssh": 1, "util": 1, "indic": 1, "tabl": 1}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 56}}) \ No newline at end of file diff --git a/release_notes.rst b/release_notes.rst index 196357c..4c26b59 100644 --- a/release_notes.rst +++ b/release_notes.rst @@ -1,6 +1,10 @@ Release Notes ============= +1.3.2 (09/26/2023) +------------------ +- Includes minor improvements for increased compatibility + 1.3 (09/25/2023) ---------------- - Includes bug fixes and upgrades to latest OpenVPN Access Server version diff --git a/vpn/__init__.py b/vpn/__init__.py index b666518..ccf6a1a 100644 --- a/vpn/__init__.py +++ b/vpn/__init__.py @@ -1,6 +1,7 @@ """Place holder for package.""" from vpn.main import VPNServer # noqa: F401 -from vpn.models import util # noqa: F401 +from vpn.models import (config, exceptions, image_factory, # noqa: F401 + logger, route53, server, util) -version = "1.3" +version = "1.3.2"