///* ============================================================================ //Copyright 2014 Hewlett Packard //Licensed under the Apache License, Version 2.0 (the "License"); //you may not use this file except in compliance with the License. //You may obtain a copy of the License at // http://www.apache.org/licenses/LICENSE-2.0 //Unless required by applicable law or agreed to in writing, software //distributed under the License is distributed on an "AS IS" BASIS, //WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. //See the License for the specific language governing permissions and //limitations under the License. //============================================================================ */ using System; using System.Management.Automation; using Openstack.Client.Powershell.Providers.Common; using System.Security.Cryptography; using System.Text; using System.Web; using Openstack; using System.Xml.Linq; using System.Collections.Generic; using Openstack.Client.Powershell.Utility; using System.Linq; namespace Openstack.Client.Powershell.Cmdlets.Common { [Cmdlet(VerbsCommon.Get, "SP", SupportsShouldProcess = true)] //[RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.ObjectStorage)] public class GetServiceProvidersCmdlet : BasePSCmdlet { #region Parameters #endregion #region Methods //========================================================================================= /// <summary> /// /// </summary> //========================================================================================= protected override void ProcessRecord() { List<ServiceProvider> serviceProviders = new List<ServiceProvider>(); XDocument doc = XDocument.Load(this.ConfigFilePath); IEnumerable<XElement> serviceProviderNodes = doc.Descendants("ServiceProvider"); foreach (XElement element in serviceProviderNodes) { ServiceProvider provider = new ServiceProvider(); provider.AuthenticationServiceURI = element.Elements().Where(e => e.Attribute("key").Value == "AuthenticationServiceURI").Attributes("value").Single().Value; provider.DefaultTenantId = element.Elements().Where(e => e.Attribute("key").Value == "DefaultTenantId").Attributes("value").Single().Value; provider.Username = element.Elements().Where(e => e.Attribute("key").Value == "Username").Attributes("value").Single().Value; provider.IsDefault = Convert.ToBoolean(element.Attribute("isDefault").Value); provider.Name = element.Attribute("name").Value; serviceProviders.Add(provider); } this.WriteObject(serviceProviders); } #endregion } }