
Stronger Validation for Openstack.config. Better handling of detecting and raising NullReferenceExceptions Removal of dead code in a few places Added ability for each ServiceProvider to supply a ServiceMap which translates his name for a CoreService to something we can work with. Optimized code for dealing with Runspaces. This change implements 2 separate use cases for Multi-Vendor support. a. Initial Bootstrapping b. Switch Providers Change-Id: Ided462e5050214321e1ead50cf0498707d59128f Partially-implements: blueprint implement-multiple-vendor-support
38 lines
1.6 KiB
C#
38 lines
1.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Security;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using Openstack.Client.Powershell.Utility;
|
|
using OpenStack.Client.Powershell.Utility;
|
|
using OpenStack.Identity;
|
|
|
|
namespace HP.OpenStack.Client.Powershell.Utility
|
|
{
|
|
[ServiceProviderAttribute("HP")]
|
|
public class HPRegistrationManager : RegistrationManager
|
|
{
|
|
public override RegistrationResponse Register(ServiceProvider serviceProvider)
|
|
{
|
|
this.ValidateCredentialElements(ref serviceProvider);
|
|
|
|
string authenticationEndpoint = serviceProvider.CredentialElements.Where(ce => ce.Key == "AuthenticationServiceURI").Single().Value;
|
|
string userName = serviceProvider.CredentialElements.Where(ce => ce.Key == "Username").Single().Value;
|
|
string password = serviceProvider.CredentialElements.Where(ce => ce.Key == "Password").Single().Value;
|
|
string tenantId = serviceProvider.CredentialElements.Where(ce => ce.Key == "DefaultTenantId").Single().Value;
|
|
|
|
IOpenStackCredential credential = new OpenStackCredential(new Uri (authenticationEndpoint), userName, password, tenantId);
|
|
return new RegistrationResponse(credential, serviceProvider);
|
|
}
|
|
|
|
private SecureString GetSecureString(string password)
|
|
{
|
|
SecureString securePassword = new SecureString();
|
|
password.ToCharArray().ToList().ForEach(securePassword.AppendChar);
|
|
return SecureStringHelper.ConvertToSecureString(password);
|
|
|
|
}
|
|
}
|
|
}
|