Class: Bosh::Director::DeploymentPlan::JobSpecParser

Inherits:
Object
  • Object
show all
Includes:
Bosh::Director::DnsHelper, IpUtil, ValidationHelper, Template::PropertyHelper
Defined in:
lib/bosh/director/deployment_plan/job_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 IpUtil

#each_ip, #format_ip, #ip_to_i, #ip_to_netaddr, #process_range

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) ⇒ JobSpecParser

Returns a new instance of JobSpecParser.

Parameters:



13
14
15
16
17
# File 'lib/bosh/director/deployment_plan/job_spec_parser.rb', line 13

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

Instance Method Details

#parse(job_spec) ⇒ DeploymentPlan::Job

Returns Job as build from job_spec.

Parameters:

  • job_spec (Hash)

    Raw job spec from the deployment manifest

Returns:



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/bosh/director/deployment_plan/job_spec_parser.rb', line 21

def parse(job_spec)
  @job_spec = job_spec
  @job = Job.new(@deployment)

  parse_name
  parse_lifecycle

  parse_release
  parse_template
  parse_templates

  validate_templates

  check_template_uniqueness
  parse_disk
  parse_properties
  parse_resource_pool
  parse_update_config
  parse_instances
  parse_networks

  @job
end