public async Task Run(string username, string apiKey, string region)
    {
        // Configure authentication
        var identity = new CloudIdentity
        {
            Username = username,
            APIKey   = apiKey
        };
        var identityService = new CloudIdentityProvider(identity);
        var networkService  = new CloudNetworkService(identityService, region);

        Console.WriteLine("Creating Sample Network... ");
        var networkDefinition = new NetworkDefinition {
            Name = "Sample"
        };
        var sampleNetwork = await networkService.CreateNetworkAsync(networkDefinition);

        Console.WriteLine("Adding a subnet to Sample Network...");
        var subnetDefinition = new SubnetCreateDefinition(sampleNetwork.Id, IPVersion.IPv4, "192.0.2.0/24")
        {
            Name = "Sample"
        };
        var sampleSubnet = await networkService.CreateSubnetAsync(subnetDefinition);

        Console.WriteLine("Attaching a port to Sample Network...");
        var portDefinition = new PortCreateDefinition(sampleNetwork.Id)
        {
            Name = "Sample"
        };
        var samplePort = await networkService.CreatePortAsync(portDefinition);

        Console.WriteLine("Listing Networks...");
        var networks = await networkService.ListNetworksAsync();

        foreach (Network network in networks)
        {
            Console.WriteLine($"{network.Id}\t\t\t{network.Name}");
        }

        Console.WriteLine();
        Console.WriteLine("Sample Network Information:");
        Console.WriteLine();
        Console.WriteLine($"Network Id: {sampleNetwork.Id}");
        Console.WriteLine($"Network Name: {sampleNetwork.Name}");
        Console.WriteLine($"Network Status: {sampleNetwork.Status}");
        Console.WriteLine();
        Console.WriteLine($"Subnet Id: {sampleSubnet.Id}");
        Console.WriteLine($"Subnet Name: {sampleSubnet.Name}");
        Console.WriteLine($"Subnet IPs: {sampleSubnet.AllocationPools.First().Start} - {sampleSubnet.AllocationPools.First().End}");
        Console.WriteLine();
        Console.WriteLine($"Port Id: {samplePort.Id}");
        Console.WriteLine($"Port Name: {samplePort.Name}");
        Console.WriteLine($"Port Address: {samplePort.MACAddress}");
        Console.WriteLine($"Port Status: {samplePort.Status}");
        Console.WriteLine();

        Console.WriteLine("Deleting Sample Network...");
        await networkService.DeletePortAsync(samplePort.Id);

        await networkService.DeleteNetworkAsync(sampleNetwork.Id);
    }
Пример #2
0
        /// <inheritdoc cref="OpenStack.Synchronous.NetworkingServiceExtensions.ListPorts"/>

        /*public static IPage<Port> ListPorts(this CloudNetworkService cloudNetworkService, Identifier startPortid = null, int? pageSize = null)
         * {
         *  return cloudNetworkService.ListPortsAsync(startPortid, pageSize).ForceSynchronous();
         * }*/

        /// <inheritdoc cref="OpenStack.Synchronous.NetworkingServiceExtensions.CreatePort"/>
        public static Port CreatePort(this CloudNetworkService cloudNetworkService, PortCreateDefinition port)
        {
            return(cloudNetworkService.CreatePortAsync(port).ForceSynchronous());
        }
Пример #3
0
 /// <inheritdoc cref="OpenStack.Synchronous.NetworkingServiceExtensions.GetPort"/>
 public static Port GetPort(this CloudNetworkService cloudNetworkService, Identifier portId)
 {
     return(cloudNetworkService.GetPortAsync(portId).ForceSynchronous());
 }
Пример #4
0
 /// <inheritdoc cref="OpenStack.Synchronous.NetworkingServiceExtensions.UpdateSubnet"/>
 public static Subnet UpdateSubnet(this CloudNetworkService cloudNetworkService, Identifier subnetId, SubnetUpdateDefinition subnet)
 {
     return(cloudNetworkService.UpdateSubnetAsync(subnetId, subnet).ForceSynchronous());
 }
Пример #5
0
 /// <inheritdoc cref="OpenStack.Synchronous.NetworkingServiceExtensions.DeleteSubnet"/>
 public static void DeleteSubnet(this CloudNetworkService cloudNetworkService, Identifier subnetId)
 {
     cloudNetworkService.DeleteSubnetAsync(subnetId).ForceSynchronous();
 }
Пример #6
0
 /// <inheritdoc cref="OpenStack.Synchronous.NetworkingServiceExtensions.CreateSubnet"/>
 public static Subnet CreateSubnet(this CloudNetworkService cloudNetworkService, SubnetCreateDefinition subnet)
 {
     return(cloudNetworkService.CreateSubnetAsync(subnet).ForceSynchronous());
 }
Пример #7
0
 /// <inheritdoc cref="OpenStack.Synchronous.NetworkingServiceExtensions.GetSubnet"/>
 public static Subnet GetSubnet(this CloudNetworkService cloudNetworkService, Identifier subnetId)
 {
     return(cloudNetworkService.GetSubnetAsync(subnetId).ForceSynchronous());
 }
Пример #8
0
 /// <inheritdoc cref="OpenStack.Synchronous.NetworkingServiceExtensions.DeleteNetwork"/>
 public static void DeleteNetwork(this CloudNetworkService cloudNetworkService, Identifier networkId)
 {
     cloudNetworkService.DeleteNetworkAsync(networkId).ForceSynchronous();
 }
Пример #9
0
 /// <inheritdoc cref="OpenStack.Synchronous.NetworkingServiceExtensions.ListSubnets"/>
 public static IPage <Subnet> ListSubnets(this CloudNetworkService cloudNetworkService, Identifier startSubnetId = null, int?pageSize = null)
 {
     return(cloudNetworkService.ListSubnetsAsync(startSubnetId, pageSize).ForceSynchronous());
 }
Пример #10
0
 /// <inheritdoc cref="OpenStack.Synchronous.NetworkingServiceExtensions.UpdateNetwork"/>
 public static Network UpdateNetwork(this CloudNetworkService cloudNetworkService, Identifier networkId, NetworkDefinition network)
 {
     return(cloudNetworkService.UpdateNetworkAsync(networkId, network).ForceSynchronous());
 }
Пример #11
0
 /// <inheritdoc cref="OpenStack.Synchronous.NetworkingServiceExtensions.CreateNetwork"/>
 public static Network CreateNetwork(this CloudNetworkService cloudNetworkService, NetworkDefinition network)
 {
     return(cloudNetworkService.CreateNetworkAsync(network).ForceSynchronous());
 }
Пример #12
0
 /// <inheritdoc cref="OpenStack.Synchronous.NetworkingServiceExtensions.GetNetwork"/>
 public static Network GetNetwork(this CloudNetworkService cloudNetworkService, Identifier networkId)
 {
     return(cloudNetworkService.GetNetworkAsync(networkId).ForceSynchronous());
 }
Пример #13
0
 /// <inheritdoc cref="OpenStack.Synchronous.NetworkingServiceExtensions.DeletePort"/>
 public static void DeletePort(this CloudNetworkService cloudNetworkService, Identifier portId)
 {
     cloudNetworkService.DeletePortAsync(portId).ForceSynchronous();
 }
Пример #14
0
 /// <inheritdoc cref="OpenStack.Synchronous.NetworkingServiceExtensions.UpdatePort"/>
 public static Port UpdatePort(this CloudNetworkService cloudNetworkService, Identifier portId, PortUpdateDefinition port)
 {
     return(cloudNetworkService.UpdatePortAsync(portId, port).ForceSynchronous());
 }