using OpenStack.Synchronous.Extensions;
using Rackspace.CloudNetworks.v2;
// ReSharper disable once CheckNamespace
namespace Rackspace.Synchronous
{
///
/// Provides synchronous extention methods for an instance.
///
///
public static class CloudNetworkServiceExtensions
{
#region Networks
///
public static IPage ListNetworks(this CloudNetworkService cloudNetworkService, Identifier startNetworkId = null, int? pageSize = null)
{
return cloudNetworkService.ListNetworksAsync(startNetworkId, pageSize).ForceSynchronous();
}
///
public static Network GetNetwork(this CloudNetworkService cloudNetworkService, Identifier networkId)
{
return cloudNetworkService.GetNetworkAsync(networkId).ForceSynchronous();
}
///
public static Network CreateNetwork(this CloudNetworkService cloudNetworkService, NetworkDefinition network)
{
return cloudNetworkService.CreateNetworkAsync(network).ForceSynchronous();
}
///
public static Network UpdateNetwork(this CloudNetworkService cloudNetworkService, Identifier networkId, NetworkDefinition network)
{
return cloudNetworkService.UpdateNetworkAsync(networkId, network).ForceSynchronous();
}
///
public static void DeleteNetwork(this CloudNetworkService cloudNetworkService, Identifier networkId)
{
cloudNetworkService.DeleteNetworkAsync(networkId).ForceSynchronous();
}
#endregion
#region Subnets
///
public static IPage ListSubnets(this CloudNetworkService cloudNetworkService, Identifier startSubnetId = null, int? pageSize = null)
{
return cloudNetworkService.ListSubnetsAsync(startSubnetId, pageSize).ForceSynchronous();
}
///
public static Subnet CreateSubnet(this CloudNetworkService cloudNetworkService, SubnetCreateDefinition subnet)
{
return cloudNetworkService.CreateSubnetAsync(subnet).ForceSynchronous();
}
///
public static Subnet GetSubnet(this CloudNetworkService cloudNetworkService, Identifier subnetId)
{
return cloudNetworkService.GetSubnetAsync(subnetId).ForceSynchronous();
}
///
public static Subnet UpdateSubnet(this CloudNetworkService cloudNetworkService, Identifier subnetId, SubnetUpdateDefinition subnet)
{
return cloudNetworkService.UpdateSubnetAsync(subnetId, subnet).ForceSynchronous();
}
///
public static void DeleteSubnet(this CloudNetworkService cloudNetworkService, Identifier subnetId)
{
cloudNetworkService.DeleteSubnetAsync(subnetId).ForceSynchronous();
}
#endregion
#region Ports
///
/*public static IPage ListPorts(this CloudNetworkService cloudNetworkService, Identifier startPortid = null, int? pageSize = null)
{
return cloudNetworkService.ListPortsAsync(startPortid, pageSize).ForceSynchronous();
}*/
///
public static Port CreatePort(this CloudNetworkService cloudNetworkService, PortCreateDefinition port)
{
return cloudNetworkService.CreatePortAsync(port).ForceSynchronous();
}
///
public static Port GetPort(this CloudNetworkService cloudNetworkService, Identifier portId)
{
return cloudNetworkService.GetPortAsync(portId).ForceSynchronous();
}
///
public static Port UpdatePort(this CloudNetworkService cloudNetworkService, Identifier portId, PortUpdateDefinition port)
{
return cloudNetworkService.UpdatePortAsync(portId, port).ForceSynchronous();
}
///
public static void DeletePort(this CloudNetworkService cloudNetworkService, Identifier portId)
{
cloudNetworkService.DeletePortAsync(portId).ForceSynchronous();
}
#endregion
}
}