Class: CfEbsVolume

Inherits:
Object
  • Object
show all
Includes:
CfBase
Defined in:
lib/cf_factory/ec2/cf_ebs_volume.rb

Class Method Summary collapse

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

Constructor Details

#initialize(name, availability_zone, options = {}) ⇒ CfEbsVolume

Returns a new instance of CfEbsVolume.



5
6
7
8
9
10
11
12
13
14
# File 'lib/cf_factory/ec2/cf_ebs_volume.rb', line 5

def initialize(name, availability_zone, options = {})
  @name = name
  @availability_zone = availability_zone
  
  @size = options[:size]
  @snapshot_id = options[:snapshot_id]
  @iops = options[:iops]
  @volume_type = options[:volume_type]
  set_deletion_policy("Delete")
end

Class Method Details

.create_from_snapshot(name, availability_zone, snapshot_id) ⇒ Object



24
25
26
# File 'lib/cf_factory/ec2/cf_ebs_volume.rb', line 24

def self.create_from_snapshot(name, availability_zone, snapshot_id)
  CfEbsVolume.new(name, availability_zone, {:snapshot_id => snapshot_id})
end

.create_normal(name, availability_zone, size) ⇒ Object



16
17
18
# File 'lib/cf_factory/ec2/cf_ebs_volume.rb', line 16

def self.create_normal(name, availability_zone, size)
  CfEbsVolume.new(name, availability_zone, {:size => size}) 
end

.create_piops(name, availability_zone, size, iops) ⇒ Object



20
21
22
# File 'lib/cf_factory/ec2/cf_ebs_volume.rb', line 20

def self.create_piops(name, availability_zone, size, iops)
  CfEbsVolume.new(name, availability_zone, {:size => size, :volume_type => "io1", :iops => iops})
end

Instance Method Details

#get_cf_attributesObject



40
41
42
# File 'lib/cf_factory/ec2/cf_ebs_volume.rb', line 40

def get_cf_attributes
  result = super
end

#get_cf_propertiesObject



44
45
46
47
48
49
50
51
52
# File 'lib/cf_factory/ec2/cf_ebs_volume.rb', line 44

def get_cf_properties
  result = {} 
  result["AvailabilityZone"] = @availability_zone
  result["Size"] = @size unless @size.nil?
  result["VolumeType"] = @volume_type unless @volume_type.nil?
  result["SnapshotId"] = @snapshot_id unless @snapshot_id.nil?
  result["Iops"] = @iops unless @iops.nil?
  result
end

#get_cf_typeObject



36
37
38
# File 'lib/cf_factory/ec2/cf_ebs_volume.rb', line 36

def get_cf_type
  "AWS::EC2::Volume"
end

#set_deletion_policy(deletion_policy) ⇒ Object



32
33
34
# File 'lib/cf_factory/ec2/cf_ebs_volume.rb', line 32

def set_deletion_policy(deletion_policy)
  @deletion_policy = deletion_policy
end

#set_tags(tag_list) ⇒ Object



28
29
30
# File 'lib/cf_factory/ec2/cf_ebs_volume.rb', line 28

def set_tags(tag_list)
  @tag_list = tag_list 
end