module Stackit::Mixin::AvailabilityZone

Attributes

az[RW]
az_id[RW]
az_syms[RW]

Public Instance Methods

availability_zone() click to toggle source
# File lib/stackit/mixin/availability_zone.rb, line 23
def availability_zone
  resolve_parameter(az)
end
availability_zones() click to toggle source
# File lib/stackit/mixin/availability_zone.rb, line 27
def availability_zones
  resolve_parameters(az_syms)
end
az=(az) click to toggle source
# File lib/stackit/mixin/availability_zone.rb, line 7
def az=(az)
  @az = az || az_syms[0]
end
az_hash() click to toggle source
# File lib/stackit/mixin/availability_zone.rb, line 17
def az_hash
  {
    az_sym => resolve_parameter(az_sym)
  }
end
az_syms=(keys) click to toggle source
# File lib/stackit/mixin/availability_zone.rb, line 11
def az_syms=(keys)
  @az_syms = keys.each{ |key|
    key = key.to_sym
  }
end
random_az() click to toggle source
# File lib/stackit/mixin/availability_zone.rb, line 39
def random_az
  resolve_parameters(az_syms).split(',').sample
end
random_az_hash() click to toggle source
# File lib/stackit/mixin/availability_zone.rb, line 43
def random_az_hash
  sampled_az_sym = az_syms.sample 
  {
    sampled_az_sym => resolve_parameter(sampled_az_sym)
  }
end
selected_az() click to toggle source
# File lib/stackit/mixin/availability_zone.rb, line 35
def selected_az
  selected_az_hash.values[0]
end
selected_az_sym() click to toggle source
# File lib/stackit/mixin/availability_zone.rb, line 31
def selected_az_sym
  selected_az_hash.keys[0].to_sym
end

Private Instance Methods

selected_az_hash() click to toggle source
# File lib/stackit/mixin/availability_zone.rb, line 52
def selected_az_hash
  @selected_az_hash ||= random_az_hash
end