cloud_former 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cloud_former/resource_properties/ec2/block_device_mapping.rb +11 -0
  3. data/lib/cloud_former/resource_properties/ec2/ebs_block_device.rb +12 -0
  4. data/lib/cloud_former/resource_properties/ec2/icmp.rb +9 -0
  5. data/lib/cloud_former/resource_properties/ec2/mount_point.rb +9 -0
  6. data/lib/cloud_former/resource_properties/ec2/network_interface_embedded.rb +17 -0
  7. data/lib/cloud_former/resource_properties/ec2/port_range.rb +9 -0
  8. data/lib/cloud_former/resource_properties/ec2/private_ip_address_specification.rb +9 -0
  9. data/lib/cloud_former/resource_properties/ec2/tag.rb +9 -0
  10. data/lib/cloud_former/resource_properties/rds/security_group_rule.rb +11 -0
  11. data/lib/cloud_former/resources/ec2/customer_gateway.rb +14 -0
  12. data/lib/cloud_former/resources/ec2/dhcp_options.rb +16 -0
  13. data/lib/cloud_former/resources/ec2/eip.rb +9 -0
  14. data/lib/cloud_former/resources/ec2/eip_association.rb +12 -0
  15. data/lib/cloud_former/resources/ec2/instance.rb +30 -0
  16. data/lib/cloud_former/resources/ec2/internet_gateway.rb +8 -0
  17. data/lib/cloud_former/resources/ec2/network_acl.rb +9 -0
  18. data/lib/cloud_former/resources/ec2/network_acl_entry.rb +15 -0
  19. data/lib/cloud_former/resources/ec2/network_interface.rb +15 -0
  20. data/lib/cloud_former/resources/ec2/network_interface_attachment.rb +11 -0
  21. data/lib/cloud_former/resources/ec2/route.rb +13 -0
  22. data/lib/cloud_former/resources/ec2/route_table.rb +9 -0
  23. data/lib/cloud_former/resources/ec2/subnet.rb +11 -0
  24. data/lib/cloud_former/resources/ec2/subnet_network_acl_association.rb +9 -0
  25. data/lib/cloud_former/resources/ec2/subnet_route_table_association.rb +9 -0
  26. data/lib/cloud_former/resources/ec2/volume.rb +14 -0
  27. data/lib/cloud_former/resources/ec2/volume_attachment.rb +10 -0
  28. data/lib/cloud_former/resources/ec2/vpc.rb +12 -0
  29. data/lib/cloud_former/resources/ec2/vpc_dhcp_options_association.rb +9 -0
  30. data/lib/cloud_former/resources/ec2/vpc_gateway_attachment.rb +10 -0
  31. data/lib/cloud_former/resources/ec2/vpc_peering_connection.rb +10 -0
  32. data/lib/cloud_former/resources/ec2/vpn_connection.rb +12 -0
  33. data/lib/cloud_former/resources/ec2/vpn_connection_route.rb +9 -0
  34. data/lib/cloud_former/resources/ec2/vpn_gateway.rb +9 -0
  35. data/lib/cloud_former/resources/ec2/vpn_gateway_route_propagation.rb +9 -0
  36. data/lib/cloud_former/resources/elasti_cache/cache_cluster.rb +22 -0
  37. data/lib/cloud_former/resources/elasti_cache/parameter_group.rb +10 -0
  38. data/lib/cloud_former/resources/elasti_cache/security_group.rb +8 -0
  39. data/lib/cloud_former/resources/elasti_cache/security_group_ingress.rb +10 -0
  40. data/lib/cloud_former/resources/elasti_cache/subnet_group.rb +9 -0
  41. data/lib/cloud_former/resources/rds/db_instance.rb +32 -0
  42. data/lib/cloud_former/resources/rds/db_parameter_group.rb +11 -0
  43. data/lib/cloud_former/resources/rds/db_security_group.rb +11 -0
  44. data/lib/cloud_former/resources/rds/db_subnet_group.rb +10 -0
  45. data/lib/cloud_former/version.rb +1 -1
  46. data/lib/cloud_former.rb +49 -0
  47. metadata +45 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d408999d0a1f6006fb6b712b2d97303200f1b04e
