git.iko.soy/distributed-process
on master help sign in
We need to pick the right Azure API version number
commit956b995351d8074c4e6eb34c5cb31aad93211f37 authorEdsko de Vries <edsko@edsko.net> dateWed 25 Jul 2012, 14:57 (14 years ago) parent00f0e54
2 files changed+14−16
azure-service-api/src/Network/Azure/ServiceManagement.hs+12−13 azure-service-api/src/Network/Azure/ServiceManagement/CommandLine.hs+2−3
azure-service-api/src/Network/Azure/ServiceManagement.hs+12−13
@@ -1,8 +1,6 @@
11module Network.Azure.ServiceManagement
2− (
3− -- * Submitting requests
4− SubscriptionId(SubscriptionId)
5− , azureRequest
2+ ( -- * Submitting requests
3+ azureRequest
64 -- * Re-export functionality from TLS
75 , fileReadCertificate
86 , fileReadPrivateKey
@@ -23,18 +21,19 @@ import Network.HTTP.Conduit
2321 )
2422import Data.CaseInsensitive as CI (mk)
2523
26−newtype SubscriptionId = SubscriptionId { unSubscriptionId :: String }
27−
28−azureRequest :: SubscriptionId -> X509 -> PrivateKey -> String -> IO ByteString
29−azureRequest sid cert pkey subURL = do
30− req <- parseUrl ( "https://management.core.windows.net/"
31− ++ unSubscriptionId sid
32− ++ subURL
33− )
24+-- ^ Execute an Azure request
25+azureRequest :: String -- ^ Subscription ID
26+ -> X509 -- ^ X509 certificate
27+ -> PrivateKey -- ^ Private key
28+ -> String -- ^ Relative path
29+ -> String -- ^ Version
30+ -> IO ByteString
31+azureRequest sid cert pkey subURL version = do
32+ req <- parseUrl $ "https://management.core.windows.net/" ++ sid++ subURL
3433 withManager $ \manager -> do
3534 let req' = req {
3635 clientCertificates = [ (cert, Just pkey) ]
37− , requestHeaders = [ (CI.mk $ BSC.pack "x-ms-version", BSC.pack "2010-10-28")
36+ , requestHeaders = [ (CI.mk $ BSC.pack "x-ms-version", BSC.pack version)
3837 , (CI.mk $ BSC.pack "content-type", BSC.pack "application/xml")
3938 ]
4039 }
azure-service-api/src/Network/Azure/ServiceManagement/CommandLine.hs+2−3
@@ -7,8 +7,7 @@ import qualified Data.ByteString.Lazy.Char8 as BSLC (putStrLn)
77
88-- SSL
99import Network.Azure.ServiceManagement
10− ( SubscriptionId(SubscriptionId)
11− , azureRequest
10+ ( azureRequest
1211 , fileReadCertificate
1312 , fileReadPrivateKey
1413 )
@@ -71,5 +70,5 @@ tryConnectToAzure :: String -> String -> String -> IO ()
7170tryConnectToAzure sid pathToCert pathToKey = do
7271 cert <- fileReadCertificate pathToCert
7372 key <- fileReadPrivateKey pathToKey
74− outp <- azureRequest (SubscriptionId sid) cert key "/services/hostedservices"
73+ outp <- azureRequest sid cert key "/services/hostedservices" "2012-03-01"
7574 BSLC.putStrLn outp