Sha256: e40140901fd2bf64941b61b544ab9d8152705881cd21c871e9e920fd17e0f13f
Contents?: true
Size: 913 Bytes
Versions: 100
Compression:
Stored size: 913 Bytes
Contents
require 'json' module Convection module Model ## # CloudFormation ResourceTag set ## class Tags < Hash def render map do |t| { 'Key' => t[0].to_s, 'Value' => t[1] } end end end module Mixin ## # Add tag helpers to taddable resources ## module Taggable def tags @tags ||= Tags.new end def tag(key, value) tags[key] = value end ## Helper for Asgard def immutable_metadata(purpose, target = '') tag('immutable_metadata', JSON.generate( :purpose => purpose, :target => target )) end def render_tags(resource) resource.tap do |r| r['Properties']['Tags'] = tags.render unless tags.empty? end end end end end end
Version data entries
100 entries across 100 versions & 1 rubygems