Class: OpsManager::ProductTemplateGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/ops_manager/product_template_generator.rb

Constant Summary collapse

OPS_MANAGER_PASSWORD_LENGTH =
32
OPS_MANAGER_SECRET_LENGTH =
32
OPS_MANAGER_SALT_LENGTH =
14

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(product_name) ⇒ ProductTemplateGenerator

Returns a new instance of ProductTemplateGenerator.



9
10
11
# File 'lib/ops_manager/product_template_generator.rb', line 9

def initialize(product_name)
  @product_name = product_name
end

Instance Attribute Details

#product_nameObject (readonly)

Returns the value of attribute product_name.



7
8
9
# File 'lib/ops_manager/product_template_generator.rb', line 7

def product_name
  @product_name
end

Instance Method Details

#generateObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/ops_manager/product_template_generator.rb', line 13

def generate
  %w{ prepared guid installation_name product_version stemcell }.each do |property_name|
    delete_from_product(property_name)
  end

  %w{ partitions vm_credentials guid }.each do |property_name|
  delete_from_jobs(property_name)
  end

  %w{ password secret salt private_key_pem }.each do |property_name|
    delete_value_from_job_properties(property_name)
  end

  %w{ secret private_key_pem }.each do |property_name|
    delete_value_from_product_properties(property_name)
  end

  add_merging_strategy_for_jobs
  add_merging_strategy_for_job_properties

  { 'products' => [ "(( merge on identifier ))" , selected_product ] }
end

#generate_ymlObject



36
37
38
39
# File 'lib/ops_manager/product_template_generator.rb', line 36

def generate_yml
  generate.to_yaml
    .gsub('"(( merge on identifier ))"', '(( merge on identifier ))')
end