Class: Bosh::Director::DeploymentPlan::DeploymentSpecParser

Inherits:
Object
  • Object
show all
Includes:
Bosh::Director::DnsHelper, ValidationHelper
Defined in:
lib/bosh/director/deployment_plan/deployment_spec_parser.rb

Constant Summary

Constants included from Bosh::Director::DnsHelper

Bosh::Director::DnsHelper::SOA, Bosh::Director::DnsHelper::TTL_4H, Bosh::Director::DnsHelper::TTL_5M

Instance Method Summary collapse

Methods included from ValidationHelper

#invalid_type, #safe_property

Methods included from Bosh::Director::DnsHelper

#add_default_dns_server, #canonical, #default_dns_server, #delete_dns_records, #delete_empty_domain, #dns_domain_name, #dns_ns_record, #dns_servers, #flush_dns_cache, #invalid_dns, #reverse_domain, #reverse_host, #update_dns_a_record, #update_dns_ptr_record

Constructor Details

#initialize(deployment, event_log, logger) ⇒ DeploymentSpecParser

Returns a new instance of DeploymentSpecParser.



9
10
11
12
13
# File 'lib/bosh/director/deployment_plan/deployment_spec_parser.rb', line 9

def initialize(deployment, event_log, logger)
  @event_log = event_log
  @logger = logger
  @deployment = deployment
end

Instance Method Details

#parse(deployment_manifest, options = {}) ⇒ DeploymentPlan::Planner

Returns Deployment as build from deployment_spec.

Parameters:

  • manifest (Hash)

    Raw deployment manifest

Returns:



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/bosh/director/deployment_plan/deployment_spec_parser.rb', line 17

def parse(deployment_manifest, options = {})
  @deployment_manifest = deployment_manifest
  @job_states = safe_property(options, 'job_states', :class => Hash, :default => {})

  parse_properties
  parse_releases
  parse_update
  parse_jobs

  @deployment
end