Module: Tfrb::Resource::AwsEbsVolume

Extended by:
Tfrb::Resource
Defined in:
lib/tfrb/resource/aws_ebs_volume.rb

Class Method Summary collapse

Methods included from Tfrb::Resource

aws_options, extended, get_custom_resource, get_state, import!, load_helpers!, resolve_tfvar, set_default

Class Method Details

.load(base, environment_name, resource_type, new_resources) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/tfrb/resource/aws_ebs_volume.rb', line 13

def self.load(base, environment_name, resource_type, new_resources)
  new_resources.each do |resource_name, resource|
    client = ::Aws::EC2::Client.new(aws_options(base, resource))
    response = client.describe_volumes({
      filters: [
        {
          name: "tag:Name",
          values: [
            resource_name,
          ],
        },
      ],
    })
    if response.volumes && response.volumes.size >= 1
      id = response.volumes.first.volume_id
      import!(base, resource_type, resource_name, id)
    end
  end
end

.preload(base, environment_name, resource_type, new_resources) ⇒ Object



6
7
8
9
10
11
# File 'lib/tfrb/resource/aws_ebs_volume.rb', line 6

def self.preload(base, environment_name, resource_type, new_resources)
  new_resources.each do |resource_name, resource|
    resource['tags'] = {} unless resource.has_key?('tags')
    resource['tags']['Name'] = resource_name unless resource['tags'].has_key?('Name')
  end
end