Class: CfFactory::CfEc2Instance
- Inherits:
-
Object
- Object
- CfFactory::CfEc2Instance
show all
- Includes:
- CfBase
- Defined in:
- lib/cf_factory/ec2/cf_ec2_instance.rb
Constant Summary
collapse
- SUPPORTED_TYPES =
["t1.micro","m1.small","m1.medium","m1.large","m1.xlarge",
"m2.xlarge","m2.2xlarge","m2.4xlarge","m3.xlarge","m3.2xlarge","c1.medium", "c1.xlarge",
"cc1.4xlarge","cc2.8xlarge", "cg1.4xlarge", "hi1.4xlarge"]
Instance Method Summary
collapse
Methods included from CfBase
#generate, #generate_ref, #get_deletion_policy, #get_name, #get_update_policy, #hash_to_string, #retrieve_attribute, #set_meta_data, #set_quotes
Constructor Details
#initialize(name, image_id, instance_type, options = {}) ⇒ CfEc2Instance
Returns a new instance of CfEc2Instance.
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/cf_factory/ec2/cf_ec2_instance.rb', line 9
def initialize(name, image_id, instance_type, options = {})
@name = name
@image_id = image_id
@instance_type = instance_type
@keyname = options[:keyname]
@subnet = options[:subnet]
@vpc_security_groups = options[:vpc_security_groups]
@security_groups = options[:security_groups]
@source_dest_check = options[:source_dest_check]
@user_data = options[:user_data]
@availability_zone = options[:availability_zone]
@network_interfaces = options[:network_interfaces]
validate()
end
|
Instance Method Details
#assign_eip ⇒ Object
63
64
65
|
# File 'lib/cf_factory/ec2/cf_ec2_instance.rb', line 63
def assign_eip
end
|
#get_cf_attributes ⇒ Object
36
37
38
|
# File 'lib/cf_factory/ec2/cf_ec2_instance.rb', line 36
def get_cf_attributes
result = super
end
|
#get_cf_properties ⇒ Object
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/cf_factory/ec2/cf_ec2_instance.rb', line 40
def get_cf_properties
result = {"ImageId" => CfHelper.clean(@image_id),
"InstanceType" => @instance_type,
}
result["KeyName"] = @keyname unless @keyname.nil?
result["SubnetId"] = @subnet.generate_ref unless @subnet.nil?
result["SecurityGroupIds"] = CfHelper.generate_ref_array(@vpc_security_groups) unless @vpc_security_groups.nil?
result["SecurityGroups"] = CfHelper.generate_ref_array(@security_groups) unless @security_groups.nil?
result["SourceDestCheck"] = @source_dest_check unless @source_dest_check.nil?
result["UserData"] = CfHelper.base64(@user_data) unless @user_data.nil?
result["AvailabilityZone"] = @availability_zone unless @availability_zone.nil?
if !@network_interfaces.nil? && @network_interfaces.size > 0
nics = []
index = 0
@network_interfaces.each() {|nic|
nics << CfFactory::CfInnerNetworkInterface.new(nic, index)
index += 1
}
result["NetworkInterfaces"] = CfHelper.generate_inner_array(nics)
end
result
end
|
#get_cf_type ⇒ Object
32
33
34
|
# File 'lib/cf_factory/ec2/cf_ec2_instance.rb', line 32
def get_cf_type
"AWS::EC2::Instance"
end
|
#set_deletion_policy(deletion_policy) ⇒ Object
28
29
30
|
# File 'lib/cf_factory/ec2/cf_ec2_instance.rb', line 28
def set_deletion_policy(deletion_policy)
@deletion_policy = deletion_policy
end
|
24
25
26
|
# File 'lib/cf_factory/ec2/cf_ec2_instance.rb', line 24
def set_tags(tag_list)
@tag_list = tag_list
end
|