光子晶体光纤

pcf的Python项目详细描述


Build StatusBuild StatusLicencePyPi VersionSupported Python Versions

粒子云框架

粒子云框架是一个完全可定制和扩展的云资源供应框架,可通过代码调用,不需要手动维护资源状态。粒子云框架能够标准化建模分层云基础设施、自动化部署和管理云资源的生命周期。

文档

Docs包括快速启动和开发人员指南

安装

要安装粒子云框架,请打开一个交互式外壳并运行:

pip install pcf

导入并使用PCF粒子

首先导入要使用的粒子。这些可以是核心粒子,也可以是您创建的自定义粒子。 如果需要创建配置的帮助,请参阅示例。

from pcf.core.ec2.ec2_instance import EC2Instance

接下来,我们需要将所需的状态定义传递给粒子。

    ec2_example_definition = {
        "pcf_name": "ec2_example",
        "flavor":"ec2",
        "aws_resource": {
            "ImageId": "ami-xxxxx",
            "InstanceType": "t2.micro",
            "KeyName": "secret-key-xxx",
            "SecurityGroupIds": [
              "sg-xxxxxx",
            ],
            "SubnetId": "subnet-xxx",
            "userdata_template_file": "userdata-script-xxxxx.sh",
            "userdata_params": {},
            "IamInstanceProfile": {
              "Arn": "arn:aws:iam::xxxxxxxxx"
            },
            "InstanceInitiatedShutdownBehavior": "stop",
            "tags": {
              "NAME":"Value"
            },
            "BlockDeviceMappings": [
              {
                "DeviceName": "/dev/sda1",
                "Ebs": {
                  "DeleteOnTermination": true,
                  "VolumeSize": 20,
                  "VolumeType": "gp2"
                }
              }
            ]
          }
    }

现在要使用pcf启动ec2实例,只需初始化粒子并将所需状态设置为running和apply。

    particle = EC2Instance(ec2_example_definition)

    particle.set_desired_state('running')
    particle.apply()

若要终止,只需将所需状态更改为“终止并应用”。

    particle.set_desired_state('terminated')
    particle.apply()

发布内容

Just in Time Cloud Infrastructure: Redefining the Relationship Between Applications and Cloud Infrastructure

支持的云服务

Particles

Quasiparticles

开发设置

要在本地开发,请克隆此项目并确保通过pipconda全局安装了invoke包:

$ pip install invoke

$ conda install invoke

然后可以通过invokecli使用tasks.py中定义的项目管理任务:

$ invoke --list
Available tasks:

  build      Build PCF with the PCF_TAG value given or the VERSION in pcf/__init__.py
  docs-add   Run sphinx-apidoc on pcf and pcf/test
  lint       Run pylint on pcf directory
  publish    Publish package to Pypi
  setup      Setup a virtualenv, activate it, and install requirements
  test       Run pytest on pcf directory, generating a coverage report

$ invoke setup && source venv/bin/activate
$ invoke test

路线图

Roadmap

贡献者

我们欢迎您对Capital One的开源项目(the “项目”)。项目的任何参与者都必须接受并签署 表示同意以下许可条款的协议。除了 本协议授予Capital One和接收方的许可 对于Capital One发行的软件,您保留所有权利,所有权, 以及对您的贡献的兴趣;本协议不 影响您将自己的捐款用于任何其他目的的权利。

Sign the Individual Agreement

Sign the Corporate Agreement

行为准则

这个项目遵循Open Code of Conduct 通过参与,你是 希望遵守这个准则。

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

推荐PyPI第三方库


热门话题
java如何格式化servlet响应以生成HTML中“accept”参数可接受的媒体类型?   java如何使用JasperReports为单个报表传递多个结果集?   EclipseVBA到JAVA链接   java如何为Gradle中的不同配置配置PMD规则集?   在给出正确答案之前,是否要求回答?Java Eclipse   java查询SearchView崩溃(尝试实现SearchView操作栏)   java为什么跳过我的IF语句?   java循环以获取与输入值最接近的对象   java默认构造函数真正做什么?   java我需要测试类中的测试方法吗   java如何在代码中滚动滚动窗格?   java我需要获得发布和调试证书指纹的帮助   javascript如何在JS中取消Java“DES/CBC/PKCS5Padding”?