4
- data.tar.gz: 4314d3bc196854be11d68f6482156038c17b38b2
3
+ metadata.gz: 223c324524a7987d39dc762e892a5ad7044e2f93
4
+ data.tar.gz: 6e08fe3e7b3533479d74bdd23fa6a5f3b4c83959
5
5
  SHA512:
6
- metadata.gz: 11f9ad101ef463bb127b4e119a266b87c6d09848f7246d5dfb696b24ef86e7ef34984df2bb9887b6e5bd8b444e2800239c9ad70b7cf98e8aad5ceb51edf34fd4
7
- data.tar.gz: 883b1c471a76a1004da38b63f5e59638c78e85b8af2dd2bcdc0df40dc8570d788abf76737a01c641cf212d8fb385598aa1b6d82a23bfc4c3237f191a033eea3b
6
+ metadata.gz: c29292f1a7fac77a065e3063de907c96215cd295aee16da910008688d68ca65008a542cceea2fc16241a842a483c389f91ca7c29ce379d169e97e9299f5efa79
7
+ data.tar.gz: 7d5c5192f849b30ec5d4e4ef28b5b682840fef4a902fdc84a5a2d9fbdef42e83391d69d1a141e07b64a5945837c880531aa9c1aaba7e14bcf9f57c8eb0a82e06
@@ -0,0 +1,11 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html
2
+ module CloudFormer
3
+ module EC2
4
+ class BlockDeviceMapping < ResourceProperty
5
+ aws_attribute :device_name, type: String
6
+ aws_attribute :ebs, type: EBSBlockDevice
7
+ aws_attribute :no_device, type: Hash
8
+ aws_attribute :virtual_name, type: String
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html
2
+ module CloudFormer
3
+ module EC2
4
+ class EBSBlockDevice < ResourceProperty
5
+ aws_attribute :delete_on_termination, type: Boolean
6
+ aws_attribute :iops, type: Integer
7
+ aws_attribute :snapshot_id, type: String
8
+ aws_attribute :volume_size, type: String
9
+ aws_attribute :volume_type, type: String
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,9 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-icmp.html
2
+ module CloudFormer
3
+ module EC2
4
+ class ICMP < ResourceProperty
5
+ aws_attribute :code, type: Integer
6
+ aws_attribute :type, type: Integer
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-mount-point.html
2
+ module CloudFormer
3
+ module EC2
4
+ class MountPoint < ResourceProperty
5
+ aws_attribute :device, type: String
6
+ aws_attribute :volume_id, type: String
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,17 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html
2
+ module CloudFormer
3
+ module EC2
4
+ class NetworkInterfaceEmbedded < ResourceProperty
5
+ aws_attribute :associate_public_ip_address, type: Boolean
6
+ aws_attribute :delete_on_termination, type: Boolean
7
+ aws_attribute :description, type: String
8
+ aws_attribute :device_index, type: String
9
+ aws_attribute :group_set, list: true, type: String
10
+ aws_attribute :network_interface_id, type: String
11
+ aws_attribute :private_ip_address, type: String
12
+ aws_attribute :private_ip_addresses, list: true, embed: true, type: PrivateIpAddressSpecification
13
+ aws_attribute :secondary_private_ip_address_count, type: Integer
14
+ aws_attribute :subnet_id, type: String
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,9 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-port-range.html
2
+ module CloudFormer
3
+ module EC2
4
+ class PortRange < ResourceProperty
5
+ aws_attribute :from, type: Integer
6
+ aws_attribute :to, type: Integer
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html
2
+ module CloudFormer
3
+ module EC2
4
+ class PrivateIpAddressSpecification < ResourceProperty
5
+ aws_attribute :private_ip_address, type: String
6
+ aws_attribute :primary, type: Boolean
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-tags.html
2
+ module CloudFormer
3
+ module EC2
4
+ class Tag < ResourceProperty
5
+ aws_attribute :key, type: String
6
+ aws_attribute :value, type: String
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,11 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group-rule.html
2
+ module CloudFormer
3
+ module RDS
4
+ class SecurityGroupRule < ResourceProperty
5
+ aws_attribute :cidr_ip, type: String
6
+ aws_attribute :ec2_security_group_id, name: 'EC2SecurityGroupId', type: String
7
+ aws_attribute :ec2_security_group_name, name: 'EC2SecurityGroupName', type: String
8
+ aws_attribute :ec2_security_group_owner_id, name: 'EC2SecurityGroupOwnerId', type: String
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,14 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customer-gateway.html
2
+ module CloudFormer
3
+ module EC2
4
+ class CustomerGateway < Resource
5
+ aws_property :bgp_asn, type: Integer
6
+ aws_property :ip_address, type: String
7
+ aws_property :tags,
8
+ embed: true,
9
+ list: true,
10
+ type: CloudFormation::ResourceTag
11
+ aws_property :type, type: String
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,16 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html
2
+ module CloudFormer
3
+ module EC2
4
+ class DHCPOptions < Resource
5
+ aws_property :domain_name, type: String
6
+ aws_property :domain_name_servers, list: true, type: String
7
+ aws_property :netbios_name_servers, list: true, type: String
8
+ aws_property :netbios_node_type, type: Integer
9
+ aws_property :ntp_servers, list: true, type: String
10
+ aws_property :tags,
11
+ embed: true,
12
+ list: true,
13
+ type: EC2::Tag
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,9 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html
2
+ module CloudFormer
3
+ module EC2
4
+ class EIP < Resource
5
+ aws_property :instance_id, type: String
6
+ aws_property :domain, type: String
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,12 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip-association.html
2
+ module CloudFormer
3
+ module EC2
4
+ class EIPAssociation < Resource
5
+ aws_property :allocation_id, type: String
6
+ aws_property :eip, name: 'EIP', type: String
7
+ aws_property :instance_id, type: String
8
+ aws_property :network_interface_id, type: String
9
+ aws_property :private_ip_address, type: String
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,30 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html
2
+ module CloudFormer
3
+ module EC2
4
+ class Instance < Resource
5
+ aws_property :availability_zone, type: String
6
+ aws_property :block_device_mappings, list: true, embed: true, type: BlockDeviceMapping
7
+ aws_property :disable_api_termination, type: Boolean
8
+ aws_property :ebs_optimized, type: Boolean
9
+ aws_property :iam_instance_profile, type: String
10
+ aws_property :image_id, type: String
11
+ aws_property :instance_initiated_shutdown_behavior, type: String
12
+ aws_property :instance_type, type: String
13
+ aws_property :kernel_id, type: String
14
+ aws_property :key_name, type: String
15
+ aws_property :monitoring, type: Boolean
16
+ aws_property :network_interfaces, list: true, embed: true, type: NetworkInterfaceEmbedded
17
+ aws_property :placement_group_name, type: String
18
+ aws_property :private_ip_address, type: String
19
+ aws_property :ramdisk_id, type: String
20
+ aws_property :security_group_ids, list: true, type: String
21
+ aws_property :security_groups, list: true, type: String
22
+ aws_property :source_dest_check, type: Boolean
23
+ aws_property :subnet_id, type: String
24
+ aws_property :tags, list: true, embed: true, type: Tag
25
+ aws_property :tenancy, type: String
26
+ aws_property :user_data, type: String
27
+ aws_property :volumes, list: true, embed: true, type: MountPoint
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,8 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-internet-gateway.html
2
+ module CloudFormer
3
+ module EC2
4
+ class InternetGateway < Resource
5
+ aws_property :tags, list: true, embed: true, type: Tag
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,9 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl.html
2
+ module CloudFormer
3
+ module EC2
4
+ class NetworkAcl < Resource
5
+ aws_property :tags, list: true, embed: true, type: Tag
6
+ aws_property :vpc_id, type: String
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,15 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html
2
+ module CloudFormer
3
+ module EC2
4
+ class NetworkAclEntry < Resource
5
+ aws_property :cidr_block, type: String
6
+ aws_property :egress, type: Boolean
7
+ aws_property :icmp, embed: true, type: ICMP
8
+ aws_property :network_acl_id, type: String
9
+ aws_property :port_range, embed: true, type: PortRange
10
+ aws_property :protocol, type: Integer
11
+ aws_property :rule_action, type: String
12
+ aws_property :rule_number, type: Integer
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html
2
+ module CloudFormer
3
+ module EC2
4
+ class NetworkInterface < Resource
5
+ aws_property :description, type: String
6
+ aws_property :group_set, list: true, type: String
7
+ aws_property :private_ip_address, type: String
8
+ aws_property :private_ip_addresses, list: true, embed: true, type: PrivateIpAddressSpecification
9
+ aws_property :secondary_private_ip_address_count, type: Integer
10
+ aws_property :source_dest_check, type: Boolean
11
+ aws_property :subnet_id, type: String
12
+ aws_property :tags, embed: true, list: true, type: Tag
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,11 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface-attachment.html
2
+ module CloudFormer
3
+ module EC2
4
+ class NetworkInterfaceAttachment < Resource
5
+ aws_property :delete_on_termination, type: Boolean
6
+ aws_property :device_index, type: String
7
+ aws_property :instance_id, type: String
8
+ aws_property :network_interface_id, type: String
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,13 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html
2
+ module CloudFormer
3
+ module EC2
4
+ class Route < Resource
5
+ aws_property :destination_cidr_block, type: String
6
+ aws_property :gateway_id, type: String
7
+ aws_property :instance_id, type: String
8
+ aws_property :network_interface_id, type: String
9
+ aws_property :route_table_id, type: String
10
+ aws_property :vpc_peering_connection_id, type: String
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,9 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route-table.html
2
+ module CloudFormer
3
+ module EC2
4
+ class RouteTable < Resource
5
+ aws_property :vpc_id, type: String
6
+ aws_property :tags, list: true, embed: true, type: Tag
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,11 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html
2
+ module CloudFormer
3
+ module EC2
4
+ class Subnet < Resource
5
+ aws_property :availability_zone, type: String
6
+ aws_property :cidr_block, type: String
7
+ aws_property :tags, list: true, embed: true, type: Tag
8
+ aws_property :vpc_id, type: Hash
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet-network-acl-assoc.html
2
+ module CloudFormer
3
+ module EC2
4
+ class SubnetNetworkAclAssociation < Resource
5
+ aws_property :subnet_id, type: String
6
+ aws_property :network_acl_id, type: String
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet-route-table-assoc.html
2
+ module CloudFormer
3
+ module EC2
4
+ class SubnetRouteTableAssociation < Resource
5
+ aws_property :route_table_id, type: String
6
+ aws_property :subnet_id, type: String
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,14 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html
2
+ module CloudFormer
3
+ module EC2
4
+ class Volume < Resource
5
+ aws_property :availability_zone, type: String
6
+ aws_property :encrypted, type: Boolean
7
+ aws_property :iops, type: Integer
8
+ aws_property :size, type: String
9
+ aws_property :snapshot_id, type: String
10
+ aws_property :tags, list: true, embed: true, type: Tag
11
+ aws_property :volume_type, type: String
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,10 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volumeattachment.html
2
+ module CloudFormer
3
+ module EC2
4
+ class VolumeAttachment < Resource
5
+ aws_property :device, type: String
6
+ aws_property :instance_id, type: String
7
+ aws_property :volume_id, type: String
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,12 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html
2
+ module CloudFormer
3
+ module EC2
4
+ class VPC < Resource
5
+ aws_property :cidr_block, type: String
6
+ aws_property :enable_dns_support, type: Boolean
7
+ aws_property :enable_dns_hostnames, type: Boolean
8
+ aws_property :instance_tenancy, type: String
9
+ aws_property :tags, list: true, embed: true, type: Tag
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,9 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-dhcp-options-assoc.html
2
+ module CloudFormer
3
+ module EC2
4
+ class VPCDHCPOptionsAssociation < Resource
5
+ aws_property :dhcp_options_id, type: String
6
+ aws_property :vpc_id, type: String
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-gateway-attachment.html
2
+ module CloudFormer
3
+ module EC2
4
+ class VPCGatewayAttachment < Resource
5
+ aws_property :internet_gateway_id, type: String
6
+ aws_property :vpc_id, type: String
7
+ aws_property :vpn_gateway_id, type: String
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html
2
+ module CloudFormer
3
+ module EC2
4
+ class VPCPeeringConnection < Resource
5
+ aws_property :peer_vpc_id, type: String
6
+ aws_property :tags, list: true, embed: true, type: Tag
7
+ aws_property :vpc_id, type: String
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,12 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection.html
2
+ module CloudFormer
3
+ module EC2
4
+ class VPNConnection < Resource
5
+ aws_property :type, type: String
6
+ aws_property :customer_gateway_id, type: CustomerGateway
7
+ aws_property :static_routes_only, type: Boolean
8
+ aws_property :tags, list: true, embed: true, type: Tag
9
+ aws_property :vpn_gateway_id, type: CustomerGateway
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,9 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection-route.html
2
+ module CloudFormer
3
+ module EC2
4
+ class VPNConnectionRoute < Resource
5
+ aws_property :destination_cidr_block, type: String
6
+ aws_property :vpn_connection_id, type: String
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-gateway.html
2
+ module CloudFormer
3
+ module EC2
4
+ class VPNGateway < Resource
5
+ aws_property :type, type: String
6
+ aws_property :tags, list: true, embed: true, type: Tag
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-gatewayrouteprop.html
2
+ module CloudFormer
3
+ module EC2
4
+ class VPNGatewayRoutePropagation < Resource
5
+ aws_property :route_table_ids, list: true, type: String
6
+ aws_property :vpn_gateway_id, type: String
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,22 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html
2
+ module CloudFormer
3
+ module ElastiCache
4
+ class CacheCluster < Resource
5
+ aws_property :auto_minor_version_upgrade, type: Boolean
6
+ aws_property :cache_node_type, type: String
7
+ aws_property :cache_parameter_group_name, type: String
8
+ aws_property :cache_security_group_names, list: true, type: String
9
+ aws_property :cache_subnet_group_name, type: String
10
+ aws_property :cluster_name, type: String
11
+ aws_property :engine, type: String
12
+ aws_property :engine_version, type: String
13
+ aws_property :notification_topic_arn, type: String
14
+ aws_property :num_cache_nodes, type: String
15
+ aws_property :port, type: Integer
16
+ aws_property :perferred_availability_zone, type: String
17
+ aws_property :preferred_maintenance_window, type: String
18
+ aws_property :snapshot_arns, list: true, type: String
19
+ aws_property :vpc_security_group_ids, list: true, type: String
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,10 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-parameter-group.html
2
+ module CloudFormer
3
+ module ElastiCache
4
+ class ParameterGroup < Resource
5
+ aws_property :cache_parameter_group_family, type: String
6
+ aws_property :description, type: String
7
+ aws_property :properties, type: Hash
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,8 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-parameter-group.html
2
+ module CloudFormer
3
+ module ElastiCache
4
+ class SecurityGroup < Resource
5
+ aws_property :description, type: String
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,10 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-parameter-group.html
2
+ module CloudFormer
3
+ module ElastiCache
4
+ class SecurityGroupIngress < Resource
5
+ aws_property :cache_security_group_name, type: String
6
+ aws_property :ec2_security_group_name, name: 'EC2SecurityGroupName', type: String
7
+ aws_property :ec2_security_group_owner_id, name: 'EC2SecurityGroupOwnerId', type: String
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-parameter-group.html
2
+ module CloudFormer
3
+ module ElastiCache
4
+ class SubnetGroup < Resource
5
+ aws_property :description, type: String
6
+ aws_property :subnet_ids, list: true, type: String
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,32 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html
2
+ module CloudFormer
3
+ module RDS
4
+ class DBInstance < Resource
5
+ aws_property :allocated_storage, type: String
6
+ aws_property :allow_major_version_upgrade, type: Boolean
7
+ aws_property :auto_minor_version_upgrade, type: Boolean
8
+ aws_property :availability_zone, type: String
9
+ aws_property :backup_retention_period, type: String
10
+ aws_property :db_instance_class, name: 'DBInstanceClass', type: String
11
+ aws_property :db_instance_identifier, name: 'DBInstanceIdentifier', type: String
12
+ aws_property :db_name, name: 'DBName', type: String
13
+ aws_property :db_parameter_group_name, name: 'DBParameterGroupName', type: String
14
+ aws_property :db_security_groups, name: 'DBSecurityGroups', list: true, type: String
15
+ aws_property :db_snapshot_identifier, name: 'DBSnapshotIdentifier', type: String
16
+ aws_property :db_subnet_group_name, name: 'DBSubnetGroupName', type: String
17
+ aws_property :engine, type: String
18
+ aws_property :engine_version, type: String
19
+ aws_property :iops, type: Integer
20
+ aws_property :license_model, type: String
21
+ aws_property :master_username, type: String
22
+ aws_property :master_user_password, type: String
23
+ aws_property :multi_az, name: 'MultiAZ', type: Boolean
24
+ aws_property :port, type: String
25
+ aws_property :preferred_backup_window, type: String
26
+ aws_property :preferred_maintenance_window, type: String
27
+ aws_property :source_db_instance_identifier, name: 'SourceDBInstanceIdentifier', type: String
28
+ aws_property :tags, list: true, embed: true, type: CloudFormation::ResourceTag
29
+ aws_property :vpc_security_groups, name: 'VPCSecurityGroups', list: true, type: String
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,11 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbparametergroup.html
2
+ module CloudFormer
3
+ module RDS
4
+ class DBParameterGroup < Resource
5
+ aws_property :description, type: String
6
+ aws_property :family, type: String
7
+ aws_property :parameters, type: Hash
8
+ aws_property :tags, list: true, embed: true, type: CloudFormation::ResourceTag
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group.html
2
+ module CloudFormer
3
+ module RDS
4
+ class DBSecurityGroup < Resource
5
+ aws_property :ec2_vpc_id, name: 'EC2VpcId', type: String
6
+ aws_property :db_security_group_ingress, list: true, embed: true, type: SecurityGroupRule
7
+ aws_property :group_description, type: String
8
+ aws_property :tags, list: true, embed: true, type: CloudFormation::ResourceTag
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,10 @@
1
+ # http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnet-group.html
2
+ module CloudFormer
3
+ module RDS
4
+ class DBSubnetGroup < Resource
5
+ aws_property :db_subnet_group_description, name: 'DBSubnetGroupDescription', type: String
6
+ aws_property :subnet_ids, list: true, type: String
7
+ aws_property :tags, list: true, embed: true, type: CloudFormation::ResourceTag
8
+ end
9
+ end
10
+ end
@@ -1,3 +1,3 @@
1
1
  module CloudFormer
