Class: CfEc2SecurityGroup
- Inherits:
-
Object
- Object
- CfEc2SecurityGroup
show all
- Includes:
- CfBase
- Defined in:
- lib/cf_factory/ec2/cf_ec2_security_group.rb
Instance Method Summary
collapse
Methods included from CfBase
#generate, #generate_ref, #get_deletion_policy, #get_name, #hash_to_string, #retrieve_attribute, #set_meta_data, #set_quotes, #set_tags
Constructor Details
#initialize(name, description, vpc = nil) ⇒ CfEc2SecurityGroup
Returns a new instance of CfEc2SecurityGroup.
5
6
7
8
9
10
11
12
|
# File 'lib/cf_factory/ec2/cf_ec2_security_group.rb', line 5
def initialize(name, description, vpc = nil)
@name = name
@description = description
@vpc = vpc
@ingress_rules = []
@egress_rules = []
end
|
Instance Method Details
#add_egress_rule(egress_rule) ⇒ Object
36
37
38
|
# File 'lib/cf_factory/ec2/cf_ec2_security_group.rb', line 36
def add_egress_rule(egress_rule)
@egress_rules << egress_rule
end
|
#add_ingress_rule(ingress_rule) ⇒ Object
32
33
34
|
# File 'lib/cf_factory/ec2/cf_ec2_security_group.rb', line 32
def add_ingress_rule(ingress_rule)
@ingress_rules << ingress_rule
end
|
#get_cf_attributes ⇒ Object
18
19
20
|
# File 'lib/cf_factory/ec2/cf_ec2_security_group.rb', line 18
def get_cf_attributes
{}
end
|
#get_cf_properties ⇒ Object
22
23
24
25
26
27
28
29
30
|
# File 'lib/cf_factory/ec2/cf_ec2_security_group.rb', line 22
def get_cf_properties
result = {"GroupDescription" => @description}
result["VpcId"] = @vpc.generate_ref unless @vpc.nil?
ingress = CfHelper.generate_inner_array(@ingress_rules)
result["SecurityGroupIngress"] = ingress unless @ingress_rules.size == 0
egress = CfHelper.generate_inner_array(@egress_rules)
result["SecurityGroupEgress"] = egress unless @egress_rules.size == 0
result
end
|
#get_cf_type ⇒ Object
14
15
16
|
# File 'lib/cf_factory/ec2/cf_ec2_security_group.rb', line 14
def get_cf_type
"AWS::EC2::SecurityGroup"
end
|