troposphere

troposphere - Python library to create AWS CloudFormation descriptions

Github星跟蹤圖

===========
troposphere

.. image:: https://img.shields.io/pypi/v/troposphere.svg
:target: https://pypi.python.org/pypi/troposphere
:alt: PyPI Version

.. image:: https://travis-ci.org/cloudtools/troposphere.svg?branch=master
:target: https://travis-ci.org/cloudtools/troposphere
:alt: Build Status

.. image:: https://img.shields.io/pypi/l/troposphere.svg
:target: https://opensource.org/licenses/BSD-2-Clause
:alt: license: New BSD license

.. image:: https://readthedocs.org/projects/troposphere/badge/?version=latest
:target: https://troposphere.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status

About

troposphere - library to create AWS CloudFormation_ descriptions

The troposphere library allows for easier creation of the AWS CloudFormation JSON_ by writing Python code to describe the AWS resources. troposphere also
includes some basic support for OpenStack resources_ via Heat.

To facilitate catching CloudFormation or JSON errors early the library has
property and type checking built into the classes.

Installation

troposphere can be installed using the pip distribution system for Python by
issuing:

.. code:: sh

$ pip install troposphere

To install troposphere with awacs <https://github.com/cloudtools/awacs>_
(recommended soft dependency):

.. code:: sh

$ pip install troposphere[policy]

Alternatively, you can run use setup.py to install by cloning this repository
and issuing:

.. code:: sh

$ python setup.py install  # you may need sudo depending on your python installation

Examples

A simple example to create an instance would look like this:

.. code:: python

>>> from troposphere import Ref, Template
>>> import troposphere.ec2 as ec2
>>> t = Template()
>>> instance = ec2.Instance("myinstance")
>>> instance.ImageId = "ami-951945d0"
>>> instance.InstanceType = "t1.micro"
>>> t.add_resource(instance)
<troposphere.ec2.Instance object at 0x101bf3390>
>>> print(t.to_json())
{
    "Resources": {
        "myinstance": {
            "Properties": {
                "ImageId": "ami-951945d0",
                "InstanceType": "t1.micro"
            },
            "Type": "AWS::EC2::Instance"
        }
    }
}
>>> print(t.to_yaml())
Resources:
    myinstance:
        Properties:
            ImageId: ami-951945d0
            InstanceType: t1.micro
        Type: AWS::EC2::Instance

Alternatively, parameters can be used instead of properties:

.. code:: python

>>> instance = ec2.Instance("myinstance", ImageId="ami-951945d0", InstanceType="t1.micro")
>>> t.add_resource(instance)
<troposphere.ec2.Instance object at 0x101bf3550>

And add_resource() returns the object to make it easy to use with Ref():

.. code:: python

>>> instance = t.add_resource(ec2.Instance("myinstance", ImageId="ami-951945d0", InstanceType="t1.micro"))
>>> Ref(instance)
<troposphere.Ref object at 0x101bf3490>

Examples of the error checking (full tracebacks removed for clarity):

Incorrect property being set on AWS resource:

.. code:: python

>>> import troposphere.ec2 as ec2
>>> ec2.Instance("ec2instance", image="i-XXXX")
Traceback (most recent call last):
...
AttributeError: AWS::EC2::Instance object does not support attribute image

Incorrect type for AWS resource property:

.. code:: python

>>> ec2.Instance("ec2instance", ImageId=1)
Traceback (most recent call last):
...
TypeError: ImageId is <type 'int'>, expected <type 'basestring'>

Missing required property for the AWS resource:

.. code:: python

>>> from troposphere import Template
>>> import troposphere.ec2 as ec2
>>> t = Template()
>>> t.add_resource(ec2.Instance("ec2instance", InstanceType="m3.medium"))
<troposphere.ec2.Instance object at 0x109ee2e50>
>>> print(t.to_json())
Traceback (most recent call last):
...
ValueError: Resource ImageId required in type AWS::EC2::Instance