2
- VERSION = '0.1.2'
2
+ VERSION = '0.1.3'
3
3
  end
data/lib/cloud_former.rb CHANGED
@@ -75,8 +75,49 @@ module CloudFormer
75
75
  end
76
76
 
77
77
  module EC2
78
+ autoload :BlockDeviceMapping, 'cloud_former/resource_properties/ec2/block_device_mapping'
79
+ autoload :CustomerGateway, 'cloud_former/resources/ec2/customer_gateway'
80
+ autoload :DHCPOptions, 'cloud_former/resources/ec2/dhcp_options'
81
+ autoload :EBSBlockDevice, 'cloud_former/resource_properties/ec2/ebs_block_device'
82
+ autoload :EIP, 'cloud_former/resources/ec2/eip'
83
+ autoload :EIPAssociation, 'cloud_former/resources/ec2/eip_association'
84
+ autoload :ICMP, 'cloud_former/resource_properties/ec2/icmp'
85
+ autoload :Instance, 'cloud_former/resources/ec2/instance'
86
+ autoload :InternetGateway, 'cloud_former/resources/ec2/insternet_gateway'
87
+ autoload :MountPoint, 'cloud_former/resource_properties/ec2/mount_point'
88
+ autoload :NetworkAcl, 'cloud_former/resources/ec2/network_acl'
89
+ autoload :NetworkAclEntry, 'cloud_former/resources/ec2/network_acl_entry'
90
+ autoload :NetworkInterface, 'cloud_former/resources/ec2/network_interface'
91
+ autoload :NetworkInterfaceAttachment, 'cloud_former/resources/ec2/network_interface_attachment'
92
+ autoload :NetworkInterfaceEmbedded, 'cloud_former/resource_properties/ec2/network_interface_embedded'
93
+ autoload :PortRange, 'cloud_former/resource_properties/ec2/port_range'
94
+ autoload :PrivateIpAddressSpecification, 'cloud_former/resource_properties/ec2/private_ip_address_specification'
95
+ autoload :Route, 'cloud_former/resources/ec2/route'
96
+ autoload :RouteTable, 'cloud_former/resources/ec2/route_table'
78
97
  autoload :SecurityGroup, 'cloud_former/resources/ec2/security_group'
