Module: Pangea::Components::Base

Includes:
Naming, Networking, Tagging
Defined in:
lib/pangea/components/base.rb

Instance Method Summary collapse

Methods included from Tagging

#merge_tags

Methods included from Naming

#component_resource_name

Methods included from Networking

#calculate_subnet_cidr

Instance Method Details

#component_outputs(resources, computed = {}) ⇒ Object



64
65
66
67
68
69
70
# File 'lib/pangea/components/base.rb', line 64

def component_outputs(resources, computed = {})
  {
    resources: resources,
    computed: computed,
    created_at: Time.now.utc.iso8601
  }
end

#validate_required_attributes(attributes, required) ⇒ Object



57
58
59
60
61
62
# File 'lib/pangea/components/base.rb', line 57

def validate_required_attributes(attributes, required)
  missing = required - attributes.keys
  unless missing.empty?
    raise ValidationError, "Missing required attributes: #{missing.join(', ')}"
  end
end