Class: Google::Compute::Data::InstTempSelfLinkRefCatalog

Inherits:
InstTempSelfLinkRef show all
Defined in:
lib/google/compute/property/instancetemplate_selflink.rb

Overview

A class to fetch the resource value from a referenced block Will return the value exported from a different Puppet resource

Instance Method Summary collapse

Methods inherited from InstTempSelfLinkRef

#<=>, #==

Constructor Details

#initialize(title) ⇒ InstTempSelfLinkRefCatalog

Returns a new instance of InstTempSelfLinkRefCatalog.



53
54
55
# File 'lib/google/compute/property/instancetemplate_selflink.rb', line 53

def initialize(title)
  @title = title
end

Instance Method Details

#autorequiresObject

Puppet requires the title for autorequiring



58
59
60
# File 'lib/google/compute/property/instancetemplate_selflink.rb', line 58

def autorequires
  [@title]
end

#resourceObject

Raises:

  • (ArgumentError)


71
72
73
74
75
76
77
# File 'lib/google/compute/property/instancetemplate_selflink.rb', line 71

def resource
  Google::ObjectStore.instance[:gcompute_instance_template]
                     .each do |entry|
    return entry.exports[:self_link] if entry.title == @title
  end
  raise ArgumentError, "gcompute_instance_template[#{@title}] required"
end

#to_json(_arg = nil) ⇒ Object



66
67
68
69
# File 'lib/google/compute/property/instancetemplate_selflink.rb', line 66

def to_json(_arg = nil)
  return if resource.nil?
  resource.to_json
end

#to_sObject



62
63
64
# File 'lib/google/compute/property/instancetemplate_selflink.rb', line 62

def to_s
  resource.to_s
end