79
98
  autoload :SecurityGroupRule, 'cloud_former/resource_properties/ec2/security_group_rule'
99
+ autoload :Subnet, 'cloud_former/resources/ec2/subnet'
100
+ autoload :SubnetNetworkAclAssociation, 'cloud_former/resources/ec2/subnet_network_acl_association'
101
+ autoload :SubnetRouteTableAssociation, 'cloud_former/resources/ec2/subnet_network_acl_association'
102
+ autoload :Tag, 'cloud_former/resource_properties/ec2/tag'
103
+ autoload :Volume, 'cloud_former/resources/ec2/volume'
104
+ autoload :VolumeAttachment, 'cloud_former/resources/ec2/volume_attachment'
105
+ autoload :VPC, 'cloud_former/resources/ec2/vpc'
106
+ autoload :VPCDHCPOptionsAssociation, 'cloud_former/resources/ec2/vpc_dhcp_options_association'
107
+ autoload :VPCGatewayAttachment, 'cloud_former/resources/ec2/vpc_gateway_attachment'
108
+ autoload :VPCPeeringConnection, 'cloud_former/resources/ec2/vpc_peering_connection'
109
+ autoload :VPNConnection, 'cloud_former/resources/ec2/vpn_connection'
110
+ autoload :VPNConnectionRoute, 'cloud_former/resources/ec2/vpn_connection_route'
111
+ autoload :VPNGateway, 'cloud_former/resources/ec2/vpn_gateway'
112
+ autoload :VPNGatewayRoutePropagation, 'cloud_former/resources/ec2/vpn_gateway_route_propagation'
113
+ end
114
+
115
+ module ElastiCache
116
+ autoload :CacheCluster, 'cloud_former/resources/elasti_cache/cache_cluster'
117
+ autoload :ParameterGroup, 'cloud_former/resources/elasti_cache/parameter_group'
118
+ autoload :SecurityGroup, 'cloud_former/resources/elasti_cache/security_group'
119
+ autoload :SecurityGroupIngress, 'cloud_former/resources/elasti_cache/security_group_ingress'
120
+ autoload :SubnetGroup, 'cloud_former/resources/elasti_cache/subnet_group'
80
121
  end
