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); } } }