Currently supported AWS resource types

  • AWS::AccessAnalyzer_
  • AWS::AmazonMQ_
  • AWS::Amplify_
  • AWS::ApiGateway_
  • AWS::ApiGatewayV2_
  • AWS::AppMesh_
  • AWS::AppStream_
  • AWS::AppSync_
  • AWS::ApplicationAutoScaling_
  • AWS::Athena_
  • AWS::AutoScaling_
  • AWS::AutoScalingPlans_
  • AWS::Batch_
  • AWS::Budgets_
  • AWS::CertificateManager_
  • AWS::Cloud9_
  • AWS::CloudFormation_
  • AWS::CloudFront_
  • AWS::CloudTrail_
  • AWS::CloudWatch_
  • AWS::CodeBuild_
  • AWS::CodeCommit_
  • AWS::CodeDeploy_
  • AWS::CodePipeline_
  • AWS::CodeStar_
  • AWS::CodeStarNotifications_
  • AWS::Cognito_
  • AWS::Config_
  • AWS::DAX_
  • AWS::DLM_
  • AWS::DMS_
  • AWS::DataPipeline_
  • AWS::DirectoryService_
  • AWS::DocDB_
  • AWS::DynamoDB_
  • AWS::EC2_
  • AWS::ECR_
  • AWS::ECS_
  • AWS::EFS_
  • AWS::EKS_
  • AWS::EMR_
  • AWS::ElastiCache_
  • AWS::ElasticBeanstalk_
  • AWS::ElasticLoadBalancing_
  • AWS::ElasticLoadBalancingV2_
  • AWS::Elasticsearch_
  • AWS::Events_
  • AWS::EventSchemas_
  • AWS::FSx_
  • AWS::GameLift_
  • AWS::Glue_
  • AWS::Greengrass_
  • AWS::GuardDuty_
  • AWS::IAM_
  • AWS::Inspector_
  • AWS::IoT_
  • AWS::IoT1Click_
  • AWS::IoTAnalytics_
  • AWS::IoTEvents_
  • AWS::KMS_
  • AWS::Kinesis_
  • AWS::KinesisAnalytics_
  • AWS::KinesisAnalyticsV2_
  • AWS::KinesisFirehose_
  • AWS::LakeFormation_
  • AWS::Lambda_
  • AWS::Logs_
  • AWS::ManagedBlockchain_
  • AWS::MediaConvert_
  • AWS::MediaLive_
  • AWS::MediaStore_
  • AWS::MSK_
  • AWS::Neptune_
  • AWS::OpsWorks_
  • AWS::OpsWorksCM_
  • AWS::Pinpoint_
  • AWS::PinpointEmail_
  • AWS::QLDB_
  • AWS::RAM_
  • AWS::RDS_
  • AWS::Redshift_
  • AWS::RoboMaker_
  • AWS::Route53_
  • AWS::Route53Resolver_
  • AWS::S3_
  • AWS::SDB_
  • AWS::SES_
  • AWS::SNS_
  • AWS::SQS_
  • AWS::SSM_
  • AWS::SageMaker_
  • AWS::SecretsManager_
  • AWS::SecurityHub_
  • AWS::Serverless_
  • AWS::ServiceCatalog_
  • AWS::ServiceDiscovery_
  • AWS::StepFunctions_
  • AWS::Transfer_
  • AWS::WAF_
  • AWS::WAFRegional_
  • AWS::WAFv2_
  • AWS::WorkSpaces_

Currently supported OpenStack resource types

  • OS::Neutron::Firewall_
  • OS::Neutron::FirewallPolicy_
  • OS::Neutron::FirewallRule_
  • OS::Neutron::FloatingIP_
  • OS::Neutron::FloatingIPAssociation_
  • OS::Neutron::HealthMonitor
  • OS::Neutron::Pool
  • OS::Neutron::LoadBalancer
  • OS::Neutron::Net_
  • OS::Neutron::PoolMember
  • OS::Neutron::Port_
  • OS::Neutron::SecurityGroup_
  • OS::Nova::FloatingIP
  • OS::Nova::FloatingIPAssociation
  • OS::Nova::KeyPair_
  • OS::Nova::Server_