81
122
 
82
123
  module ElasticLoadBalancing
@@ -105,6 +146,14 @@ module CloudFormer
105
146
  autoload :User, 'cloud_former/resources/iam/user'
106
147
  end
107
148
 
149
+ module RDS
150
+ autoload :DBInstance, 'cloud_former/resources/rds/db_instance'
151
+ autoload :DBParameterGroup, 'cloud_former/resources/rds/db_parameter_group'
152
+ autoload :DBSecurityGroup, 'cloud_former/resources/rds/db_security_group'
153
+ autoload :DBSubnetGroup, 'cloud_former/resources/rds/db_subnet_group'
154
+ autoload :SecurityGroupRule, 'cloud_former/resource_properties/rds/security_group_rule'
155
+ end
156
+
108
157
  module S3
109
158
  autoload :Bucket, 'cloud_former/resources/s3/bucket'
110
159
  autoload :CorsConfiguration, 'cloud_former/resource_properties/s3/cors_configuration'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloud_former
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aubrey Holland
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-14 00:00:00.000000000 Z
11
+ date: 2014-07-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -135,7 +135,15 @@ files:
135
135
  - lib/cloud_former/resource_properties/cloud_front/s3_origin.rb
136
136
  - lib/cloud_former/resource_properties/cloud_front/viewer_certificate.rb
