cloudy-0.1.0.1: CLI tool to easily spin up and control compute instances in various cloud environments
Safe HaskellSafe-Inferred
LanguageHaskell98

Cloudy.Scaleway

Documentation

type family Paged verb ct resp where ... Source #

Equations

Paged verb ct resp = QueryParam "per_page" PerPage :> (QueryParam "page" PageNum :> verb ct (Headers '[Header "x-total-count" Int] resp)) 

data Zone Source #

Constructors

NL1 
NL2 
NL3 

Instances

Instances details
FromJSON Zone Source # 
Instance details

Defined in Cloudy.Scaleway

ToJSON Zone Source # 
Instance details

Defined in Cloudy.Scaleway

Bounded Zone Source # 
Instance details

Defined in Cloudy.Scaleway

Enum Zone Source # 
Instance details

Defined in Cloudy.Scaleway

Methods

succ :: Zone -> Zone #

pred :: Zone -> Zone #

toEnum :: Int -> Zone #

fromEnum :: Zone -> Int #

enumFrom :: Zone -> [Zone] #

enumFromThen :: Zone -> Zone -> [Zone] #

enumFromTo :: Zone -> Zone -> [Zone] #

enumFromThenTo :: Zone -> Zone -> Zone -> [Zone] #

Show Zone Source # 
Instance details

Defined in Cloudy.Scaleway

Methods

showsPrec :: Int -> Zone -> ShowS #

show :: Zone -> String #

showList :: [Zone] -> ShowS #

Eq Zone Source # 
Instance details

Defined in Cloudy.Scaleway

Methods

(==) :: Zone -> Zone -> Bool #

(/=) :: Zone -> Zone -> Bool #

ToHttpApiData Zone Source # 
Instance details

Defined in Cloudy.Scaleway

newtype IpId Source #

Constructors

IpId 

Fields

Instances

Instances details
FromJSON IpId Source # 
Instance details

Defined in Cloudy.Scaleway

ToJSON IpId Source # 
Instance details

Defined in Cloudy.Scaleway

Show IpId Source # 
Instance details

Defined in Cloudy.Scaleway

Methods

showsPrec :: Int -> IpId -> ShowS #

show :: IpId -> String #

showList :: [IpId] -> ShowS #

Eq IpId Source # 
Instance details

Defined in Cloudy.Scaleway

Methods

(==) :: IpId -> IpId -> Bool #

(/=) :: IpId -> IpId -> Bool #

FromHttpApiData IpId Source # 
Instance details

Defined in Cloudy.Scaleway

ToHttpApiData IpId Source # 
Instance details

Defined in Cloudy.Scaleway

newtype OrganizationId Source #

Constructors

OrganizationId 

data IpsReq Source #

Constructors

IpsReq 

Fields

Instances

Instances details
ToJSON IpsReq Source # 
Instance details

Defined in Cloudy.Scaleway

Show IpsReq Source # 
Instance details

Defined in Cloudy.Scaleway

data IpsResp Source #

Constructors

IpsResp 

Instances

Instances details
FromJSON IpsResp Source # 
Instance details

Defined in Cloudy.Scaleway

Show IpsResp Source # 
Instance details

Defined in Cloudy.Scaleway

data VolumesReq Source #

Constructors

VolumesReq 

Fields

Instances

Instances details
ToJSON VolumesReq Source # 
Instance details

Defined in Cloudy.Scaleway

Show VolumesReq Source # 
Instance details

Defined in Cloudy.Scaleway

data TaskResp Source #

Constructors

TaskResp 

Fields

Instances

Instances details
FromJSON TaskResp Source # 
Instance details

Defined in Cloudy.Scaleway

Show TaskResp Source # 
Instance details

Defined in Cloudy.Scaleway

newtype ImagesResp Source #

Constructors

ImagesResp 

Fields

Instances

Instances details
FromJSON ImagesResp Source # 
Instance details

Defined in Cloudy.Scaleway

Show ImagesResp Source # 
Instance details

Defined in Cloudy.Scaleway

data Image Source #

Instances

Instances details
FromJSON Image Source # 
Instance details

Defined in Cloudy.Scaleway

Show Image Source # 
Instance details

Defined in Cloudy.Scaleway

Methods

showsPrec :: Int -> Image -> ShowS #

show :: Image -> String #

showList :: [Image] -> ShowS #

type InstanceIpsPostApi = AuthProtect "auth-token" :> ("instance" :> ("v1" :> ("zones" :> (Capture "zone" Zone :> ("ips" :> (ReqBody '[JSON] IpsReq :> PostCreated '[JSON] IpsResp)))))) Source #

type InstanceIpsDeleteApi = AuthProtect "auth-token" :> ("instance" :> ("v1" :> ("zones" :> (Capture "zone" Zone :> ("ips" :> (Capture "ip_id" IpId :> DeleteNoContent)))))) Source #

type InstanceServersPostApi = AuthProtect "auth-token" :> ("instance" :> ("v1" :> ("zones" :> (Capture "zone" Zone :> ("servers" :> (ReqBody '[JSON] ServersReq :> PostCreated '[JSON] ServersResp)))))) Source #

type InstanceServersGetApi = AuthProtect "auth-token" :> ("instance" :> ("v1" :> ("zones" :> (Capture "zone" Zone :> ("servers" :> (Capture "server_id" ServerId :> Get '[JSON] ServersResp)))))) Source #

type InstanceServersActionPostApi = AuthProtect "auth-token" :> ("instance" :> ("v1" :> ("zones" :> (Capture "zone" Zone :> ("servers" :> (Capture "server_id" ServerId :> ("action" :> (ReqBody '[JSON] ServersActionReq :> PostAccepted '[JSON] TaskResp)))))))) Source #

type InstanceServersUserDataGetApi = AuthProtect "auth-token" :> ("instance" :> ("v1" :> ("zones" :> (Capture "zone" Zone :> ("servers" :> (Capture "server_id" ServerId :> ("user_data" :> (Capture "key" UserDataKey :> Get '[PlainTextNoUTF8] UserData)))))))) Source #

type InstanceServersUserDataPatchApi = AuthProtect "auth-token" :> ("instance" :> ("v1" :> ("zones" :> (Capture "zone" Zone :> ("servers" :> (Capture "server_id" ServerId :> ("user_data" :> (Capture "key" UserDataKey :> (ReqBody '[PlainTextNoUTF8] UserData :> PatchNoContent))))))))) Source #

type InstanceVolumesPatchApi = AuthProtect "auth-token" :> ("instance" :> ("v1" :> ("zones" :> (Capture "zone" Zone :> ("volumes" :> (Capture "volume_id" VolumeId :> (ReqBody '[JSON] VolumesReq :> Patch '[JSON] Value))))))) Source #

type InstanceProductsServersGetApi = AuthProtect "auth-token" :> ("instance" :> ("v1" :> ("zones" :> (Capture "zone" Zone :> ("products" :> ("servers" :> (QueryParam "per_page" PerPage :> Get '[JSON] ProductServersResp))))))) Source #

type InstanceProductsServersAvailabilityGetApi = AuthProtect "auth-token" :> ("instance" :> ("v1" :> ("zones" :> (Capture "zone" Zone :> ("products" :> ("servers" :> ("availability" :> (QueryParam "per_page" PerPage :> Get '[JSON] ProductServersAvailabilityResp)))))))) Source #

type InstanceImagesGetApi = AuthProtect "auth-token" :> ("instance" :> ("v1" :> ("zones" :> (Capture "zone" Zone :> ("images" :> (QueryParam "arch" Text :> Paged Get '[JSON] ImagesResp)))))) Source #