Files
openstack-cli-powershell/Openstack.Client.Powershell/Cmdlets/Common/GetServiceProvidersCmdlet.cs
paybackman 961f31ef64 Initial Code Import
Change-Id: Ic5be6fe4e739c01656160ee8a8070ab08aef448f
2014-04-07 15:48:17 -05:00

64 lines
2.9 KiB
C#

///* ============================================================================
//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
}
}