Exemple #1
0
    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 result          = identityService.Authenticate();

        var serverService      = new CloudServersProvider(identity, region, null, null);
        var rackConnectService = new RackConnectService(identityService, region);

        // Create a cloud server on your hybrid network
        Console.WriteLine($"Looking up your RackConnect network in {region}...");
        var networks = await rackConnectService.ListNetworksAsync();

        var network = networks.FirstOrDefault();

        if (network == null)
        {
            throw new Exception($"You do not have a Hybrid Cloud / RackConnect network configured in the {region} which is required to run this sample.");
        }

        Console.WriteLine("Creating sample cloud server... ");
        // Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)
        const string ubuntuImageId = "09de0a66-3156-48b4-90a5-1cf25a905207";
        // 512MB Standard Instance
        const string standardFlavorId = "2";
        var          requestedServer  = serverService.CreateServer("sample", ubuntuImageId, standardFlavorId,
                                                                   networks: new string[] { network.Id });

        serverService.WaitForServerActive(requestedServer.Id);

        Console.WriteLine("Allocating a public IP address...");
        var ip = await rackConnectService.CreatePublicIPAsync(
            new PublicIPCreateDefinition { ShouldRetain = true });

        await ip.WaitUntilActiveAsync();

        Console.WriteLine($"Acquired {ip.PublicIPv4Address}!");

        Console.WriteLine("Assigning the public IP to the sample cloud server...");
        await ip.AssignAsync(requestedServer.Id);

        await ip.WaitUntilActiveAsync();

        Console.WriteLine("Deleting sample cloud server...");
        serverService.DeleteServer(requestedServer.Id);

        Console.WriteLine("Deallocating the public IP address...");
        await ip.DeleteAsync();
    }
Exemple #2
0
 public RackConnectTestDataManager(RackConnectService rackConnectService, CloudIdentityProvider authenticationProvider)
 {
     _rackConnectService = rackConnectService;
     _testData           = new HashSet <object>();
     _serverTestData     = new CloudServersTestDataManager(authenticationProvider);
 }
Exemple #3
0
 /// <inheritdoc cref="RackConnectService.DeletePublicIPAsync"/>
 public static void DeletePublicIP(this RackConnectService rackConnectService, Identifier publicIPId)
 {
     rackConnectService.DeletePublicIPAsync(publicIPId).ForceSynchronous();
 }
Exemple #4
0
 /// <inheritdoc cref="RackConnectService.UpdatePublicIPAsync"/>
 public static PublicIP UpdatePublicIP(this RackConnectService rackConnectService, Identifier publicIPId, PublicIPUpdateDefinition definition)
 {
     return(rackConnectService.UpdatePublicIPAsync(publicIPId, definition).ForceSynchronous());
 }
Exemple #5
0
 /// <inheritdoc cref="RackConnectService.WaitUntilPublicIPIsDeletedAsync"/>
 public static void WaitUntilPublicIPIsDeleted(this RackConnectService rackConnectService, Identifier publicIPId, TimeSpan?refreshDelay = null, TimeSpan?timeout = null, IProgress <bool> progress = null)
 {
     rackConnectService.WaitUntilPublicIPIsDeletedAsync(publicIPId, refreshDelay, timeout, progress).ForceSynchronous();
 }
Exemple #6
0
 /// <inheritdoc cref="RackConnectService.WaitUntilPublicIPIsActiveAsync"/>
 public static PublicIP WaitUntilPublicIPIsActive(this RackConnectService rackConnectService, Identifier publicIPId, TimeSpan?refreshDelay = null, TimeSpan?timeout = null, IProgress <bool> progress = null)
 {
     return(rackConnectService.WaitUntilPublicIPIsActiveAsync(publicIPId, refreshDelay, timeout, progress).ForceSynchronous());
 }
Exemple #7
0
 /// <inheritdoc cref="RackConnectService.CreatePublicIPAsync"/>
 public static PublicIP CreatePublicIP(this RackConnectService rackConnectService, PublicIPCreateDefinition definition)
 {
     return(rackConnectService.CreatePublicIPAsync(definition).ForceSynchronous());
 }
Exemple #8
0
 /// <inheritdoc cref="RackConnectService.GetPublicIPAsync"/>
 public static PublicIP GetPublicIP(this RackConnectService rackConnectService, Identifier publicIPId)
 {
     return(rackConnectService.GetPublicIPAsync(publicIPId).ForceSynchronous());
 }
Exemple #9
0
 /// <inheritdoc cref="RackConnectService.ListPublicIPsAsync"/>
 public static IEnumerable <PublicIP> ListPublicIPs(this RackConnectService rackConnectService, ListPublicIPsFilter filter = null)
 {
     return(rackConnectService.ListPublicIPsAsync(filter).ForceSynchronous());
 }
Exemple #10
0
 /// <inheritdoc cref="RackConnectService.GetNetworkAsync"/>
 public static NetworkReference GetNetwork(this RackConnectService rackConnectService, Identifier networkId)
 {
     return(rackConnectService.GetNetworkAsync(networkId).ForceSynchronous());
 }
Exemple #11
0
 /// <inheritdoc cref="RackConnectService.ListNetworksAsync"/>
 public static IEnumerable <NetworkReference> ListNetworks(this RackConnectService rackConnectService)
 {
     return(rackConnectService.ListNetworksAsync().ForceSynchronous());
 }