137
137
  - lib/cloud_former/resource_properties/cloud_watch/metric_dimension.rb
138
+ - lib/cloud_former/resource_properties/ec2/block_device_mapping.rb
139
+ - lib/cloud_former/resource_properties/ec2/ebs_block_device.rb
140
+ - lib/cloud_former/resource_properties/ec2/icmp.rb
141
+ - lib/cloud_former/resource_properties/ec2/mount_point.rb
142
+ - lib/cloud_former/resource_properties/ec2/network_interface_embedded.rb
143
+ - lib/cloud_former/resource_properties/ec2/port_range.rb
144
+ - lib/cloud_former/resource_properties/ec2/private_ip_address_specification.rb
138
145
  - lib/cloud_former/resource_properties/ec2/security_group_rule.rb
146
+ - lib/cloud_former/resource_properties/ec2/tag.rb
139
147
  - lib/cloud_former/resource_properties/elastic_load_balancing/access_logging_policy.rb
140
148
  - lib/cloud_former/resource_properties/elastic_load_balancing/app_cookie_stickiness_policy.rb
141
149
  - lib/cloud_former/resource_properties/elastic_load_balancing/connection_draining_policy.rb
@@ -143,6 +151,7 @@ files:
143
151
  - lib/cloud_former/resource_properties/elastic_load_balancing/lb_cookie_stickiness_policy.rb
