Class: Opsmgr::Cmd::OpsManager
- Inherits:
-
Object
- Object
- Opsmgr::Cmd::OpsManager
- Includes:
- Loggable
- Defined in:
- lib/opsmgr/cmd/ops_manager.rb
Instance Method Summary collapse
- #add_product(client, name, version) ⇒ Object
- #configure_microbosh_infrastructure(client) ⇒ Object
- #delete_unused_products(client) ⇒ Object
-
#initialize(target_environment) ⇒ OpsManager
constructor
A new instance of OpsManager.
- #installed_products(client) ⇒ Object
- #list_products(client) ⇒ Object
- #upgrade_product(client, guid, version) ⇒ Object
- #upload_product(client, path) ⇒ Object
Methods included from Loggable
Constructor Details
#initialize(target_environment) ⇒ OpsManager
Returns a new instance of OpsManager.
8 9 10 |
# File 'lib/opsmgr/cmd/ops_manager.rb', line 8 def initialize(target_environment) @environment = target_environment end |
Instance Method Details
#add_product(client, name, version) ⇒ Object
60 61 62 63 64 65 66 67 |
# File 'lib/opsmgr/cmd/ops_manager.rb', line 60 def add_product(client, name, version) result = client.add_product(name, version) if result.success? log.info 'Successfully added product' else fail result. end end |
#configure_microbosh_infrastructure(client) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/opsmgr/cmd/ops_manager.rb', line 12 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.name, 'microbosh_template_folder' => environment.settings.name, 'microbosh_disk_path' => environment.settings.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) ⇒ Object
33 34 35 36 37 38 39 40 |
# File 'lib/opsmgr/cmd/ops_manager.rb', line 33 def delete_unused_products(client) result = client.delete_unused_products if result.success? log.info 'Successfully deleted unused products' else fail result. end end |
#installed_products(client) ⇒ Object
78 79 80 81 82 83 84 85 |
# File 'lib/opsmgr/cmd/ops_manager.rb', line 78 def installed_products(client) result = client.installed_products if result.success? result else fail result. end end |
#list_products(client) ⇒ Object
51 52 53 54 55 56 57 58 |
# File 'lib/opsmgr/cmd/ops_manager.rb', line 51 def list_products(client) result = client.list_products if result.success? result else fail result. end end |
#upgrade_product(client, guid, version) ⇒ Object
69 70 71 72 73 74 75 76 |
# File 'lib/opsmgr/cmd/ops_manager.rb', line 69 def upgrade_product(client, guid, version) result = client.upgrade_product(guid, version) if result.success? log.info 'Successfully upgraded product' else fail result. end end |
#upload_product(client, path) ⇒ Object
42 43 44 45 46 47 48 49 |
# File 'lib/opsmgr/cmd/ops_manager.rb', line 42 def upload_product(client, path) result = client.upload_component(path) if result.success? log.info 'Successfully uploaded product' else fail result. end end |