class Convection::Model::Template::Resource::EC2SecurityGroup::Rule
@example Egress rule
ec2_security_group 'SuperSecretSecurityGroup' do # other properties... egress_rule :tcp, 443 do # The source CIDR block. destination '10.10.10.0/24' end end
@example Ingress rule
ec2_security_group 'SuperSecretSecurityGroup' do # other properties... ingress_rule :tcp, 8080 do # The source security group ID. source_group stack.get('security-groups', 'HttpProxy') end end
Public Instance Methods
render()
click to toggle source
# File lib/convection/model/template/resource/aws_ec2_security_group.rb, line 86 def render { 'IpProtocol' => Mixin::Protocol.lookup(protocol) }.tap do |rule| rule['FromPort'] = from unless from.nil? rule['ToPort'] = to unless to.nil? rule['CidrIp'] = source unless source.nil? rule['CidrIp'] = destination unless destination.nil? rule['DestinationSecurityGroupId'] = destination_group unless destination_group.nil? rule['SourceSecurityGroupId'] = source_group unless source_group.nil? rule['SourceSecurityGroupOwnerId'] = source_group_owner unless source_group_owner.nil? end end