azure-service-api- Haskell bindings for the Microsoft Azure Service Management API

Safe HaskellNone




Data types

data CloudService Source

A cloud service is a bunch of virtual machines that are part of the same network (i.e., can talk to each other directly using standard TCP connections).


cloudServiceName :: CloudService -> StringSource

Name of the service.

cloudServiceVMs :: CloudService -> [VirtualMachine]Source

Virtual machines that are part of this cloud service.

data VirtualMachine Source

Virtual machine


vmName :: VirtualMachine -> StringSource

Name of the virtual machine.

vmIpAddress :: VirtualMachine -> StringSource

The internal IP address of the virtual machine (that is, the IP address on the Cloud Service). For the globally accessible IP address see vmInputEndpoints.

vmInputEndpoints :: VirtualMachine -> [Endpoint]Source

Globally accessible endpoints to the virtual machine

data Endpoint Source

Globally accessible endpoint for a virtual machine


endpointName :: Endpoint -> StringSource

Name of the endpoint (typical example: SSH)

endpointPort :: Endpoint -> StringSource

Port number (typical examples are 22 or high numbered ports such as 53749)

endpointVip :: Endpoint -> StringSource

Virtual IP address (that is, globally accessible IP address).

This corresponds to the IP address associated with the Cloud Service (i.e., that would be returned by a DNS lookup for, where name is the name of the Cloud Service).

Pure functions

vmSshEndpoint :: VirtualMachine -> Maybe EndpointSource

Find the endpoint with name SSH.


data AzureSetup Source

Azure setup

The documentation of distributed-process-azure explains in detail how to obtain the SSL client certificate and the private key for your Azure account.

See also azureSetup.




subscriptionId :: String

Azure subscription ID

certificate :: X509

SSL client certificate

privateKey :: PrivateKey

RSA private key

baseUrl :: String

Base URL (generally




:: String

Subscription ID

-> String

Path to certificate

-> String

Path to private key

-> IO AzureSetup 

Initialize Azure

High-level API

cloudServices :: AzureSetup -> IO [CloudService]Source

Find available cloud services