{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
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 DiskSnapshotState
= DSSCompleted
| DSSError'
| DSSPending
| DSSUnknown
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText DiskSnapshotState where
parser = takeLowerText >>= \case
"completed" -> pure DSSCompleted
"error" -> pure DSSError'
"pending" -> pure DSSPending
"unknown" -> pure DSSUnknown
e -> fromTextError $ "Failure parsing DiskSnapshotState from value: '" <> e
<> "'. Accepted values: completed, error, pending, unknown"
instance ToText DiskSnapshotState where
toText = \case
DSSCompleted -> "completed"
DSSError' -> "error"
DSSPending -> "pending"
DSSUnknown -> "unknown"
instance Hashable DiskSnapshotState
instance NFData DiskSnapshotState
instance ToByteString DiskSnapshotState
instance ToQuery DiskSnapshotState
instance ToHeader DiskSnapshotState
instance FromJSON DiskSnapshotState where
parseJSON = parseJSONText "DiskSnapshotState"
data DiskState
= Available
| Error'
| InUse
| Pending
| Unknown
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText DiskState where
parser = takeLowerText >>= \case
"available" -> pure Available
"error" -> pure Error'
"in-use" -> pure InUse
"pending" -> pure Pending
"unknown" -> pure Unknown
e -> fromTextError $ "Failure parsing DiskState from value: '" <> e
<> "'. Accepted values: available, error, in-use, pending, unknown"
instance ToText DiskState where
toText = \case
Available -> "available"
Error' -> "error"
InUse -> "in-use"
Pending -> "pending"
Unknown -> "unknown"
instance Hashable DiskState
instance NFData DiskState
instance ToByteString DiskState
instance ToQuery DiskState
instance ToHeader DiskState
instance FromJSON DiskState where
parseJSON = parseJSONText "DiskState"
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 InstanceHealthReason
= Instance_DeregistrationInProgress
| Instance_FailedHealthChecks
| Instance_IPUnusable
| Instance_InvalidState
| Instance_NotInUse
| Instance_NotRegistered
| Instance_ResponseCodeMismatch
| Instance_Timeout
| Lb_InitialHealthChecking
| Lb_InternalError
| Lb_RegistrationInProgress
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText InstanceHealthReason where
parser = takeLowerText >>= \case
"instance.deregistrationinprogress" -> pure Instance_DeregistrationInProgress
"instance.failedhealthchecks" -> pure Instance_FailedHealthChecks
"instance.ipunusable" -> pure Instance_IPUnusable
"instance.invalidstate" -> pure Instance_InvalidState
"instance.notinuse" -> pure Instance_NotInUse
"instance.notregistered" -> pure Instance_NotRegistered
"instance.responsecodemismatch" -> pure Instance_ResponseCodeMismatch
"instance.timeout" -> pure Instance_Timeout
"lb.initialhealthchecking" -> pure Lb_InitialHealthChecking
"lb.internalerror" -> pure Lb_InternalError
"lb.registrationinprogress" -> pure Lb_RegistrationInProgress
e -> fromTextError $ "Failure parsing InstanceHealthReason from value: '" <> e
<> "'. Accepted values: instance.deregistrationinprogress, instance.failedhealthchecks, instance.ipunusable, instance.invalidstate, instance.notinuse, instance.notregistered, instance.responsecodemismatch, instance.timeout, lb.initialhealthchecking, lb.internalerror, lb.registrationinprogress"
instance ToText InstanceHealthReason where
toText = \case
Instance_DeregistrationInProgress -> "Instance.DeregistrationInProgress"
Instance_FailedHealthChecks -> "Instance.FailedHealthChecks"
Instance_IPUnusable -> "Instance.IpUnusable"
Instance_InvalidState -> "Instance.InvalidState"
Instance_NotInUse -> "Instance.NotInUse"
Instance_NotRegistered -> "Instance.NotRegistered"
Instance_ResponseCodeMismatch -> "Instance.ResponseCodeMismatch"
Instance_Timeout -> "Instance.Timeout"
Lb_InitialHealthChecking -> "Lb.InitialHealthChecking"
Lb_InternalError -> "Lb.InternalError"
Lb_RegistrationInProgress -> "Lb.RegistrationInProgress"
instance Hashable InstanceHealthReason
instance NFData InstanceHealthReason
instance ToByteString InstanceHealthReason
instance ToQuery InstanceHealthReason
instance ToHeader InstanceHealthReason
instance FromJSON InstanceHealthReason where
parseJSON = parseJSONText "InstanceHealthReason"
data InstanceHealthState
= Draining
| Healthy
| Initial
| Unavailable
| Unhealthy
| Unused
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText InstanceHealthState where
parser = takeLowerText >>= \case
"draining" -> pure Draining
"healthy" -> pure Healthy
"initial" -> pure Initial
"unavailable" -> pure Unavailable
"unhealthy" -> pure Unhealthy
"unused" -> pure Unused
e -> fromTextError $ "Failure parsing InstanceHealthState from value: '" <> e
<> "'. Accepted values: draining, healthy, initial, unavailable, unhealthy, unused"
instance ToText InstanceHealthState where
toText = \case
Draining -> "draining"
Healthy -> "healthy"
Initial -> "initial"
Unavailable -> "unavailable"
Unhealthy -> "unhealthy"
Unused -> "unused"
instance Hashable InstanceHealthState
instance NFData InstanceHealthState
instance ToByteString InstanceHealthState
instance ToQuery InstanceHealthState
instance ToHeader InstanceHealthState
instance FromJSON InstanceHealthState where
parseJSON = parseJSONText "InstanceHealthState"
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
= ISSAvailable
| ISSError'
| ISSPending
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText InstanceSnapshotState where
parser = takeLowerText >>= \case
"available" -> pure ISSAvailable
"error" -> pure ISSError'
"pending" -> pure ISSPending
e -> fromTextError $ "Failure parsing InstanceSnapshotState from value: '" <> e
<> "'. Accepted values: available, error, pending"
instance ToText InstanceSnapshotState where
toText = \case
ISSAvailable -> "available"
ISSError' -> "error"
ISSPending -> "pending"
instance Hashable InstanceSnapshotState
instance NFData InstanceSnapshotState
instance ToByteString InstanceSnapshotState
instance ToQuery InstanceSnapshotState
instance ToHeader InstanceSnapshotState
instance FromJSON InstanceSnapshotState where
parseJSON = parseJSONText "InstanceSnapshotState"
data LoadBalancerAttributeName
= HealthCheckPath
| SessionStickinessEnabled
| SessionStickinessLbCookieDurationSeconds
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText LoadBalancerAttributeName where
parser = takeLowerText >>= \case
"healthcheckpath" -> pure HealthCheckPath
"sessionstickinessenabled" -> pure SessionStickinessEnabled
"sessionstickiness_lb_cookiedurationseconds" -> pure SessionStickinessLbCookieDurationSeconds
e -> fromTextError $ "Failure parsing LoadBalancerAttributeName from value: '" <> e
<> "'. Accepted values: healthcheckpath, sessionstickinessenabled, sessionstickiness_lb_cookiedurationseconds"
instance ToText LoadBalancerAttributeName where
toText = \case
HealthCheckPath -> "HealthCheckPath"
SessionStickinessEnabled -> "SessionStickinessEnabled"
SessionStickinessLbCookieDurationSeconds -> "SessionStickiness_LB_CookieDurationSeconds"
instance Hashable LoadBalancerAttributeName
instance NFData LoadBalancerAttributeName
instance ToByteString LoadBalancerAttributeName
instance ToQuery LoadBalancerAttributeName
instance ToHeader LoadBalancerAttributeName
instance ToJSON LoadBalancerAttributeName where
toJSON = toJSONText
instance FromJSON LoadBalancerAttributeName where
parseJSON = parseJSONText "LoadBalancerAttributeName"
data LoadBalancerMetricName
= ClientTLSNegotiationErrorCount
| HTTPCodeInstance2XXCount
| HTTPCodeInstance3XXCount
| HTTPCodeInstance4XXCount
| HTTPCodeInstance5XXCount
| HTTPCodeLb4XXCount
| HTTPCodeLb5XXCount
| HealthyHostCount
| InstanceResponseTime
| RejectedConnectionCount
| RequestCount
| UnhealthyHostCount
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText LoadBalancerMetricName where
parser = takeLowerText >>= \case
"clienttlsnegotiationerrorcount" -> pure ClientTLSNegotiationErrorCount
"httpcode_instance_2xx_count" -> pure HTTPCodeInstance2XXCount
"httpcode_instance_3xx_count" -> pure HTTPCodeInstance3XXCount
"httpcode_instance_4xx_count" -> pure HTTPCodeInstance4XXCount
"httpcode_instance_5xx_count" -> pure HTTPCodeInstance5XXCount
"httpcode_lb_4xx_count" -> pure HTTPCodeLb4XXCount
"httpcode_lb_5xx_count" -> pure HTTPCodeLb5XXCount
"healthyhostcount" -> pure HealthyHostCount
"instanceresponsetime" -> pure InstanceResponseTime
"rejectedconnectioncount" -> pure RejectedConnectionCount
"requestcount" -> pure RequestCount
"unhealthyhostcount" -> pure UnhealthyHostCount
e -> fromTextError $ "Failure parsing LoadBalancerMetricName from value: '" <> e
<> "'. Accepted values: clienttlsnegotiationerrorcount, httpcode_instance_2xx_count, httpcode_instance_3xx_count, httpcode_instance_4xx_count, httpcode_instance_5xx_count, httpcode_lb_4xx_count, httpcode_lb_5xx_count, healthyhostcount, instanceresponsetime, rejectedconnectioncount, requestcount, unhealthyhostcount"
instance ToText LoadBalancerMetricName where
toText = \case
ClientTLSNegotiationErrorCount -> "ClientTLSNegotiationErrorCount"
HTTPCodeInstance2XXCount -> "HTTPCode_Instance_2XX_Count"
HTTPCodeInstance3XXCount -> "HTTPCode_Instance_3XX_Count"
HTTPCodeInstance4XXCount -> "HTTPCode_Instance_4XX_Count"
HTTPCodeInstance5XXCount -> "HTTPCode_Instance_5XX_Count"
HTTPCodeLb4XXCount -> "HTTPCode_LB_4XX_Count"
HTTPCodeLb5XXCount -> "HTTPCode_LB_5XX_Count"
HealthyHostCount -> "HealthyHostCount"
InstanceResponseTime -> "InstanceResponseTime"
RejectedConnectionCount -> "RejectedConnectionCount"
RequestCount -> "RequestCount"
UnhealthyHostCount -> "UnhealthyHostCount"
instance Hashable LoadBalancerMetricName
instance NFData LoadBalancerMetricName
instance ToByteString LoadBalancerMetricName
instance ToQuery LoadBalancerMetricName
instance ToHeader LoadBalancerMetricName
instance ToJSON LoadBalancerMetricName where
toJSON = toJSONText
instance FromJSON LoadBalancerMetricName where
parseJSON = parseJSONText "LoadBalancerMetricName"
data LoadBalancerProtocol
= HTTP
| HTTPHTTPS
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText LoadBalancerProtocol where
parser = takeLowerText >>= \case
"http" -> pure HTTP
"http_https" -> pure HTTPHTTPS
e -> fromTextError $ "Failure parsing LoadBalancerProtocol from value: '" <> e
<> "'. Accepted values: http, http_https"
instance ToText LoadBalancerProtocol where
toText = \case
HTTP -> "HTTP"
HTTPHTTPS -> "HTTP_HTTPS"
instance Hashable LoadBalancerProtocol
instance NFData LoadBalancerProtocol
instance ToByteString LoadBalancerProtocol
instance ToQuery LoadBalancerProtocol
instance ToHeader LoadBalancerProtocol
instance FromJSON LoadBalancerProtocol where
parseJSON = parseJSONText "LoadBalancerProtocol"
data LoadBalancerState
= LBSActive
| LBSActiveImpaired
| LBSFailed
| LBSProvisioning
| LBSUnknown
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText LoadBalancerState where
parser = takeLowerText >>= \case
"active" -> pure LBSActive
"active_impaired" -> pure LBSActiveImpaired
"failed" -> pure LBSFailed
"provisioning" -> pure LBSProvisioning
"unknown" -> pure LBSUnknown
e -> fromTextError $ "Failure parsing LoadBalancerState from value: '" <> e
<> "'. Accepted values: active, active_impaired, failed, provisioning, unknown"
instance ToText LoadBalancerState where
toText = \case
LBSActive -> "active"
LBSActiveImpaired -> "active_impaired"
LBSFailed -> "failed"
LBSProvisioning -> "provisioning"
LBSUnknown -> "unknown"
instance Hashable LoadBalancerState
instance NFData LoadBalancerState
instance ToByteString LoadBalancerState
instance ToQuery LoadBalancerState
instance ToHeader LoadBalancerState
instance FromJSON LoadBalancerState where
parseJSON = parseJSONText "LoadBalancerState"
data LoadBalancerTLSCertificateDomainStatus
= LBTCDSFailed
| LBTCDSPendingValidation
| LBTCDSSuccess
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText LoadBalancerTLSCertificateDomainStatus where
parser = takeLowerText >>= \case
"failed" -> pure LBTCDSFailed
"pending_validation" -> pure LBTCDSPendingValidation
"success" -> pure LBTCDSSuccess
e -> fromTextError $ "Failure parsing LoadBalancerTLSCertificateDomainStatus from value: '" <> e
<> "'. Accepted values: failed, pending_validation, success"
instance ToText LoadBalancerTLSCertificateDomainStatus where
toText = \case
LBTCDSFailed -> "FAILED"
LBTCDSPendingValidation -> "PENDING_VALIDATION"
LBTCDSSuccess -> "SUCCESS"
instance Hashable LoadBalancerTLSCertificateDomainStatus
instance NFData LoadBalancerTLSCertificateDomainStatus
instance ToByteString LoadBalancerTLSCertificateDomainStatus
instance ToQuery LoadBalancerTLSCertificateDomainStatus
instance ToHeader LoadBalancerTLSCertificateDomainStatus
instance FromJSON LoadBalancerTLSCertificateDomainStatus where
parseJSON = parseJSONText "LoadBalancerTLSCertificateDomainStatus"
data LoadBalancerTLSCertificateFailureReason
= AdditionalVerificationRequired
| DomainNotAllowed
| InvalidPublicDomain
| NoAvailableContacts
| Other
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText LoadBalancerTLSCertificateFailureReason where
parser = takeLowerText >>= \case
"additional_verification_required" -> pure AdditionalVerificationRequired
"domain_not_allowed" -> pure DomainNotAllowed
"invalid_public_domain" -> pure InvalidPublicDomain
"no_available_contacts" -> pure NoAvailableContacts
"other" -> pure Other
e -> fromTextError $ "Failure parsing LoadBalancerTLSCertificateFailureReason from value: '" <> e
<> "'. Accepted values: additional_verification_required, domain_not_allowed, invalid_public_domain, no_available_contacts, other"
instance ToText LoadBalancerTLSCertificateFailureReason where
toText = \case
AdditionalVerificationRequired -> "ADDITIONAL_VERIFICATION_REQUIRED"
DomainNotAllowed -> "DOMAIN_NOT_ALLOWED"
InvalidPublicDomain -> "INVALID_PUBLIC_DOMAIN"
NoAvailableContacts -> "NO_AVAILABLE_CONTACTS"
Other -> "OTHER"
instance Hashable LoadBalancerTLSCertificateFailureReason
instance NFData LoadBalancerTLSCertificateFailureReason
instance ToByteString LoadBalancerTLSCertificateFailureReason
instance ToQuery LoadBalancerTLSCertificateFailureReason
instance ToHeader LoadBalancerTLSCertificateFailureReason
instance FromJSON LoadBalancerTLSCertificateFailureReason where
parseJSON = parseJSONText "LoadBalancerTLSCertificateFailureReason"
data LoadBalancerTLSCertificateRenewalStatus
= LBTCRSFailed
| LBTCRSPendingAutoRenewal
| LBTCRSPendingValidation
| LBTCRSSuccess
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText LoadBalancerTLSCertificateRenewalStatus where
parser = takeLowerText >>= \case
"failed" -> pure LBTCRSFailed
"pending_auto_renewal" -> pure LBTCRSPendingAutoRenewal
"pending_validation" -> pure LBTCRSPendingValidation
"success" -> pure LBTCRSSuccess
e -> fromTextError $ "Failure parsing LoadBalancerTLSCertificateRenewalStatus from value: '" <> e
<> "'. Accepted values: failed, pending_auto_renewal, pending_validation, success"
instance ToText LoadBalancerTLSCertificateRenewalStatus where
toText = \case
LBTCRSFailed -> "FAILED"
LBTCRSPendingAutoRenewal -> "PENDING_AUTO_RENEWAL"
LBTCRSPendingValidation -> "PENDING_VALIDATION"
LBTCRSSuccess -> "SUCCESS"
instance Hashable LoadBalancerTLSCertificateRenewalStatus
instance NFData LoadBalancerTLSCertificateRenewalStatus
instance ToByteString LoadBalancerTLSCertificateRenewalStatus
instance ToQuery LoadBalancerTLSCertificateRenewalStatus
instance ToHeader LoadBalancerTLSCertificateRenewalStatus
instance FromJSON LoadBalancerTLSCertificateRenewalStatus where
parseJSON = parseJSONText "LoadBalancerTLSCertificateRenewalStatus"
data LoadBalancerTLSCertificateRevocationReason
= AACompromise
| AffiliationChanged
| CaCompromise
| CertificateHold
| CessationOfOperation
| KeyCompromise
| PrivilegeWithdrawn
| RemoveFromCrl
| Superceded
| Unspecified
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText LoadBalancerTLSCertificateRevocationReason where
parser = takeLowerText >>= \case
"a_a_compromise" -> pure AACompromise
"affiliation_changed" -> pure AffiliationChanged
"ca_compromise" -> pure CaCompromise
"certificate_hold" -> pure CertificateHold
"cessation_of_operation" -> pure CessationOfOperation
"key_compromise" -> pure KeyCompromise
"privilege_withdrawn" -> pure PrivilegeWithdrawn
"remove_from_crl" -> pure RemoveFromCrl
"superceded" -> pure Superceded
"unspecified" -> pure Unspecified
e -> fromTextError $ "Failure parsing LoadBalancerTLSCertificateRevocationReason from value: '" <> e
<> "'. Accepted values: a_a_compromise, affiliation_changed, ca_compromise, certificate_hold, cessation_of_operation, key_compromise, privilege_withdrawn, remove_from_crl, superceded, unspecified"
instance ToText LoadBalancerTLSCertificateRevocationReason where
toText = \case
AACompromise -> "A_A_COMPROMISE"
AffiliationChanged -> "AFFILIATION_CHANGED"
CaCompromise -> "CA_COMPROMISE"
CertificateHold -> "CERTIFICATE_HOLD"
CessationOfOperation -> "CESSATION_OF_OPERATION"
KeyCompromise -> "KEY_COMPROMISE"
PrivilegeWithdrawn -> "PRIVILEGE_WITHDRAWN"
RemoveFromCrl -> "REMOVE_FROM_CRL"
Superceded -> "SUPERCEDED"
Unspecified -> "UNSPECIFIED"
instance Hashable LoadBalancerTLSCertificateRevocationReason
instance NFData LoadBalancerTLSCertificateRevocationReason
instance ToByteString LoadBalancerTLSCertificateRevocationReason
instance ToQuery LoadBalancerTLSCertificateRevocationReason
instance ToHeader LoadBalancerTLSCertificateRevocationReason
instance FromJSON LoadBalancerTLSCertificateRevocationReason where
parseJSON = parseJSONText "LoadBalancerTLSCertificateRevocationReason"
data LoadBalancerTLSCertificateStatus
= LBTCSExpired
| LBTCSFailed
| LBTCSInactive
| LBTCSIssued
| LBTCSPendingValidation
| LBTCSRevoked
| LBTCSUnknown
| LBTCSValidationTimedOut
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText LoadBalancerTLSCertificateStatus where
parser = takeLowerText >>= \case
"expired" -> pure LBTCSExpired
"failed" -> pure LBTCSFailed
"inactive" -> pure LBTCSInactive
"issued" -> pure LBTCSIssued
"pending_validation" -> pure LBTCSPendingValidation
"revoked" -> pure LBTCSRevoked
"unknown" -> pure LBTCSUnknown
"validation_timed_out" -> pure LBTCSValidationTimedOut
e -> fromTextError $ "Failure parsing LoadBalancerTLSCertificateStatus from value: '" <> e
<> "'. Accepted values: expired, failed, inactive, issued, pending_validation, revoked, unknown, validation_timed_out"
instance ToText LoadBalancerTLSCertificateStatus where
toText = \case
LBTCSExpired -> "EXPIRED"
LBTCSFailed -> "FAILED"
LBTCSInactive -> "INACTIVE"
LBTCSIssued -> "ISSUED"
LBTCSPendingValidation -> "PENDING_VALIDATION"
LBTCSRevoked -> "REVOKED"
LBTCSUnknown -> "UNKNOWN"
LBTCSValidationTimedOut -> "VALIDATION_TIMED_OUT"
instance Hashable LoadBalancerTLSCertificateStatus
instance NFData LoadBalancerTLSCertificateStatus
instance ToByteString LoadBalancerTLSCertificateStatus
instance ToQuery LoadBalancerTLSCertificateStatus
instance ToHeader LoadBalancerTLSCertificateStatus
instance FromJSON LoadBalancerTLSCertificateStatus where
parseJSON = parseJSONText "LoadBalancerTLSCertificateStatus"
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
| Succeeded
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
"succeeded" -> pure Succeeded
e -> fromTextError $ "Failure parsing OperationStatus from value: '" <> e
<> "'. Accepted values: completed, failed, notstarted, started, succeeded"
instance ToText OperationStatus where
toText = \case
Completed -> "Completed"
Failed -> "Failed"
NotStarted -> "NotStarted"
Started -> "Started"
Succeeded -> "Succeeded"
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
| AttachDisk
| AttachInstancesToLoadBalancer
| AttachLoadBalancerTLSCertificate
| AttachStaticIP
| CloseInstancePublicPorts
| CreateDisk
| CreateDiskFromSnapshot
| CreateDiskSnapshot
| CreateDomain
| CreateInstance
| CreateInstanceSnapshot
| CreateInstancesFromSnapshot
| CreateLoadBalancer
| CreateLoadBalancerTLSCertificate
| DeleteDisk
| DeleteDiskSnapshot
| DeleteDomain
| DeleteDomainEntry
| DeleteInstance
| DeleteInstanceSnapshot
| DeleteLoadBalancer
| DeleteLoadBalancerTLSCertificate
| DetachDisk
| DetachInstancesFromLoadBalancer
| DetachStaticIP
| OpenInstancePublicPorts
| PutInstancePublicPorts
| RebootInstance
| ReleaseStaticIP
| StartInstance
| StopInstance
| UpdateDomainEntry
| UpdateLoadBalancerAttribute
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText OperationType where
parser = takeLowerText >>= \case
"allocatestaticip" -> pure AllocateStaticIP
"attachdisk" -> pure AttachDisk
"attachinstancestoloadbalancer" -> pure AttachInstancesToLoadBalancer
"attachloadbalancertlscertificate" -> pure AttachLoadBalancerTLSCertificate
"attachstaticip" -> pure AttachStaticIP
"closeinstancepublicports" -> pure CloseInstancePublicPorts
"createdisk" -> pure CreateDisk
"creatediskfromsnapshot" -> pure CreateDiskFromSnapshot
"createdisksnapshot" -> pure CreateDiskSnapshot
"createdomain" -> pure CreateDomain
"createinstance" -> pure CreateInstance
"createinstancesnapshot" -> pure CreateInstanceSnapshot
"createinstancesfromsnapshot" -> pure CreateInstancesFromSnapshot
"createloadbalancer" -> pure CreateLoadBalancer
"createloadbalancertlscertificate" -> pure CreateLoadBalancerTLSCertificate
"deletedisk" -> pure DeleteDisk
"deletedisksnapshot" -> pure DeleteDiskSnapshot
"deletedomain" -> pure DeleteDomain
"deletedomainentry" -> pure DeleteDomainEntry
"deleteinstance" -> pure DeleteInstance
"deleteinstancesnapshot" -> pure DeleteInstanceSnapshot
"deleteloadbalancer" -> pure DeleteLoadBalancer
"deleteloadbalancertlscertificate" -> pure DeleteLoadBalancerTLSCertificate
"detachdisk" -> pure DetachDisk
"detachinstancesfromloadbalancer" -> pure DetachInstancesFromLoadBalancer
"detachstaticip" -> pure DetachStaticIP
"openinstancepublicports" -> pure OpenInstancePublicPorts
"putinstancepublicports" -> pure PutInstancePublicPorts
"rebootinstance" -> pure RebootInstance
"releasestaticip" -> pure ReleaseStaticIP
"startinstance" -> pure StartInstance
"stopinstance" -> pure StopInstance
"updatedomainentry" -> pure UpdateDomainEntry
"updateloadbalancerattribute" -> pure UpdateLoadBalancerAttribute
e -> fromTextError $ "Failure parsing OperationType from value: '" <> e
<> "'. Accepted values: allocatestaticip, attachdisk, attachinstancestoloadbalancer, attachloadbalancertlscertificate, attachstaticip, closeinstancepublicports, createdisk, creatediskfromsnapshot, createdisksnapshot, createdomain, createinstance, createinstancesnapshot, createinstancesfromsnapshot, createloadbalancer, createloadbalancertlscertificate, deletedisk, deletedisksnapshot, deletedomain, deletedomainentry, deleteinstance, deleteinstancesnapshot, deleteloadbalancer, deleteloadbalancertlscertificate, detachdisk, detachinstancesfromloadbalancer, detachstaticip, openinstancepublicports, putinstancepublicports, rebootinstance, releasestaticip, startinstance, stopinstance, updatedomainentry, updateloadbalancerattribute"
instance ToText OperationType where
toText = \case
AllocateStaticIP -> "AllocateStaticIp"
AttachDisk -> "AttachDisk"
AttachInstancesToLoadBalancer -> "AttachInstancesToLoadBalancer"
AttachLoadBalancerTLSCertificate -> "AttachLoadBalancerTlsCertificate"
AttachStaticIP -> "AttachStaticIp"
CloseInstancePublicPorts -> "CloseInstancePublicPorts"
CreateDisk -> "CreateDisk"
CreateDiskFromSnapshot -> "CreateDiskFromSnapshot"
CreateDiskSnapshot -> "CreateDiskSnapshot"
CreateDomain -> "CreateDomain"
CreateInstance -> "CreateInstance"
CreateInstanceSnapshot -> "CreateInstanceSnapshot"
CreateInstancesFromSnapshot -> "CreateInstancesFromSnapshot"
CreateLoadBalancer -> "CreateLoadBalancer"
CreateLoadBalancerTLSCertificate -> "CreateLoadBalancerTlsCertificate"
DeleteDisk -> "DeleteDisk"
DeleteDiskSnapshot -> "DeleteDiskSnapshot"
DeleteDomain -> "DeleteDomain"
DeleteDomainEntry -> "DeleteDomainEntry"
DeleteInstance -> "DeleteInstance"
DeleteInstanceSnapshot -> "DeleteInstanceSnapshot"
DeleteLoadBalancer -> "DeleteLoadBalancer"
DeleteLoadBalancerTLSCertificate -> "DeleteLoadBalancerTlsCertificate"
DetachDisk -> "DetachDisk"
DetachInstancesFromLoadBalancer -> "DetachInstancesFromLoadBalancer"
DetachStaticIP -> "DetachStaticIp"
OpenInstancePublicPorts -> "OpenInstancePublicPorts"
PutInstancePublicPorts -> "PutInstancePublicPorts"
RebootInstance -> "RebootInstance"
ReleaseStaticIP -> "ReleaseStaticIp"
StartInstance -> "StartInstance"
StopInstance -> "StopInstance"
UpdateDomainEntry -> "UpdateDomainEntry"
UpdateLoadBalancerAttribute -> "UpdateLoadBalancerAttribute"
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
| EuWest2
| 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
"eu-west-2" -> pure EuWest2
"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, eu-west-2, 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"
EuWest2 -> "eu-west-2"
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
= Disk
| DiskSnapshot
| Domain
| Instance
| InstanceSnapshot
| KeyPair
| LoadBalancer
| LoadBalancerTLSCertificate
| PeeredVPC
| StaticIP
deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
instance FromText ResourceType where
parser = takeLowerText >>= \case
"disk" -> pure Disk
"disksnapshot" -> pure DiskSnapshot
"domain" -> pure Domain
"instance" -> pure Instance
"instancesnapshot" -> pure InstanceSnapshot
"keypair" -> pure KeyPair
"loadbalancer" -> pure LoadBalancer
"loadbalancertlscertificate" -> pure LoadBalancerTLSCertificate
"peeredvpc" -> pure PeeredVPC
"staticip" -> pure StaticIP
e -> fromTextError $ "Failure parsing ResourceType from value: '" <> e
<> "'. Accepted values: disk, disksnapshot, domain, instance, instancesnapshot, keypair, loadbalancer, loadbalancertlscertificate, peeredvpc, staticip"
instance ToText ResourceType where
toText = \case
Disk -> "Disk"
DiskSnapshot -> "DiskSnapshot"
Domain -> "Domain"
Instance -> "Instance"
InstanceSnapshot -> "InstanceSnapshot"
KeyPair -> "KeyPair"
LoadBalancer -> "LoadBalancer"
LoadBalancerTLSCertificate -> "LoadBalancerTlsCertificate"
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"