module Network.AWS.Lightsail.Types.Sum where
import Network.AWS.Prelude
data AccessDirection
= Inbound
| Outbound
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText AccessDirection where
parser = takeLowerText >>= \case
"inbound" -> pure Inbound
"outbound" -> pure Outbound
e -> fromTextError $ "Failure parsing AccessDirection from value: '" <> e
<> "'. Accepted values: inbound, outbound"
instance ToText AccessDirection where
toText = \case
Inbound -> "inbound"
Outbound -> "outbound"
instance Hashable AccessDirection
instance NFData AccessDirection
instance ToByteString AccessDirection
instance ToQuery AccessDirection
instance ToHeader AccessDirection
instance FromJSON AccessDirection where
parseJSON = parseJSONText "AccessDirection"
data BlueprintType
= App
| OS
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText BlueprintType where
parser = takeLowerText >>= \case
"app" -> pure App
"os" -> pure OS
e -> fromTextError $ "Failure parsing BlueprintType from value: '" <> e
<> "'. Accepted values: app, os"
instance ToText BlueprintType where
toText = \case
App -> "app"
OS -> "os"
instance Hashable BlueprintType
instance NFData BlueprintType
instance ToByteString BlueprintType
instance ToQuery BlueprintType
instance ToHeader BlueprintType
instance FromJSON BlueprintType where
parseJSON = parseJSONText "BlueprintType"
data InstanceAccessProtocol
= Rdp
| SSH
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText InstanceAccessProtocol where
parser = takeLowerText >>= \case
"rdp" -> pure Rdp
"ssh" -> pure SSH
e -> fromTextError $ "Failure parsing InstanceAccessProtocol from value: '" <> e
<> "'. Accepted values: rdp, ssh"
instance ToText InstanceAccessProtocol where
toText = \case
Rdp -> "rdp"
SSH -> "ssh"
instance Hashable InstanceAccessProtocol
instance NFData InstanceAccessProtocol
instance ToByteString InstanceAccessProtocol
instance ToQuery InstanceAccessProtocol
instance ToHeader InstanceAccessProtocol
instance ToJSON InstanceAccessProtocol where
toJSON = toJSONText
instance FromJSON InstanceAccessProtocol where
parseJSON = parseJSONText "InstanceAccessProtocol"
data InstanceMetricName
= CPUUtilization
| NetworkIn
| NetworkOut
| StatusCheckFailed
| StatusCheckFailedInstance
| StatusCheckFailedSystem
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText InstanceMetricName where
parser = takeLowerText >>= \case
"cpuutilization" -> pure CPUUtilization
"networkin" -> pure NetworkIn
"networkout" -> pure NetworkOut
"statuscheckfailed" -> pure StatusCheckFailed
"statuscheckfailed_instance" -> pure StatusCheckFailedInstance
"statuscheckfailed_system" -> pure StatusCheckFailedSystem
e -> fromTextError $ "Failure parsing InstanceMetricName from value: '" <> e
<> "'. Accepted values: cpuutilization, networkin, networkout, statuscheckfailed, statuscheckfailed_instance, statuscheckfailed_system"
instance ToText InstanceMetricName where
toText = \case
CPUUtilization -> "CPUUtilization"
NetworkIn -> "NetworkIn"
NetworkOut -> "NetworkOut"
StatusCheckFailed -> "StatusCheckFailed"
StatusCheckFailedInstance -> "StatusCheckFailed_Instance"
StatusCheckFailedSystem -> "StatusCheckFailed_System"
instance Hashable InstanceMetricName
instance NFData InstanceMetricName
instance ToByteString InstanceMetricName
instance ToQuery InstanceMetricName
instance ToHeader InstanceMetricName
instance ToJSON InstanceMetricName where
toJSON = toJSONText
instance FromJSON InstanceMetricName where
parseJSON = parseJSONText "InstanceMetricName"
data InstancePlatform
= LinuxUnix
| Windows
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText InstancePlatform where
parser = takeLowerText >>= \case
"linux_unix" -> pure LinuxUnix
"windows" -> pure Windows
e -> fromTextError $ "Failure parsing InstancePlatform from value: '" <> e
<> "'. Accepted values: linux_unix, windows"
instance ToText InstancePlatform where
toText = \case
LinuxUnix -> "LINUX_UNIX"
Windows -> "WINDOWS"
instance Hashable InstancePlatform
instance NFData InstancePlatform
instance ToByteString InstancePlatform
instance ToQuery InstancePlatform
instance ToHeader InstancePlatform
instance FromJSON InstancePlatform where
parseJSON = parseJSONText "InstancePlatform"
data InstanceSnapshotState
= Available
| Error'
| Pending
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText InstanceSnapshotState where
parser = takeLowerText >>= \case
"available" -> pure Available
"error" -> pure Error'
"pending" -> pure Pending
e -> fromTextError $ "Failure parsing InstanceSnapshotState from value: '" <> e
<> "'. Accepted values: available, error, pending"
instance ToText InstanceSnapshotState where
toText = \case
Available -> "available"
Error' -> "error"
Pending -> "pending"
instance Hashable InstanceSnapshotState
instance NFData InstanceSnapshotState
instance ToByteString InstanceSnapshotState
instance ToQuery InstanceSnapshotState
instance ToHeader InstanceSnapshotState
instance FromJSON InstanceSnapshotState where
parseJSON = parseJSONText "InstanceSnapshotState"
data MetricStatistic
= Average
| Maximum
| Minimum
| SampleCount
| Sum
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText MetricStatistic where
parser = takeLowerText >>= \case
"average" -> pure Average
"maximum" -> pure Maximum
"minimum" -> pure Minimum
"samplecount" -> pure SampleCount
"sum" -> pure Sum
e -> fromTextError $ "Failure parsing MetricStatistic from value: '" <> e
<> "'. Accepted values: average, maximum, minimum, samplecount, sum"
instance ToText MetricStatistic where
toText = \case
Average -> "Average"
Maximum -> "Maximum"
Minimum -> "Minimum"
SampleCount -> "SampleCount"
Sum -> "Sum"
instance Hashable MetricStatistic
instance NFData MetricStatistic
instance ToByteString MetricStatistic
instance ToQuery MetricStatistic
instance ToHeader MetricStatistic
instance ToJSON MetricStatistic where
toJSON = toJSONText
data MetricUnit
= Bits
| BitsSecond
| Bytes
| BytesSecond
| Count
| CountSecond
| Gigabits
| GigabitsSecond
| Gigabytes
| GigabytesSecond
| Kilobits
| KilobitsSecond
| Kilobytes
| KilobytesSecond
| Megabits
| MegabitsSecond
| Megabytes
| MegabytesSecond
| Microseconds
| Milliseconds
| None
| Percent
| Seconds
| Terabits
| TerabitsSecond
| Terabytes
| TerabytesSecond
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText MetricUnit where
parser = takeLowerText >>= \case
"bits" -> pure Bits
"bits/second" -> pure BitsSecond
"bytes" -> pure Bytes
"bytes/second" -> pure BytesSecond
"count" -> pure Count
"count/second" -> pure CountSecond
"gigabits" -> pure Gigabits
"gigabits/second" -> pure GigabitsSecond
"gigabytes" -> pure Gigabytes
"gigabytes/second" -> pure GigabytesSecond
"kilobits" -> pure Kilobits
"kilobits/second" -> pure KilobitsSecond
"kilobytes" -> pure Kilobytes
"kilobytes/second" -> pure KilobytesSecond
"megabits" -> pure Megabits
"megabits/second" -> pure MegabitsSecond
"megabytes" -> pure Megabytes
"megabytes/second" -> pure MegabytesSecond
"microseconds" -> pure Microseconds
"milliseconds" -> pure Milliseconds
"none" -> pure None
"percent" -> pure Percent
"seconds" -> pure Seconds
"terabits" -> pure Terabits
"terabits/second" -> pure TerabitsSecond
"terabytes" -> pure Terabytes
"terabytes/second" -> pure TerabytesSecond
e -> fromTextError $ "Failure parsing MetricUnit from value: '" <> e
<> "'. Accepted values: bits, bits/second, bytes, bytes/second, count, count/second, gigabits, gigabits/second, gigabytes, gigabytes/second, kilobits, kilobits/second, kilobytes, kilobytes/second, megabits, megabits/second, megabytes, megabytes/second, microseconds, milliseconds, none, percent, seconds, terabits, terabits/second, terabytes, terabytes/second"
instance ToText MetricUnit where
toText = \case
Bits -> "Bits"
BitsSecond -> "Bits/Second"
Bytes -> "Bytes"
BytesSecond -> "Bytes/Second"
Count -> "Count"
CountSecond -> "Count/Second"
Gigabits -> "Gigabits"
GigabitsSecond -> "Gigabits/Second"
Gigabytes -> "Gigabytes"
GigabytesSecond -> "Gigabytes/Second"
Kilobits -> "Kilobits"
KilobitsSecond -> "Kilobits/Second"
Kilobytes -> "Kilobytes"
KilobytesSecond -> "Kilobytes/Second"
Megabits -> "Megabits"
MegabitsSecond -> "Megabits/Second"
Megabytes -> "Megabytes"
MegabytesSecond -> "Megabytes/Second"
Microseconds -> "Microseconds"
Milliseconds -> "Milliseconds"
None -> "None"
Percent -> "Percent"
Seconds -> "Seconds"
Terabits -> "Terabits"
TerabitsSecond -> "Terabits/Second"
Terabytes -> "Terabytes"
TerabytesSecond -> "Terabytes/Second"
instance Hashable MetricUnit
instance NFData MetricUnit
instance ToByteString MetricUnit
instance ToQuery MetricUnit
instance ToHeader MetricUnit
instance ToJSON MetricUnit where
toJSON = toJSONText
instance FromJSON MetricUnit where
parseJSON = parseJSONText "MetricUnit"
data NetworkProtocol
= All
| TCP
| Udp
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText NetworkProtocol where
parser = takeLowerText >>= \case
"all" -> pure All
"tcp" -> pure TCP
"udp" -> pure Udp
e -> fromTextError $ "Failure parsing NetworkProtocol from value: '" <> e
<> "'. Accepted values: all, tcp, udp"
instance ToText NetworkProtocol where
toText = \case
All -> "all"
TCP -> "tcp"
Udp -> "udp"
instance Hashable NetworkProtocol
instance NFData NetworkProtocol
instance ToByteString NetworkProtocol
instance ToQuery NetworkProtocol
instance ToHeader NetworkProtocol
instance ToJSON NetworkProtocol where
toJSON = toJSONText
instance FromJSON NetworkProtocol where
parseJSON = parseJSONText "NetworkProtocol"
data OperationStatus
= Completed
| Failed
| NotStarted
| Started
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText OperationStatus where
parser = takeLowerText >>= \case
"completed" -> pure Completed
"failed" -> pure Failed
"notstarted" -> pure NotStarted
"started" -> pure Started
e -> fromTextError $ "Failure parsing OperationStatus from value: '" <> e
<> "'. Accepted values: completed, failed, notstarted, started"
instance ToText OperationStatus where
toText = \case
Completed -> "Completed"
Failed -> "Failed"
NotStarted -> "NotStarted"
Started -> "Started"
instance Hashable OperationStatus
instance NFData OperationStatus
instance ToByteString OperationStatus
instance ToQuery OperationStatus
instance ToHeader OperationStatus
instance FromJSON OperationStatus where
parseJSON = parseJSONText "OperationStatus"
data OperationType
= AllocateStaticIP
| AttachStaticIP
| CloseInstancePublicPorts
| CreateDomain
| CreateInstance
| CreateInstanceSnapshot
| CreateInstancesFromSnapshot
| DeleteDomain
| DeleteDomainEntry
| DeleteInstance
| DeleteInstanceSnapshot
| DetachStaticIP
| OpenInstancePublicPorts
| PutInstancePublicPorts
| RebootInstance
| ReleaseStaticIP
| StartInstance
| StopInstance
| UpdateDomainEntry
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText OperationType where
parser = takeLowerText >>= \case
"allocatestaticip" -> pure AllocateStaticIP
"attachstaticip" -> pure AttachStaticIP
"closeinstancepublicports" -> pure CloseInstancePublicPorts
"createdomain" -> pure CreateDomain
"createinstance" -> pure CreateInstance
"createinstancesnapshot" -> pure CreateInstanceSnapshot
"createinstancesfromsnapshot" -> pure CreateInstancesFromSnapshot
"deletedomain" -> pure DeleteDomain
"deletedomainentry" -> pure DeleteDomainEntry
"deleteinstance" -> pure DeleteInstance
"deleteinstancesnapshot" -> pure DeleteInstanceSnapshot
"detachstaticip" -> pure DetachStaticIP
"openinstancepublicports" -> pure OpenInstancePublicPorts
"putinstancepublicports" -> pure PutInstancePublicPorts
"rebootinstance" -> pure RebootInstance
"releasestaticip" -> pure ReleaseStaticIP
"startinstance" -> pure StartInstance
"stopinstance" -> pure StopInstance
"updatedomainentry" -> pure UpdateDomainEntry
e -> fromTextError $ "Failure parsing OperationType from value: '" <> e
<> "'. Accepted values: allocatestaticip, attachstaticip, closeinstancepublicports, createdomain, createinstance, createinstancesnapshot, createinstancesfromsnapshot, deletedomain, deletedomainentry, deleteinstance, deleteinstancesnapshot, detachstaticip, openinstancepublicports, putinstancepublicports, rebootinstance, releasestaticip, startinstance, stopinstance, updatedomainentry"
instance ToText OperationType where
toText = \case
AllocateStaticIP -> "AllocateStaticIp"
AttachStaticIP -> "AttachStaticIp"
CloseInstancePublicPorts -> "CloseInstancePublicPorts"
CreateDomain -> "CreateDomain"
CreateInstance -> "CreateInstance"
CreateInstanceSnapshot -> "CreateInstanceSnapshot"
CreateInstancesFromSnapshot -> "CreateInstancesFromSnapshot"
DeleteDomain -> "DeleteDomain"
DeleteDomainEntry -> "DeleteDomainEntry"
DeleteInstance -> "DeleteInstance"
DeleteInstanceSnapshot -> "DeleteInstanceSnapshot"
DetachStaticIP -> "DetachStaticIp"
OpenInstancePublicPorts -> "OpenInstancePublicPorts"
PutInstancePublicPorts -> "PutInstancePublicPorts"
RebootInstance -> "RebootInstance"
ReleaseStaticIP -> "ReleaseStaticIp"
StartInstance -> "StartInstance"
StopInstance -> "StopInstance"
UpdateDomainEntry -> "UpdateDomainEntry"
instance Hashable OperationType
instance NFData OperationType
instance ToByteString OperationType
instance ToQuery OperationType
instance ToHeader OperationType
instance FromJSON OperationType where
parseJSON = parseJSONText "OperationType"
data PortAccessType
= Private
| Public
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText PortAccessType where
parser = takeLowerText >>= \case
"private" -> pure Private
"public" -> pure Public
e -> fromTextError $ "Failure parsing PortAccessType from value: '" <> e
<> "'. Accepted values: private, public"
instance ToText PortAccessType where
toText = \case
Private -> "Private"
Public -> "Public"
instance Hashable PortAccessType
instance NFData PortAccessType
instance ToByteString PortAccessType
instance ToQuery PortAccessType
instance ToHeader PortAccessType
instance FromJSON PortAccessType where
parseJSON = parseJSONText "PortAccessType"
data PortState
= Closed
| Open
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText PortState where
parser = takeLowerText >>= \case
"closed" -> pure Closed
"open" -> pure Open
e -> fromTextError $ "Failure parsing PortState from value: '" <> e
<> "'. Accepted values: closed, open"
instance ToText PortState where
toText = \case
Closed -> "closed"
Open -> "open"
instance Hashable PortState
instance NFData PortState
instance ToByteString PortState
instance ToQuery PortState
instance ToHeader PortState
instance FromJSON PortState where
parseJSON = parseJSONText "PortState"
data RegionName
= ApNortheast1
| ApNortheast2
| ApSouth1
| ApSoutheast1
| ApSoutheast2
| EuCentral1
| EuWest1
| UsEast1
| UsEast2
| UsWest1
| UsWest2
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText RegionName where
parser = takeLowerText >>= \case
"ap-northeast-1" -> pure ApNortheast1
"ap-northeast-2" -> pure ApNortheast2
"ap-south-1" -> pure ApSouth1
"ap-southeast-1" -> pure ApSoutheast1
"ap-southeast-2" -> pure ApSoutheast2
"eu-central-1" -> pure EuCentral1
"eu-west-1" -> pure EuWest1
"us-east-1" -> pure UsEast1
"us-east-2" -> pure UsEast2
"us-west-1" -> pure UsWest1
"us-west-2" -> pure UsWest2
e -> fromTextError $ "Failure parsing RegionName from value: '" <> e
<> "'. Accepted values: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, us-east-1, us-east-2, us-west-1, us-west-2"
instance ToText RegionName where
toText = \case
ApNortheast1 -> "ap-northeast-1"
ApNortheast2 -> "ap-northeast-2"
ApSouth1 -> "ap-south-1"
ApSoutheast1 -> "ap-southeast-1"
ApSoutheast2 -> "ap-southeast-2"
EuCentral1 -> "eu-central-1"
EuWest1 -> "eu-west-1"
UsEast1 -> "us-east-1"
UsEast2 -> "us-east-2"
UsWest1 -> "us-west-1"
UsWest2 -> "us-west-2"
instance Hashable RegionName
instance NFData RegionName
instance ToByteString RegionName
instance ToQuery RegionName
instance ToHeader RegionName
instance FromJSON RegionName where
parseJSON = parseJSONText "RegionName"
data ResourceType
= Domain
| Instance
| InstanceSnapshot
| KeyPair
| PeeredVPC
| StaticIP
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText ResourceType where
parser = takeLowerText >>= \case
"domain" -> pure Domain
"instance" -> pure Instance
"instancesnapshot" -> pure InstanceSnapshot
"keypair" -> pure KeyPair
"peeredvpc" -> pure PeeredVPC
"staticip" -> pure StaticIP
e -> fromTextError $ "Failure parsing ResourceType from value: '" <> e
<> "'. Accepted values: domain, instance, instancesnapshot, keypair, peeredvpc, staticip"
instance ToText ResourceType where
toText = \case
Domain -> "Domain"
Instance -> "Instance"
InstanceSnapshot -> "InstanceSnapshot"
KeyPair -> "KeyPair"
PeeredVPC -> "PeeredVpc"
StaticIP -> "StaticIp"
instance Hashable ResourceType
instance NFData ResourceType
instance ToByteString ResourceType
instance ToQuery ResourceType
instance ToHeader ResourceType
instance FromJSON ResourceType where
parseJSON = parseJSONText "ResourceType"