class Bosh::Director::DeploymentPlan::CloudPlanner
Attributes
compilation[RW]
Public Class Methods
index_by_name(collection)
click to toggle source
# File lib/bosh/director/deployment_plan/planner.rb, line 389 def self.index_by_name(collection) collection.inject({}) do |index, item| index.merge(item.name => item) end end
new(options)
click to toggle source
# File lib/bosh/director/deployment_plan/planner.rb, line 299 def initialize(options) @networks = self.class.index_by_name(options.fetch(:networks)) @global_network_resolver = options.fetch(:global_network_resolver) @resource_pools = self.class.index_by_name(options.fetch(:resource_pools)) @vm_types = self.class.index_by_name(options.fetch(:vm_types, {})) @vm_extensions = self.class.index_by_name(options.fetch(:vm_extensions, {})) @disk_types = self.class.index_by_name(options.fetch(:disk_types)) @availability_zones = options.fetch(:availability_zones_list) @compilation = options.fetch(:compilation) @ip_provider_factory = options.fetch(:ip_provider_factory) @logger = options.fetch(:logger) end
Public Instance Methods
add_resource_pool(resource_pool)
click to toggle source
# File lib/bosh/director/deployment_plan/planner.rb, line 365 def add_resource_pool(resource_pool) @resource_pools[resource_pool.name] = resource_pool end
availability_zone(name)
click to toggle source
# File lib/bosh/director/deployment_plan/planner.rb, line 329 def availability_zone(name) @availability_zones[name] end
availability_zones()
click to toggle source
# File lib/bosh/director/deployment_plan/planner.rb, line 333 def availability_zones @availability_zones.values end
deleted_network(name)
click to toggle source
# File lib/bosh/director/deployment_plan/planner.rb, line 320 def deleted_network(name) ManualNetwork.parse( {'subnets' => [], 'name' => name}, [], @global_network_resolver, @logger ) end
disk_type(name)
click to toggle source
# File lib/bosh/director/deployment_plan/planner.rb, line 385 def disk_type(name) @disk_types[name] end
disk_types()
click to toggle source
# File lib/bosh/director/deployment_plan/planner.rb, line 377 def disk_types @disk_types.values end
ip_provider()
click to toggle source
# File lib/bosh/director/deployment_plan/planner.rb, line 312 def ip_provider @ip_provider ||= @ip_provider_factory.new_ip_provider(@networks) end
model()
click to toggle source
# File lib/bosh/director/deployment_plan/planner.rb, line 316 def model nil end
network(name)
click to toggle source
# File lib/bosh/director/deployment_plan/planner.rb, line 373 def network(name) @networks[name] end
networks()
click to toggle source
# File lib/bosh/director/deployment_plan/planner.rb, line 369 def networks @networks.values end
resource_pool(name)
click to toggle source
# File lib/bosh/director/deployment_plan/planner.rb, line 341 def resource_pool(name) @resource_pools[name] end
resource_pools()
click to toggle source
# File lib/bosh/director/deployment_plan/planner.rb, line 337 def resource_pools @resource_pools.values end
using_global_networking?()
click to toggle source
# File lib/bosh/director/deployment_plan/planner.rb, line 381 def using_global_networking? false end
vm_extension(name)
click to toggle source
# File lib/bosh/director/deployment_plan/planner.rb, line 357 def vm_extension(name) unless @vm_extensions.has_key?(name) raise "The vm_extension '#{name}' has not been configured in cloud-config." end @vm_extensions[name] end
vm_extensions()
click to toggle source
# File lib/bosh/director/deployment_plan/planner.rb, line 353 def vm_extensions @vm_extensions.values end
vm_type(name)
click to toggle source
# File lib/bosh/director/deployment_plan/planner.rb, line 349 def vm_type(name) @vm_types[name] end
vm_types()
click to toggle source
# File lib/bosh/director/deployment_plan/planner.rb, line 345 def vm_types @vm_types.values end