Class: Bosh::Director::DeploymentPlan::CloudPlanner
- Defined in:
- lib/bosh/director/deployment_plan/planner.rb
Instance Attribute Summary collapse
-
#compilation ⇒ Object
Returns the value of attribute compilation.
Class Method Summary collapse
Instance Method Summary collapse
- #add_resource_pool(resource_pool) ⇒ Object
- #availability_zone(name) ⇒ Object
- #availability_zones ⇒ Object
- #deleted_network(name) ⇒ Object
- #disk_type(name) ⇒ Object
- #disk_types ⇒ Object
-
#initialize(options) ⇒ CloudPlanner
constructor
A new instance of CloudPlanner.
- #ip_provider ⇒ Object
- #model ⇒ Object
- #network(name) ⇒ Object
- #networks ⇒ Object
- #resource_pool(name) ⇒ Object
- #resource_pools ⇒ Object
- #using_global_networking? ⇒ Boolean
- #vm_extension(name) ⇒ Object
- #vm_extensions ⇒ Object
- #vm_type(name) ⇒ Object
- #vm_types ⇒ Object
Constructor Details
#initialize(options) ⇒ CloudPlanner
Returns a new instance of CloudPlanner.
297 298 299 300 301 302 303 304 305 306 307 308 |
# File 'lib/bosh/director/deployment_plan/planner.rb', line 297 def initialize() @networks = self.class.index_by_name(.fetch(:networks)) @global_network_resolver = .fetch(:global_network_resolver) @resource_pools = self.class.index_by_name(.fetch(:resource_pools)) @vm_types = self.class.index_by_name(.fetch(:vm_types, {})) @vm_extensions = self.class.index_by_name(.fetch(:vm_extensions, {})) @disk_types = self.class.index_by_name(.fetch(:disk_types)) @availability_zones = .fetch(:availability_zones_list) @compilation = .fetch(:compilation) @ip_provider_factory = .fetch(:ip_provider_factory) @logger = .fetch(:logger) end |
Instance Attribute Details
#compilation ⇒ Object
Returns the value of attribute compilation.
295 296 297 |
# File 'lib/bosh/director/deployment_plan/planner.rb', line 295 def compilation @compilation end |
Class Method Details
.index_by_name(collection) ⇒ Object
383 384 385 386 387 |
# File 'lib/bosh/director/deployment_plan/planner.rb', line 383 def self.index_by_name(collection) collection.inject({}) do |index, item| index.merge(item.name => item) end end |
Instance Method Details
#add_resource_pool(resource_pool) ⇒ Object
359 360 361 |
# File 'lib/bosh/director/deployment_plan/planner.rb', line 359 def add_resource_pool(resource_pool) @resource_pools[resource_pool.name] = resource_pool end |
#availability_zone(name) ⇒ Object
327 328 329 |
# File 'lib/bosh/director/deployment_plan/planner.rb', line 327 def availability_zone(name) @availability_zones[name] end |
#availability_zones ⇒ Object
331 332 333 |
# File 'lib/bosh/director/deployment_plan/planner.rb', line 331 def availability_zones @availability_zones.values end |
#deleted_network(name) ⇒ Object
318 319 320 321 322 323 324 325 |
# File 'lib/bosh/director/deployment_plan/planner.rb', line 318 def deleted_network(name) ManualNetwork.parse( {'subnets' => [], 'name' => name}, [], @global_network_resolver, @logger ) end |
#disk_type(name) ⇒ Object
379 380 381 |
# File 'lib/bosh/director/deployment_plan/planner.rb', line 379 def disk_type(name) @disk_types[name] end |
#disk_types ⇒ Object
371 372 373 |
# File 'lib/bosh/director/deployment_plan/planner.rb', line 371 def disk_types @disk_types.values end |
#ip_provider ⇒ Object
310 311 312 |
# File 'lib/bosh/director/deployment_plan/planner.rb', line 310 def ip_provider @ip_provider ||= @ip_provider_factory.new_ip_provider(@networks) end |
#model ⇒ Object
314 315 316 |
# File 'lib/bosh/director/deployment_plan/planner.rb', line 314 def model nil end |
#network(name) ⇒ Object
367 368 369 |
# File 'lib/bosh/director/deployment_plan/planner.rb', line 367 def network(name) @networks[name] end |
#networks ⇒ Object
363 364 365 |
# File 'lib/bosh/director/deployment_plan/planner.rb', line 363 def networks @networks.values end |
#resource_pool(name) ⇒ Object
339 340 341 |
# File 'lib/bosh/director/deployment_plan/planner.rb', line 339 def resource_pool(name) @resource_pools[name] end |
#resource_pools ⇒ Object
335 336 337 |
# File 'lib/bosh/director/deployment_plan/planner.rb', line 335 def resource_pools @resource_pools.values end |
#using_global_networking? ⇒ Boolean
375 376 377 |
# File 'lib/bosh/director/deployment_plan/planner.rb', line 375 def using_global_networking? false end |
#vm_extension(name) ⇒ Object
355 356 357 |
# File 'lib/bosh/director/deployment_plan/planner.rb', line 355 def vm_extension(name) @vm_extensions[name] end |
#vm_extensions ⇒ Object
351 352 353 |
# File 'lib/bosh/director/deployment_plan/planner.rb', line 351 def vm_extensions @vm_extensions.values end |
#vm_type(name) ⇒ Object
347 348 349 |
# File 'lib/bosh/director/deployment_plan/planner.rb', line 347 def vm_type(name) @vm_types[name] end |
#vm_types ⇒ Object
343 344 345 |
# File 'lib/bosh/director/deployment_plan/planner.rb', line 343 def vm_types @vm_types.values end |