Duplicating a single instance sample would look like this

.. code:: python

# Converted from EC2InstanceSample.template located at:
# http://aws.amazon.com/cloudformation/aws-cloudformation-templates/

from troposphere import Base64, FindInMap, GetAtt
from troposphere import Parameter, Output, Ref, Template
import troposphere.ec2 as ec2


template = Template()

keyname_param = template.add_parameter(Parameter(
    "KeyName",
    Description="Name of an existing EC2 KeyPair to enable SSH "
                "access to the instance",
    Type="String",
))

template.add_mapping('RegionMap', {
    "us-east-1":      {"AMI": "ami-7f418316"},
    "us-west-1":      {"AMI": "ami-951945d0"},
    "us-west-2":      {"AMI": "ami-16fd7026"},
    "eu-west-1":      {"AMI": "ami-24506250"},
    "sa-east-1":      {"AMI": "ami-3e3be423"},
    "ap-southeast-1": {"AMI": "ami-74dda626"},
    "ap-northeast-1": {"AMI": "ami-dcfa4edd"}
})

ec2_instance = template.add_resource(ec2.Instance(
    "Ec2Instance",
    ImageId=FindInMap("RegionMap", Ref("AWS::Region"), "AMI"),
    InstanceType="t1.micro",
    KeyName=Ref(keyname_param),
    SecurityGroups=["default"],
    UserData=Base64("80")
))

template.add_output([
    Output(
        "InstanceId",
        Description="InstanceId of the newly created EC2 instance",
        Value=Ref(ec2_instance),
    ),
    Output(
        "AZ",
        Description="Availability Zone of the newly created EC2 instance",
        Value=GetAtt(ec2_instance, "AvailabilityZone"),
    ),
    Output(
        "PublicIP",
        Description="Public IP address of the newly created EC2 instance",
        Value=GetAtt(ec2_instance, "PublicIp"),
    ),
    Output(
        "PrivateIP",
        Description="Private IP address of the newly created EC2 instance",
        Value=GetAtt(ec2_instance, "PrivateIp"),
    ),
    Output(
        "PublicDNS",
        Description="Public DNSName of the newly created EC2 instance",
        Value=GetAtt(ec2_instance, "PublicDnsName"),
    ),
    Output(
        "PrivateDNS",
        Description="Private DNSName of the newly created EC2 instance",
        Value=GetAtt(ec2_instance, "PrivateDnsName"),
    ),
])

print(template.to_json())

Community

We have a Google Group, cloudtools-dev_, where you can ask questions and
engage with the troposphere community. Issues and pull requests are always
welcome!

Licensing

troposphere is licensed under the BSD 2-Clause license.
See LICENSE
for the troposphere full license text.

.. _AWS CloudFormation: http://aws.amazon.com/cloudformation
.. _AWS CloudFormation JSON: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html
.. _OpenStack resources: http://docs.openstack.org/developer/heat/template_guide/openstack.html
.. _cloudtools-dev: https://groups.google.com/forum/#!forum/cloudtools-dev
.. _LICENSE: https://github.com/cloudtools/troposphere/blob/master/LICENSE
.. _BSD 2-Clause license: http://opensource.org/licenses/BSD-2-Clause

