模型:语义云基础设施配置文件格式和对象模型

aim.models的Python项目详细描述


aim.型号

语义云基础设施的对象模型。

aim.models解析组成aim项目的yaml文件目录并加载它们 成为一个完整的对象模型。

模型里有什么?

该模型定义了常见的逻辑云基础设施概念,如网络、帐户、 应用程序和环境。

该模型使用网络和应用程序作为配置的层次树,可以 当它们被放置在环境中时,要让它们的价值观被超越。环境生活在 网络和包含应用程序,通常表示软件开发的阶段 生命周期(SDLC),如"开发"、"准备"和"生产"。

模型有一个声明性架构,该架构显式定义模型中每个对象类型的字段。 此架构不仅声明类型(例如字符串、整数),还可以声明默认值、最小值和最大值, 约束到特定值,并定义不变量,以确保如果一个字段具有特定值,则另一个字段 字段值与此兼容。模型将在加载AIM项目时验证这些字段。

开发

使用您选择的python工具安装这个包。通常设置一个virtualenv pip在其中安装依赖项:

python -m venv env

./env/bin/pip install -e .

有使用pytest的单元测试。如果您使用的是vs代码,则可以打开 "py test enabled"设置并运行"discover unit tests"命令。

aim.models的更改日志

5.0.0(2019-08-26)

添加

  • 新字段aim.models.reference.filereference解析路径并替换 由路径指示的文件值的原始值。 iapigatewayrestapi.body_文件位置使用此新字段。

  • apigatewayrestapi和cloudwatchalarm具有 返回可用于创建对流层资源的新dict。

  • 为ACM添加了外部_资源支持

  • 向administrator iamuserpermission添加了只读支持

更改

  • 多维报警现在需要指定一个aim.ref作为值。

  • 添加了IAM用户架构并为IAM用户加载。

  • 添加了comma list()模式类型,用于将逗号分隔的列表加载到schema.list()

  • 将目标参考生成移动到模型中。模型对象现在有.aim参考和 .aim参考包含其aim.ref参考的部件属性。

已修复

  • 未检查不变量的资源。不变量需要由 加载程序(如果它们不包含在zope.schema.object字段中),该字段将运行 检查幕后。

更改

  • 将project['ne']重命名为project['netenv']

  • 将NATGateway段修改为AIM引用

4.0.0(2019-08-21)

添加

  • 已将ivpPeering和ivpPeeringRoute添加到VPC对等支持模型中。

  • 添加了在resources/cloudtrail.yaml中配置的cloudtrail模式

  • IS3BucketPolicy现在有principalcondition字段。 principal可以是键值字典,其中键可以是"aws"、"service"等。 值可以是字符串或列表。它是aws字段的替代项,它将 保留以设置更简单的仅限aws的主体。 条件字段是键值筛选器的键值字典。

  • Alarm现在有"获取报警操作"和"获取报警描述"来帮助构建报警。

  • cloudtrail有一个"get_accounts",它将把cloudtrail.accounts字段解析为一个列表 模型中帐户对象的数目。

  • iAlarm具有说明运行库ook_url字段。

  • 函数覆盖了更广泛的ref查找范围

  • 在模型中添加了vpcpeering。

  • 在模型中添加了IElasticache和IElasticacheredis。

更改

  • monitorconfig/logsets.yaml已重命名为monitorconfig/logging.yaml。云表 日志记录在顶级cw_logging键下。该架构已完全重写 以便正确建模日志组和日志集。

  • iaccount.region、iec2keypair.region和icredentials.aws_default_region不再具有 US-WEST-2作为默认值。区域需要明确设置。

已修复

  • IAlarm.classification现在是必需字段。

3.1.0(2019-08-08)

添加

  • 根目录中的aim-project-version.txt文件现在可以包含aim项目yaml 版本。iproject现在有一个aim_project_version字段来存储此值。

  • icloudwatchalarm获取命名空间字段。可用于覆盖默认值 例如,资源命名空间使用'cwagent'作为CloudWatch代理度量。

  • IResource现在有一个资源全名字段。全名是 指定CloudWatch警报中的度量。

  • iCloudWatchAlarm现在有一个维度字段,它是维度对象的列表。

  • ITargetGroup现在从IResource继承。它从输出加载资源名。

3.0.0(2019-08-06)

添加

  • 新的monitorconfig/notificationgroups.yaml包含通知订阅组。

  • lambda的sdb_缓存字段。

  • lambda可以有警报。

  • isnstopic和isnstopics订阅模型sns。

更改

  • 为了保持一致性,所有引用都已重命名为以aim.ref开头。

  • 警报集、警报集和警报现在都已启用 可在模型中定位

  • 服务插件可以加载其输出

2.0.0(2019-07-23)

添加

  • 订阅报警通知的架构

  • 为resources/s3.yml配置添加了s3resource

  • 添加了lambda resolve参考支持

更改

  • 服务作为入口点插件加载,名为aim.services

  • 重构模型、应用程序、资源和服务。

  • 将iroute53重命名为iroute53资源。

已修复

  • CloudWatchAlarms现在验证分类字段值 提供"性能"、"运行状况"或"安全性"。

1.1.0(2019-07-06)

添加

  • 添加了function.ref以便能够查找最新的AMI ID

  • 为架构添加了更多约束。

  • 已将默认值添加到is3bucket.policy

  • 将路径53添加到模式和模型中

  • 在alb中添加重定向到listner规则

更改

  • 字段的描述属性现在用于描述约束。

  • 将codecommit移植到schema和model

  • 重构s3以使用application stackgroup

  • cpbd工件s3 bucket现在在netenv yaml中使用s3资源

  • 将ALB的侦听器和侦听器规则转换为列表中的听写

删除

  • 从aimdemo的fixtures下删除了未使用的yaml配置。

1.0.1(2019-06-19)

  • 对python打包元数据的改进。

1.0.0(2019-06-19)

  • 第一个开源版本

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

推荐PyPI第三方库


热门话题
java类。getConstructor找不到兼容的构造函数   java单元测试自定义输入和输出格式   javascript Java UI线程内存不足错误被阻止   多线程在Java并发API中从线程池中选择线程的逻辑是什么?   java在MySQL数据库上存储歌曲(BLOb支持)   java快速且可扩展的IO传递   jsf c:forEach-inside-primeface(例如p:panelgrid)inside-ui:repeat   tomcat与JavaServlet3.0文件上传,如何获取maxfilesize值   java JNI,加载2次相同的dll(不同的名称),如何选择使用哪一个?   java将InputStream复制到OutputStream将停止,除非我也向系统写入。出来   java Set反向安全约束   比如在java中使用整数时?   java使用@接口抑制IntelliJ中的某些警告   java我的ASCII艺术在JLabel上是错误的   JavaSpring工具源代码(或带有SpringIde的Eclipse)崩溃   向片段添加ListView时出现java错误   循环Java循环错误需要重新审视   JavaAspectJ:匹配GenericServlet。带注释子类实例的init()调用