将路径53 ptr记录关联到特定vpc。

r53-ptr-vpc-associator的Python项目详细描述


R53_ptr_vpc_associator

这是一个将反向区域关联到专有网络的程序。它与https://github.com/aws-samples/aws-lambda-ddns-function

先决条件

强烈建议您在python虚拟环境中运行此包,因此 您不会影响您的台式机/笔记本电脑。要设置python虚拟环境,您应该 请确保已安装python3,然后执行以下操作。

注:我为什么要这样做。使用python虚拟环境,可以创建 许多虚拟环境都是您所希望的,并且有不同的python版本。这些 虚拟环境被隔离在一个目录中,不会影响 你的电脑。这样,你就可以测试并确保一切正常。

首先,找出安装在机器上的python版本的路径。

which python3
/usr/local/bin/python3

接下来,您应该pip安装virtualenv包

pip install virtualenv

接下来,您应该创建一个目录,在其中保存虚拟环境, 并使用上面找到的python版本的路径创建一个新的virtualenv。

mkdir ~/virtual_environments
cd virtual_environments
virtualenv -p /usr/local/bin/python3 my_python3_virtualenv

激活虚拟环境

source ~/virtual_environments/my_python3_virutalenv/bin/activate

注意:要停用虚拟环境

deactivate

安装

一般用法:

pip install r53_ptr_vpc_associator

当地发展:

git clone https://github.com/rubelw/r53_ptr_vpc_associator
cd r53_ptr_vpc_associator
pip install --editable .  # Install the local dir as a package, including the 'dev' extras

示例

获取帮助

$ associator --help
Usage: associator [OPTIONS] COMMAND [ARGS]...

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  associate  Associated hosted zones to vpc
  zone-list  List vpcs for hosted zones

列出当前区域/vpc关联

$ associator zone-list --profile-name default
{
        '/hostedzone/Z1H1CDD4PZKKPB': [
        {
            'VPCRegion': 'us-east-1',
            'VPCId': 'vpc-99999999'
        },
        {
            'VPCRegion': 'us-east-2',
            'VPCId': 'vpc-99999999'
        }
    ]
}

关联区域

$ associator associate --profile-name default --vpc-id vpc-99999999  --vpc-region us-east-2
[
    'Successfully associated zone: /hostedzone/A3G1CDD4PZKKPB with vpc: vpc-99999999',
    'Successfully associated zone: /hostedzone/HR2F2BVHDW5UD with vpc: vpc-99999999',
    'Successfully associated zone: /hostedzone/V6B06KVZ0ZL9U5 with vpc: vpc-99999999',
    'Successfully associated zone: /hostedzone/D7JTQ7EDFFYOWN with vpc: vpc-99999999'
]

以lambda的身份运行

运行make_lambda-zip命令。这将利用/tmp目录 创建包。

associator make-lambda-zip

################################################################################
Zip package located at: /tmp/r53_ptr_vpc_associator/LambdaDeploymentPackage.zip
################################################################################

部署lambda,您可以使用任何其他lambda包,但请确保 设置环境变量。

PROFILE_NAME = lambda
VPC_ID       = vpc-xxxxxxx
VPC_REGION   = us-east-1

一旦部署,就可以通过在控制台中创建任何测试来测试lambda。 lambda不使用事件消息,因此任何事件消息都将用于 触发lambda。

测试

在提交更改之前,请确保运行测试套件:

tox

python 3兼容性

此工具与python 3.5+兼容。

tox库用于运行多个python版本的测试。要运行这些测试,首先确保所有受支持的python版本都在本地安装。然后,只需运行:

tox

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用ContentExchange设置请求属性   java Spark/Hdfs/Hdfsclient兼容性   java springcloudstreamkafka配置:instanceCount和instanceIndex   Java中web服务序列化日期   java用动态数据替换占位符   java git gc似乎覆盖了一个packfile,留下了一个打开的文件描述符,其中包含对“oldxxx.pack”的引用   为什么Apache项目对Java版本敏感?   java Anylogic帮助如何在导入的3dobject通过输送机上的多个“站”时更改其颜色?   JavaEclipseNeonM2E可以导入一个大型项目,但似乎不能自动解决依赖关系   java@FindBy搜索具有满足条件的子元素的元素   java如何将ActionEvent e与键绑定一起使用?   java转换以集中方式从外部库抛出的异常   java中用户文件/数据文件与系统/程序文件的区别   java使用变量字符串或字符作为对象名   字体使用Java图形操纵字符串中每个字符的形状   JavaFX图表移动数据   java RandomAccessFile:将所有项设置为相同的字节数?   java Google Play inapp Billing onPurchasesUpdated()错误响应代码1   java在不知道属性名和属性数的情况下处理json对象   java是否可以一次从HazelcastInstance(映射和列表)中删除所有数据?