{-# 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-2018 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 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"