{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Network.AWS.Lightsail.Types.Sum -- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- 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 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 | 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 "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, 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" 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 | 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-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-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" 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"