Jump to: navigation, search

Heat/AWS-to-OpenStack-resource-mapping-in-templates

< Heat
Revision as of 21:00, 3 December 2012 by Stevebake (talk)

We want to have non-amazon identifiers for the Heat resource types. These terms would be interchangeable in the template files, e.g. having `AWS::EC2::Instance` or `OS::Nova::Server` would produce the same result.

The original identifiers are in the form of `AWS::<product>::<resource>`. The list tries to use the OpenStack project and resource names where available.

This is the list of proposed names:

    AWS::CloudFormation::Stack => OS::Heat::Stack
    AWS::CloudFormation::WaitCondition => OS::Heat::WaitCondition
    AWS::CloudFormation::WaitConditionHandle => OS::Heat::WaitConditionHandle
    AWS::CloudWatch::Alarm => OS::CloudWatch::Alarm
    AWS::EC2::EIP => OS::Nova::FloatingIP
    AWS::EC2::EIPAssociation => OS::Nova::FloatingIPAssociation
    AWS::EC2::Instance => OS::Nova::Server
    AWS::EC2::SecurityGroup => OS::Nova::SecurityGroup
    AWS::EC2::Volume => OS::Nova::Volume
    AWS::EC2::VolumeAttachment => OS::Nova::VolumeAttachment
    AWS::ElasticLoadBalancing::LoadBalancer => OS::ElasticLoadBalancing::LoadBalancer
    AWS::S3::Bucket => OS::Swift::Container
    AWS::IAM::User => OS::Keystone::User
    AWS::IAM::AccessKey => OS::Keystone::AccessKey
    HEAT::HA::Restarter => OS::Heat::Restarter
    AWS::AutoScaling::LaunchConfiguration => OS::AutoScaling::LaunchConfiguration
    AWS::AutoScaling::AutoScalingGroup => OS::AutoScaling::AutoScalingGroup
    AWS::AutoScaling::ScalingPolicy => OS::AutoScaling::ScalingPolicy
    AWS::RDS::DBInstance => OS::RDS::DBInstance


The mapping of resource types and Heat classes is in:

https://github.com/openstack/heat/blob/master/heat/engine/resources/register.py

Once we settle on the final names, we can just add the new entries into the `_resource_classes` dictionary.