.. _AWS::AccessAnalyzer: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_AccessAnalyzer.html
.. _AWS::AmazonMQ: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_AmazonMQ.html
.. _AWS::Amplify: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Amplify.html
.. _AWS::ApiGateway: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ApiGateway.html
.. _AWS::ApiGatewayV2: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ApiGatewayV2.html
.. _AWS::AppMesh: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_AppMesh.html
.. _AWS::AppStream: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_AppStream.html
.. _AWS::AppSync: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_AppSync.html
.. _AWS::ApplicationAutoScaling: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ApplicationAutoScaling.html
.. _AWS::Athena: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Athena.html
.. _AWS::AutoScaling: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_AutoScaling.html
.. _AWS::AutoScalingPlans: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_AutoScalingPlans.html
.. _AWS::Batch: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Batch.html
.. _AWS::Budgets: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Budgets.html
.. _AWS::CertificateManager: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_CertificateManager.html
.. _AWS::Cloud9: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Cloud9.html
.. _AWS::CloudFormation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_CloudFormation.html
.. _AWS::CloudFront: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_CloudFront.html
.. _AWS::CloudTrail: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_CloudTrail.html
.. _AWS::CloudWatch: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_CloudWatch.html
.. _AWS::CodeBuild: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_CodeBuild.html
.. _AWS::CodeCommit: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_CodeCommit.html
.. _AWS::CodeDeploy: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_CodeDeploy.html
.. _AWS::CodePipeline: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_CodePipeline.html
.. _AWS::CodeStarNotifications: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_CodeStarNotifications.html
.. _AWS::CodeStar: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_CodeStar.html
.. _AWS::Cognito: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Cognito.html
.. _AWS::Config: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Config.html
.. _AWS::DAX: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_DAX.html
.. _AWS::DLM: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_DLM.html
.. _AWS::DMS: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_DMS.html
.. _AWS::DataPipeline: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_DataPipeline.html
.. _AWS::DirectoryService: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_DirectoryService.html
.. _AWS::DocDB: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_DocDB.html
.. _AWS::DynamoDB: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_DynamoDB.html
.. _AWS::EC2: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_EC2.html
.. _AWS::ECR: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ECR.html
.. _AWS::ECS: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ECS.html
.. _AWS::EFS: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_EFS.html
.. _AWS::EKS: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_EKS.html
.. _AWS::EMR: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_EMR.html
.. _AWS::ElastiCache: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ElastiCache.html
.. _AWS::ElasticBeanstalk: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ElasticBeanstalk.html
.. _AWS::ElasticLoadBalancing: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ElasticLoadBalancing.html
.. _AWS::ElasticLoadBalancingV2: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ElasticLoadBalancingV2.html
.. _AWS::Elasticsearch: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Elasticsearch.html
.. _AWS::Events: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Events.html
.. _AWS::EventSchemas: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_EventSchemas.html
.. _AWS::FSx: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_FSx.html
.. _AWS::GameLift: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_GameLift.html
.. _AWS::Glue: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Glue.html
.. _AWS::Greengrass: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Greengrass.html
.. _AWS::GuardDuty: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_GuardDuty.html
.. _AWS::IAM: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_IAM.html
.. _AWS::Inspector: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Inspector.html
.. _AWS::IoT: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_IoT.html
.. _AWS::IoT1Click: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_IoT1Click.html
.. _AWS::IoTAnalytics: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_IoTAnalytics.html
.. _AWS::IoTEvents: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_IoTEvents.html
.. _AWS::KMS: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_KMS.html
.. _AWS::Kinesis: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Kinesis.html
.. _AWS::KinesisAnalytics: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_KinesisAnalytics.html
.. _AWS::KinesisAnalyticsV2: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_KinesisAnalyticsV2.html
.. _AWS::KinesisFirehose: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_KinesisFirehose.html
.. _AWS::LakeFormation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_LakeFormation.html
.. _AWS::Lambda: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Lambda.html
.. _AWS::Logs: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Logs.html
.. _AWS::ManagedBlockchain: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ManagedBlockchain.html
.. _AWS::MediaConvert: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_MediaConvert.html
.. _AWS::MediaLive: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_MediaLive.html
.. _AWS::MediaStore: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_MediaStore.html
.. _AWS::MSK: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_MSK.html
.. _AWS::Neptune: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Neptune.html
.. _AWS::OpsWorks: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_OpsWorks.html
.. _AWS::OpsWorksCM: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_OpsWorksCM.html
.. _AWS::Pinpoint: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Pinpoint.html
.. _AWS::PinpointEmail: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_PinpointEmail.html
.. _AWS::QLDB: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_QLDB.html
.. _AWS::RAM: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_RAM.html
.. _AWS::RDS: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_RDS.html
.. _AWS::Redshift: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Redshift.html
.. _AWS::RoboMaker: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_RoboMaker.html
.. _AWS::Route53: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Route53.html
.. _AWS::Route53Resolver: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Route53Resolver.html
.. _AWS::S3: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_S3.html
.. _AWS::SDB: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_SDB.html
.. _AWS::SES: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_SES.html
.. _AWS::SNS: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_SNS.html
.. _AWS::SQS: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_SQS.html
.. _AWS::SSM: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_SSM.html
.. _AWS::SageMaker: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_SageMaker.html
.. _AWS::SecretsManager: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_SecretsManager.html
.. _AWS::SecurityHub: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_SecurityHub.html
.. _AWS::Serverless: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-specification-resources-and-properties.html
.. _AWS::ServiceCatalog: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ServiceCatalog.html
.. _AWS::ServiceDiscovery: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ServiceDiscovery.html
.. _AWS::StepFunctions: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_StepFunctions.html
.. _AWS::Transfer: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Transfer.html
.. _AWS::WAF: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_WAF.html
.. _AWS::WAFRegional: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_WAFRegional.html
.. _AWS::WAFv2: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_WAFv2.html
.. _AWS::WorkSpaces: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_WorkSpaces.html

