class Opsmgr::Cmd::OpsManager
Attributes
environment[R]
Public Class Methods
new(target_environment)
click to toggle source
# File lib/opsmgr/cmd/ops_manager.rb, line 11 def initialize(target_environment) @environment = target_environment end
Public Instance Methods
add_product(client, name, version)
click to toggle source
# File lib/opsmgr/cmd/ops_manager.rb, line 63 def add_product(client, name, version) result = client.add_product(name, version) if result.success? log.info 'Successfully added product' else fail result.message end end
configure_microbosh_infrastructure(client)
click to toggle source
# File lib/opsmgr/cmd/ops_manager.rb, line 15 def configure_microbosh_infrastructure(client) result = client.installation_settings return unless result.success? result = result.as_hash return if result.fetch('installation_version', '') != '1.4' return if result['infrastructure']['type'] != 'vsphere' result['infrastructure']['file_system'] = { 'microbosh_vm_folder' => environment.settings.dig('name'), 'microbosh_template_folder' => environment.settings.dig('name'), 'microbosh_disk_path' => environment.settings.dig('name'), } file = Tempfile.new('om_install_settings') file.write(YAML.dump(result)) file.close client.upload_product_installation_settings(file.path) end
delete_unused_products(client)
click to toggle source
# File lib/opsmgr/cmd/ops_manager.rb, line 36 def delete_unused_products(client) result = client.delete_unused_products if result.success? log.info 'Successfully deleted unused products' else fail result.message end end
download_staged_manifest(client, guid, manifest_filepath)
click to toggle source
# File lib/opsmgr/cmd/ops_manager.rb, line 108 def download_staged_manifest(client, guid, manifest_filepath) result = client.download_staged_manifest(guid) if result.success? File.open(manifest_filepath, 'w') do |mf| mf.write(result.manifest) end log.info 'Successfully downloaded staged manifest for product' else fail result.message end end
import_installation(client, path)
click to toggle source
# File lib/opsmgr/cmd/ops_manager.rb, line 90 def import_installation(client, path) result = client.import_installation(path, environment.settings.dig('ops_manager', 'password')) if result.success? log.info 'Successfully imported installation' else fail result.message end end
import_stemcell(client, path)
click to toggle source
# File lib/opsmgr/cmd/ops_manager.rb, line 99 def import_stemcell(client, path) result = client.import_stemcell(path) if result.success? log.info 'Successfully imported stemcell' else fail result.message end end
installed_products(client)
click to toggle source
# File lib/opsmgr/cmd/ops_manager.rb, line 81 def installed_products(client) result = client.installed_products if result.success? result else fail result.message end end
list_products(client)
click to toggle source
# File lib/opsmgr/cmd/ops_manager.rb, line 54 def list_products(client) result = client.list_products if result.success? result else fail result.message end end
revert_staged_changes(client)
click to toggle source
# File lib/opsmgr/cmd/ops_manager.rb, line 120 def revert_staged_changes(client) result = client.revert_staged_changes if result.success? log.info 'Successfully reverted staged changes' else fail result.message end end
upgrade_product(client, guid, version)
click to toggle source
# File lib/opsmgr/cmd/ops_manager.rb, line 72 def upgrade_product(client, guid, version) result = client.upgrade_product(guid, version) if result.success? log.info 'Successfully upgraded product' else fail result.message end end
upload_product(client, path)
click to toggle source
# File lib/opsmgr/cmd/ops_manager.rb, line 45 def upload_product(client, path) result = client.upload_component(path) if result.success? log.info 'Successfully uploaded product' else fail result.message end end