144
152
  - lib/cloud_former/resource_properties/elastic_load_balancing/listener.rb
145
153
  - lib/cloud_former/resource_properties/elastic_load_balancing/policy.rb
154
+ - lib/cloud_former/resource_properties/rds/security_group_rule.rb
146
155
  - lib/cloud_former/resource_properties/resource_property.rb
147
156
  - lib/cloud_former/resource_properties/s3/cors_configuration.rb
148
157
  - lib/cloud_former/resource_properties/s3/cors_rule.rb
@@ -165,12 +174,46 @@ files:
165
174
  - lib/cloud_former/resources/cloud_formation/wait_condition_handle.rb
166
175
  - lib/cloud_former/resources/cloud_front/distribution.rb
167
176
  - lib/cloud_former/resources/cloud_watch/alarm.rb
177
+ - lib/cloud_former/resources/ec2/customer_gateway.rb
178
+ - lib/cloud_former/resources/ec2/dhcp_options.rb
179
+ - lib/cloud_former/resources/ec2/eip.rb
180
+ - lib/cloud_former/resources/ec2/eip_association.rb
181
+ - lib/cloud_former/resources/ec2/instance.rb
182
+ - lib/cloud_former/resources/ec2/internet_gateway.rb
183
+ - lib/cloud_former/resources/ec2/network_acl.rb
184
+ - lib/cloud_former/resources/ec2/network_acl_entry.rb
185
+ - lib/cloud_former/resources/ec2/network_interface.rb
186
+ - lib/cloud_former/resources/ec2/network_interface_attachment.rb
187
+ - lib/cloud_former/resources/ec2/route.rb
188
+ - lib/cloud_former/resources/ec2/route_table.rb
168
189
  - lib/cloud_former/resources/ec2/security_group.rb