.. _OS::Neutron::Firewall: https://docs.openstack.org/heat/latest/template_guide/openstack.html#OS::Neutron::Firewall
.. _OS::Neutron::FirewallPolicy: https://docs.openstack.org/heat/latest/template_guide/openstack.html#OS::Neutron::FirewallPolicy
.. _OS::Neutron::FirewallRule: https://docs.openstack.org/heat/latest/template_guide/openstack.html#OS::Neutron::FirewallRule
.. _OS::Neutron::FloatingIP: https://docs.openstack.org/heat/latest/template_guide/openstack.html#OS::Neutron::FloatingIP
.. _OS::Neutron::FloatingIPAssociation: https://docs.openstack.org/heat/latest/template_guide/openstack.html#OS::Neutron::FloatingIPAssociation
.. _OS::Neutron::Net: https://docs.openstack.org/heat/latest/template_guide/openstack.html#OS::Neutron::Net
.. _OS::Neutron::Port: https://docs.openstack.org/heat/latest/template_guide/openstack.html#OS::Neutron::Port
.. _OS::Neutron::SecurityGroup: https://docs.openstack.org/heat/latest/template_guide/openstack.html#OS::Neutron::SecurityGroup
.. _OS::Nova::KeyPair: https://docs.openstack.org/heat/latest/template_guide/openstack.html#OS::Nova::KeyPair
.. _OS::Nova::Server: https://docs.openstack.org/heat/latest/template_guide/openstack.html#OS::Nova::Server

主要指標

概覽
名稱與所有者cloudtools/troposphere
主編程語言Python
編程語言Python (語言數: 3)
平台
許可證BSD 2-Clause "Simplified" License
所有者活动
創建於2012-12-12 21:19:46
推送於2025-04-17 17:59:39
最后一次提交
發布數106
最新版本名稱4.9.2 (發布於 2025-04-17 10:57:27)
第一版名稱0.1.2 (發布於 2013-02-26 08:09:20)
用户参与
星數4.9k
關注者數165
派生數1.4k
提交數3.2k
已啟用問題?
問題數927
打開的問題數144
拉請求數1110
打開的拉請求數20
關閉的拉請求數239
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?