cloud_former 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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