190
+ - lib/cloud_former/resources/ec2/subnet.rb
191
+ - lib/cloud_former/resources/ec2/subnet_network_acl_association.rb
192
+ - lib/cloud_former/resources/ec2/subnet_route_table_association.rb
193
+ - lib/cloud_former/resources/ec2/volume.rb
194
+ - lib/cloud_former/resources/ec2/volume_attachment.rb
195
+ - lib/cloud_former/resources/ec2/vpc.rb
196
+ - lib/cloud_former/resources/ec2/vpc_dhcp_options_association.rb
197
+ - lib/cloud_former/resources/ec2/vpc_gateway_attachment.rb
198
+ - lib/cloud_former/resources/ec2/vpc_peering_connection.rb
199
+ - lib/cloud_former/resources/ec2/vpn_connection.rb
200
+ - lib/cloud_former/resources/ec2/vpn_connection_route.rb
201
+ - lib/cloud_former/resources/ec2/vpn_gateway.rb
202
+ - lib/cloud_former/resources/ec2/vpn_gateway_route_propagation.rb
203
+ - lib/cloud_former/resources/elasti_cache/cache_cluster.rb
204
+ - lib/cloud_former/resources/elasti_cache/parameter_group.rb
205
+ - lib/cloud_former/resources/elasti_cache/security_group.rb
206
+ - lib/cloud_former/resources/elasti_cache/security_group_ingress.rb
207
+ - lib/cloud_former/resources/elasti_cache/subnet_group.rb
169
208
  - lib/cloud_former/resources/elastic_load_balancing/load_balancer.rb
170
209
  - lib/cloud_former/resources/iam/access_key.rb
171
210
  - lib/cloud_former/resources/iam/group.rb
172
211
  - lib/cloud_former/resources/iam/policy.rb
173
212
  - lib/cloud_former/resources/iam/user.rb
213
+ - lib/cloud_former/resources/rds/db_instance.rb
214
+ - lib/cloud_former/resources/rds/db_parameter_group.rb
215
+ - lib/cloud_former/resources/rds/db_security_group.rb
216
+ - lib/cloud_former/resources/rds/db_subnet_group.rb
174
217
  - lib/cloud_former/resources/resource.rb
175
218
  - lib/cloud_former/resources/s3/bucket.rb
176
219
  - lib/cloud_former/resources/sns/topic.rb