diff --git a/app/models/manageiq/providers/ansible_tower/automation_manager.rb b/app/models/manageiq/providers/ansible_tower/automation_manager.rb index c91dcd30..0ef6ea87 100644 --- a/app/models/manageiq/providers/ansible_tower/automation_manager.rb +++ b/app/models/manageiq/providers/ansible_tower/automation_manager.rb @@ -13,6 +13,7 @@ class ManageIQ::Providers::AnsibleTower::AutomationManager < ManageIQ::Providers require_nested :ScmCredential require_nested :Satellite6Credential require_nested :VmwareCredential + require_nested :RhvCredential require_nested :ConfigurationScript require_nested :ConfigurationScriptSource diff --git a/app/models/manageiq/providers/ansible_tower/automation_manager/rhv_credential.rb b/app/models/manageiq/providers/ansible_tower/automation_manager/rhv_credential.rb new file mode 100644 index 00000000..6de46df8 --- /dev/null +++ b/app/models/manageiq/providers/ansible_tower/automation_manager/rhv_credential.rb @@ -0,0 +1,3 @@ +class ManageIQ::Providers::AnsibleTower::AutomationManager::RhvCredential < ManageIQ::Providers::AnsibleTower::AutomationManager::CloudCredential + include ManageIQ::Providers::AnsibleTower::Shared::AutomationManager::RhvCredential +end diff --git a/app/models/manageiq/providers/ansible_tower/shared/automation_manager/rhv_credential.rb b/app/models/manageiq/providers/ansible_tower/shared/automation_manager/rhv_credential.rb new file mode 100644 index 00000000..8941c59d --- /dev/null +++ b/app/models/manageiq/providers/ansible_tower/shared/automation_manager/rhv_credential.rb @@ -0,0 +1,24 @@ +module ManageIQ::Providers::AnsibleTower::Shared::AutomationManager::RhvCredential + COMMON_ATTRIBUTES = { + :userid => { + :label => N_('Username'), + :help_text => N_('Username for this credential') + }, + :password => { + :type => :password, + :label => N_('Password'), + :help_text => N_('Password for this credential') + } + }.freeze + + EXTRA_ATTRIBUTES = {}.freeze + + API_ATTRIBUTES = COMMON_ATTRIBUTES.merge(EXTRA_ATTRIBUTES).freeze + + API_OPTIONS = { + :label => N_('Red Hat Virtualization'), + :type => 'cloud', + :attributes => API_ATTRIBUTES + }.freeze + TOWER_KIND = 'rhv'.freeze +end diff --git a/app/models/manageiq/providers/ansible_tower/shared/inventory/parser/automation_manager.rb b/app/models/manageiq/providers/ansible_tower/shared/inventory/parser/automation_manager.rb index 7bfe8108..44dc8e20 100644 --- a/app/models/manageiq/providers/ansible_tower/shared/inventory/parser/automation_manager.rb +++ b/app/models/manageiq/providers/ansible_tower/shared/inventory/parser/automation_manager.rb @@ -87,7 +87,8 @@ def miq_credential_types 'satellite6' => "#{provider_module}::AutomationManager::Satellite6Credential", 'gce' => "#{provider_module}::AutomationManager::GoogleCredential", 'azure_rm' => "#{provider_module}::AutomationManager::AzureCredential", - 'openstack' => "#{provider_module}::AutomationManager::OpenstackCredential" + 'openstack' => "#{provider_module}::AutomationManager::OpenstackCredential", + 'rhv' => "#{provider_module}::AutomationManager::RhvCredential" }.select { |_tower_type, miq_type| supported_types.include?(miq_type) } end end