{-# 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.EMR.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.EMR.Types.Sum where import Network.AWS.Prelude data ActionOnFailure = CancelAndWait | Continue | TerminateCluster | TerminateJobFlow deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText ActionOnFailure where parser = takeLowerText >>= \case "cancel_and_wait" -> pure CancelAndWait "continue" -> pure Continue "terminate_cluster" -> pure TerminateCluster "terminate_job_flow" -> pure TerminateJobFlow e -> fromTextError $ "Failure parsing ActionOnFailure from value: '" <> e <> "'. Accepted values: cancel_and_wait, continue, terminate_cluster, terminate_job_flow" instance ToText ActionOnFailure where toText = \case CancelAndWait -> "CANCEL_AND_WAIT" Continue -> "CONTINUE" TerminateCluster -> "TERMINATE_CLUSTER" TerminateJobFlow -> "TERMINATE_JOB_FLOW" instance Hashable ActionOnFailure instance NFData ActionOnFailure instance ToByteString ActionOnFailure instance ToQuery ActionOnFailure instance ToHeader ActionOnFailure instance ToJSON ActionOnFailure where toJSON = toJSONText instance FromJSON ActionOnFailure where parseJSON = parseJSONText "ActionOnFailure" data AdjustmentType = ChangeInCapacity | ExactCapacity | PercentChangeInCapacity deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText AdjustmentType where parser = takeLowerText >>= \case "change_in_capacity" -> pure ChangeInCapacity "exact_capacity" -> pure ExactCapacity "percent_change_in_capacity" -> pure PercentChangeInCapacity e -> fromTextError $ "Failure parsing AdjustmentType from value: '" <> e <> "'. Accepted values: change_in_capacity, exact_capacity, percent_change_in_capacity" instance ToText AdjustmentType where toText = \case ChangeInCapacity -> "CHANGE_IN_CAPACITY" ExactCapacity -> "EXACT_CAPACITY" PercentChangeInCapacity -> "PERCENT_CHANGE_IN_CAPACITY" instance Hashable AdjustmentType instance NFData AdjustmentType instance ToByteString AdjustmentType instance ToQuery AdjustmentType instance ToHeader AdjustmentType instance ToJSON AdjustmentType where toJSON = toJSONText instance FromJSON AdjustmentType where parseJSON = parseJSONText "AdjustmentType" data AutoScalingPolicyState = Attached | Attaching | Detached | Detaching | Failed | Pending deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText AutoScalingPolicyState where parser = takeLowerText >>= \case "attached" -> pure Attached "attaching" -> pure Attaching "detached" -> pure Detached "detaching" -> pure Detaching "failed" -> pure Failed "pending" -> pure Pending e -> fromTextError $ "Failure parsing AutoScalingPolicyState from value: '" <> e <> "'. Accepted values: attached, attaching, detached, detaching, failed, pending" instance ToText AutoScalingPolicyState where toText = \case Attached -> "ATTACHED" Attaching -> "ATTACHING" Detached -> "DETACHED" Detaching -> "DETACHING" Failed -> "FAILED" Pending -> "PENDING" instance Hashable AutoScalingPolicyState instance NFData AutoScalingPolicyState instance ToByteString AutoScalingPolicyState instance ToQuery AutoScalingPolicyState instance ToHeader AutoScalingPolicyState instance FromJSON AutoScalingPolicyState where parseJSON = parseJSONText "AutoScalingPolicyState" data AutoScalingPolicyStateChangeReasonCode = CleanupFailure | ProvisionFailure | UserRequest deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText AutoScalingPolicyStateChangeReasonCode where parser = takeLowerText >>= \case "cleanup_failure" -> pure CleanupFailure "provision_failure" -> pure ProvisionFailure "user_request" -> pure UserRequest e -> fromTextError $ "Failure parsing AutoScalingPolicyStateChangeReasonCode from value: '" <> e <> "'. Accepted values: cleanup_failure, provision_failure, user_request" instance ToText AutoScalingPolicyStateChangeReasonCode where toText = \case CleanupFailure -> "CLEANUP_FAILURE" ProvisionFailure -> "PROVISION_FAILURE" UserRequest -> "USER_REQUEST" instance Hashable AutoScalingPolicyStateChangeReasonCode instance NFData AutoScalingPolicyStateChangeReasonCode instance ToByteString AutoScalingPolicyStateChangeReasonCode instance ToQuery AutoScalingPolicyStateChangeReasonCode instance ToHeader AutoScalingPolicyStateChangeReasonCode instance FromJSON AutoScalingPolicyStateChangeReasonCode where parseJSON = parseJSONText "AutoScalingPolicyStateChangeReasonCode" data CancelStepsRequestStatus = CSRSFailed | CSRSSubmitted deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText CancelStepsRequestStatus where parser = takeLowerText >>= \case "failed" -> pure CSRSFailed "submitted" -> pure CSRSSubmitted e -> fromTextError $ "Failure parsing CancelStepsRequestStatus from value: '" <> e <> "'. Accepted values: failed, submitted" instance ToText CancelStepsRequestStatus where toText = \case CSRSFailed -> "FAILED" CSRSSubmitted -> "SUBMITTED" instance Hashable CancelStepsRequestStatus instance NFData CancelStepsRequestStatus instance ToByteString CancelStepsRequestStatus instance ToQuery CancelStepsRequestStatus instance ToHeader CancelStepsRequestStatus instance FromJSON CancelStepsRequestStatus where parseJSON = parseJSONText "CancelStepsRequestStatus" data ClusterState = CSBootstrapping | CSRunning | CSStarting | CSTerminated | CSTerminatedWithErrors | CSTerminating | CSWaiting deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText ClusterState where parser = takeLowerText >>= \case "bootstrapping" -> pure CSBootstrapping "running" -> pure CSRunning "starting" -> pure CSStarting "terminated" -> pure CSTerminated "terminated_with_errors" -> pure CSTerminatedWithErrors "terminating" -> pure CSTerminating "waiting" -> pure CSWaiting e -> fromTextError $ "Failure parsing ClusterState from value: '" <> e <> "'. Accepted values: bootstrapping, running, starting, terminated, terminated_with_errors, terminating, waiting" instance ToText ClusterState where toText = \case CSBootstrapping -> "BOOTSTRAPPING" CSRunning -> "RUNNING" CSStarting -> "STARTING" CSTerminated -> "TERMINATED" CSTerminatedWithErrors -> "TERMINATED_WITH_ERRORS" CSTerminating -> "TERMINATING" CSWaiting -> "WAITING" instance Hashable ClusterState instance NFData ClusterState instance ToByteString ClusterState instance ToQuery ClusterState instance ToHeader ClusterState instance ToJSON ClusterState where toJSON = toJSONText instance FromJSON ClusterState where parseJSON = parseJSONText "ClusterState" data ClusterStateChangeReasonCode = CSCRCAllStepsCompleted | CSCRCBootstrapFailure | CSCRCInstanceFailure | CSCRCInstanceFleetTimeout | CSCRCInternalError | CSCRCStepFailure | CSCRCUserRequest | CSCRCValidationError deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText ClusterStateChangeReasonCode where parser = takeLowerText >>= \case "all_steps_completed" -> pure CSCRCAllStepsCompleted "bootstrap_failure" -> pure CSCRCBootstrapFailure "instance_failure" -> pure CSCRCInstanceFailure "instance_fleet_timeout" -> pure CSCRCInstanceFleetTimeout "internal_error" -> pure CSCRCInternalError "step_failure" -> pure CSCRCStepFailure "user_request" -> pure CSCRCUserRequest "validation_error" -> pure CSCRCValidationError e -> fromTextError $ "Failure parsing ClusterStateChangeReasonCode from value: '" <> e <> "'. Accepted values: all_steps_completed, bootstrap_failure, instance_failure, instance_fleet_timeout, internal_error, step_failure, user_request, validation_error" instance ToText ClusterStateChangeReasonCode where toText = \case CSCRCAllStepsCompleted -> "ALL_STEPS_COMPLETED" CSCRCBootstrapFailure -> "BOOTSTRAP_FAILURE" CSCRCInstanceFailure -> "INSTANCE_FAILURE" CSCRCInstanceFleetTimeout -> "INSTANCE_FLEET_TIMEOUT" CSCRCInternalError -> "INTERNAL_ERROR" CSCRCStepFailure -> "STEP_FAILURE" CSCRCUserRequest -> "USER_REQUEST" CSCRCValidationError -> "VALIDATION_ERROR" instance Hashable ClusterStateChangeReasonCode instance NFData ClusterStateChangeReasonCode instance ToByteString ClusterStateChangeReasonCode instance ToQuery ClusterStateChangeReasonCode instance ToHeader ClusterStateChangeReasonCode instance FromJSON ClusterStateChangeReasonCode where parseJSON = parseJSONText "ClusterStateChangeReasonCode" data ComparisonOperator = GreaterThan | GreaterThanOrEqual | LessThan | LessThanOrEqual deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText ComparisonOperator where parser = takeLowerText >>= \case "greater_than" -> pure GreaterThan "greater_than_or_equal" -> pure GreaterThanOrEqual "less_than" -> pure LessThan "less_than_or_equal" -> pure LessThanOrEqual e -> fromTextError $ "Failure parsing ComparisonOperator from value: '" <> e <> "'. Accepted values: greater_than, greater_than_or_equal, less_than, less_than_or_equal" instance ToText ComparisonOperator where toText = \case GreaterThan -> "GREATER_THAN" GreaterThanOrEqual -> "GREATER_THAN_OR_EQUAL" LessThan -> "LESS_THAN" LessThanOrEqual -> "LESS_THAN_OR_EQUAL" instance Hashable ComparisonOperator instance NFData ComparisonOperator instance ToByteString ComparisonOperator instance ToQuery ComparisonOperator instance ToHeader ComparisonOperator instance ToJSON ComparisonOperator where toJSON = toJSONText instance FromJSON ComparisonOperator where parseJSON = parseJSONText "ComparisonOperator" data InstanceCollectionType = InstanceFleet | InstanceGroup deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText InstanceCollectionType where parser = takeLowerText >>= \case "instance_fleet" -> pure InstanceFleet "instance_group" -> pure InstanceGroup e -> fromTextError $ "Failure parsing InstanceCollectionType from value: '" <> e <> "'. Accepted values: instance_fleet, instance_group" instance ToText InstanceCollectionType where toText = \case InstanceFleet -> "INSTANCE_FLEET" InstanceGroup -> "INSTANCE_GROUP" instance Hashable InstanceCollectionType instance NFData InstanceCollectionType instance ToByteString InstanceCollectionType instance ToQuery InstanceCollectionType instance ToHeader InstanceCollectionType instance FromJSON InstanceCollectionType where parseJSON = parseJSONText "InstanceCollectionType" data InstanceFleetState = IFSBootstrapping | IFSProvisioning | IFSResizing | IFSRunning | IFSSuspended | IFSTerminated | IFSTerminating deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText InstanceFleetState where parser = takeLowerText >>= \case "bootstrapping" -> pure IFSBootstrapping "provisioning" -> pure IFSProvisioning "resizing" -> pure IFSResizing "running" -> pure IFSRunning "suspended" -> pure IFSSuspended "terminated" -> pure IFSTerminated "terminating" -> pure IFSTerminating e -> fromTextError $ "Failure parsing InstanceFleetState from value: '" <> e <> "'. Accepted values: bootstrapping, provisioning, resizing, running, suspended, terminated, terminating" instance ToText InstanceFleetState where toText = \case IFSBootstrapping -> "BOOTSTRAPPING" IFSProvisioning -> "PROVISIONING" IFSResizing -> "RESIZING" IFSRunning -> "RUNNING" IFSSuspended -> "SUSPENDED" IFSTerminated -> "TERMINATED" IFSTerminating -> "TERMINATING" instance Hashable InstanceFleetState instance NFData InstanceFleetState instance ToByteString InstanceFleetState instance ToQuery InstanceFleetState instance ToHeader InstanceFleetState instance FromJSON InstanceFleetState where parseJSON = parseJSONText "InstanceFleetState" data InstanceFleetStateChangeReasonCode = IFSCRCClusterTerminated | IFSCRCInstanceFailure | IFSCRCInternalError | IFSCRCValidationError deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText InstanceFleetStateChangeReasonCode where parser = takeLowerText >>= \case "cluster_terminated" -> pure IFSCRCClusterTerminated "instance_failure" -> pure IFSCRCInstanceFailure "internal_error" -> pure IFSCRCInternalError "validation_error" -> pure IFSCRCValidationError e -> fromTextError $ "Failure parsing InstanceFleetStateChangeReasonCode from value: '" <> e <> "'. Accepted values: cluster_terminated, instance_failure, internal_error, validation_error" instance ToText InstanceFleetStateChangeReasonCode where toText = \case IFSCRCClusterTerminated -> "CLUSTER_TERMINATED" IFSCRCInstanceFailure -> "INSTANCE_FAILURE" IFSCRCInternalError -> "INTERNAL_ERROR" IFSCRCValidationError -> "VALIDATION_ERROR" instance Hashable InstanceFleetStateChangeReasonCode instance NFData InstanceFleetStateChangeReasonCode instance ToByteString InstanceFleetStateChangeReasonCode instance ToQuery InstanceFleetStateChangeReasonCode instance ToHeader InstanceFleetStateChangeReasonCode instance FromJSON InstanceFleetStateChangeReasonCode where parseJSON = parseJSONText "InstanceFleetStateChangeReasonCode" data InstanceFleetType = IFTCore | IFTMaster | IFTTask deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText InstanceFleetType where parser = takeLowerText >>= \case "core" -> pure IFTCore "master" -> pure IFTMaster "task" -> pure IFTTask e -> fromTextError $ "Failure parsing InstanceFleetType from value: '" <> e <> "'. Accepted values: core, master, task" instance ToText InstanceFleetType where toText = \case IFTCore -> "CORE" IFTMaster -> "MASTER" IFTTask -> "TASK" instance Hashable InstanceFleetType instance NFData InstanceFleetType instance ToByteString InstanceFleetType instance ToQuery InstanceFleetType instance ToHeader InstanceFleetType instance ToJSON InstanceFleetType where toJSON = toJSONText instance FromJSON InstanceFleetType where parseJSON = parseJSONText "InstanceFleetType" data InstanceGroupState = Arrested | Bootstrapping | Ended | Provisioning | Resizing | Running | ShuttingDown | Suspended | Terminated | Terminating deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText InstanceGroupState where parser = takeLowerText >>= \case "arrested" -> pure Arrested "bootstrapping" -> pure Bootstrapping "ended" -> pure Ended "provisioning" -> pure Provisioning "resizing" -> pure Resizing "running" -> pure Running "shutting_down" -> pure ShuttingDown "suspended" -> pure Suspended "terminated" -> pure Terminated "terminating" -> pure Terminating e -> fromTextError $ "Failure parsing InstanceGroupState from value: '" <> e <> "'. Accepted values: arrested, bootstrapping, ended, provisioning, resizing, running, shutting_down, suspended, terminated, terminating" instance ToText InstanceGroupState where toText = \case Arrested -> "ARRESTED" Bootstrapping -> "BOOTSTRAPPING" Ended -> "ENDED" Provisioning -> "PROVISIONING" Resizing -> "RESIZING" Running -> "RUNNING" ShuttingDown -> "SHUTTING_DOWN" Suspended -> "SUSPENDED" Terminated -> "TERMINATED" Terminating -> "TERMINATING" instance Hashable InstanceGroupState instance NFData InstanceGroupState instance ToByteString InstanceGroupState instance ToQuery InstanceGroupState instance ToHeader InstanceGroupState instance FromJSON InstanceGroupState where parseJSON = parseJSONText "InstanceGroupState" data InstanceGroupStateChangeReasonCode = ClusterTerminated | InstanceFailure | InternalError | ValidationError deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText InstanceGroupStateChangeReasonCode where parser = takeLowerText >>= \case "cluster_terminated" -> pure ClusterTerminated "instance_failure" -> pure InstanceFailure "internal_error" -> pure InternalError "validation_error" -> pure ValidationError e -> fromTextError $ "Failure parsing InstanceGroupStateChangeReasonCode from value: '" <> e <> "'. Accepted values: cluster_terminated, instance_failure, internal_error, validation_error" instance ToText InstanceGroupStateChangeReasonCode where toText = \case ClusterTerminated -> "CLUSTER_TERMINATED" InstanceFailure -> "INSTANCE_FAILURE" InternalError -> "INTERNAL_ERROR" ValidationError -> "VALIDATION_ERROR" instance Hashable InstanceGroupStateChangeReasonCode instance NFData InstanceGroupStateChangeReasonCode instance ToByteString InstanceGroupStateChangeReasonCode instance ToQuery InstanceGroupStateChangeReasonCode instance ToHeader InstanceGroupStateChangeReasonCode instance FromJSON InstanceGroupStateChangeReasonCode where parseJSON = parseJSONText "InstanceGroupStateChangeReasonCode" data InstanceGroupType = Core | Master | Task deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText InstanceGroupType where parser = takeLowerText >>= \case "core" -> pure Core "master" -> pure Master "task" -> pure Task e -> fromTextError $ "Failure parsing InstanceGroupType from value: '" <> e <> "'. Accepted values: core, master, task" instance ToText InstanceGroupType where toText = \case Core -> "CORE" Master -> "MASTER" Task -> "TASK" instance Hashable InstanceGroupType instance NFData InstanceGroupType instance ToByteString InstanceGroupType instance ToQuery InstanceGroupType instance ToHeader InstanceGroupType instance ToJSON InstanceGroupType where toJSON = toJSONText instance FromJSON InstanceGroupType where parseJSON = parseJSONText "InstanceGroupType" data InstanceRoleType = IRTCore | IRTMaster | IRTTask deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText InstanceRoleType where parser = takeLowerText >>= \case "core" -> pure IRTCore "master" -> pure IRTMaster "task" -> pure IRTTask e -> fromTextError $ "Failure parsing InstanceRoleType from value: '" <> e <> "'. Accepted values: core, master, task" instance ToText InstanceRoleType where toText = \case IRTCore -> "CORE" IRTMaster -> "MASTER" IRTTask -> "TASK" instance Hashable InstanceRoleType instance NFData InstanceRoleType instance ToByteString InstanceRoleType instance ToQuery InstanceRoleType instance ToHeader InstanceRoleType instance ToJSON InstanceRoleType where toJSON = toJSONText data InstanceState = ISAwaitingFulfillment | ISBootstrapping | ISProvisioning | ISRunning | ISTerminated deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText InstanceState where parser = takeLowerText >>= \case "awaiting_fulfillment" -> pure ISAwaitingFulfillment "bootstrapping" -> pure ISBootstrapping "provisioning" -> pure ISProvisioning "running" -> pure ISRunning "terminated" -> pure ISTerminated e -> fromTextError $ "Failure parsing InstanceState from value: '" <> e <> "'. Accepted values: awaiting_fulfillment, bootstrapping, provisioning, running, terminated" instance ToText InstanceState where toText = \case ISAwaitingFulfillment -> "AWAITING_FULFILLMENT" ISBootstrapping -> "BOOTSTRAPPING" ISProvisioning -> "PROVISIONING" ISRunning -> "RUNNING" ISTerminated -> "TERMINATED" instance Hashable InstanceState instance NFData InstanceState instance ToByteString InstanceState instance ToQuery InstanceState instance ToHeader InstanceState instance ToJSON InstanceState where toJSON = toJSONText instance FromJSON InstanceState where parseJSON = parseJSONText "InstanceState" data InstanceStateChangeReasonCode = ISCRCBootstrapFailure | ISCRCClusterTerminated | ISCRCInstanceFailure | ISCRCInternalError | ISCRCValidationError deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText InstanceStateChangeReasonCode where parser = takeLowerText >>= \case "bootstrap_failure" -> pure ISCRCBootstrapFailure "cluster_terminated" -> pure ISCRCClusterTerminated "instance_failure" -> pure ISCRCInstanceFailure "internal_error" -> pure ISCRCInternalError "validation_error" -> pure ISCRCValidationError e -> fromTextError $ "Failure parsing InstanceStateChangeReasonCode from value: '" <> e <> "'. Accepted values: bootstrap_failure, cluster_terminated, instance_failure, internal_error, validation_error" instance ToText InstanceStateChangeReasonCode where toText = \case ISCRCBootstrapFailure -> "BOOTSTRAP_FAILURE" ISCRCClusterTerminated -> "CLUSTER_TERMINATED" ISCRCInstanceFailure -> "INSTANCE_FAILURE" ISCRCInternalError -> "INTERNAL_ERROR" ISCRCValidationError -> "VALIDATION_ERROR" instance Hashable InstanceStateChangeReasonCode instance NFData InstanceStateChangeReasonCode instance ToByteString InstanceStateChangeReasonCode instance ToQuery InstanceStateChangeReasonCode instance ToHeader InstanceStateChangeReasonCode instance FromJSON InstanceStateChangeReasonCode where parseJSON = parseJSONText "InstanceStateChangeReasonCode" data MarketType = OnDemand | Spot deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText MarketType where parser = takeLowerText >>= \case "on_demand" -> pure OnDemand "spot" -> pure Spot e -> fromTextError $ "Failure parsing MarketType from value: '" <> e <> "'. Accepted values: on_demand, spot" instance ToText MarketType where toText = \case OnDemand -> "ON_DEMAND" Spot -> "SPOT" instance Hashable MarketType instance NFData MarketType instance ToByteString MarketType instance ToQuery MarketType instance ToHeader MarketType instance ToJSON MarketType where toJSON = toJSONText instance FromJSON MarketType where parseJSON = parseJSONText "MarketType" data RepoUpgradeOnBoot = RUOBNone | RUOBSecurity deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText RepoUpgradeOnBoot where parser = takeLowerText >>= \case "none" -> pure RUOBNone "security" -> pure RUOBSecurity e -> fromTextError $ "Failure parsing RepoUpgradeOnBoot from value: '" <> e <> "'. Accepted values: none, security" instance ToText RepoUpgradeOnBoot where toText = \case RUOBNone -> "NONE" RUOBSecurity -> "SECURITY" instance Hashable RepoUpgradeOnBoot instance NFData RepoUpgradeOnBoot instance ToByteString RepoUpgradeOnBoot instance ToQuery RepoUpgradeOnBoot instance ToHeader RepoUpgradeOnBoot instance ToJSON RepoUpgradeOnBoot where toJSON = toJSONText instance FromJSON RepoUpgradeOnBoot where parseJSON = parseJSONText "RepoUpgradeOnBoot" data ScaleDownBehavior = TerminateAtInstanceHour | TerminateAtTaskCompletion deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText ScaleDownBehavior where parser = takeLowerText >>= \case "terminate_at_instance_hour" -> pure TerminateAtInstanceHour "terminate_at_task_completion" -> pure TerminateAtTaskCompletion e -> fromTextError $ "Failure parsing ScaleDownBehavior from value: '" <> e <> "'. Accepted values: terminate_at_instance_hour, terminate_at_task_completion" instance ToText ScaleDownBehavior where toText = \case TerminateAtInstanceHour -> "TERMINATE_AT_INSTANCE_HOUR" TerminateAtTaskCompletion -> "TERMINATE_AT_TASK_COMPLETION" instance Hashable ScaleDownBehavior instance NFData ScaleDownBehavior instance ToByteString ScaleDownBehavior instance ToQuery ScaleDownBehavior instance ToHeader ScaleDownBehavior instance ToJSON ScaleDownBehavior where toJSON = toJSONText instance FromJSON ScaleDownBehavior where parseJSON = parseJSONText "ScaleDownBehavior" data SpotProvisioningTimeoutAction = SPTASwitchToOnDemand | SPTATerminateCluster deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText SpotProvisioningTimeoutAction where parser = takeLowerText >>= \case "switch_to_on_demand" -> pure SPTASwitchToOnDemand "terminate_cluster" -> pure SPTATerminateCluster e -> fromTextError $ "Failure parsing SpotProvisioningTimeoutAction from value: '" <> e <> "'. Accepted values: switch_to_on_demand, terminate_cluster" instance ToText SpotProvisioningTimeoutAction where toText = \case SPTASwitchToOnDemand -> "SWITCH_TO_ON_DEMAND" SPTATerminateCluster -> "TERMINATE_CLUSTER" instance Hashable SpotProvisioningTimeoutAction instance NFData SpotProvisioningTimeoutAction instance ToByteString SpotProvisioningTimeoutAction instance ToQuery SpotProvisioningTimeoutAction instance ToHeader SpotProvisioningTimeoutAction instance ToJSON SpotProvisioningTimeoutAction where toJSON = toJSONText instance FromJSON SpotProvisioningTimeoutAction where parseJSON = parseJSONText "SpotProvisioningTimeoutAction" data Statistic = Average | Maximum | Minimum | SampleCount | Sum deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText Statistic where parser = takeLowerText >>= \case "average" -> pure Average "maximum" -> pure Maximum "minimum" -> pure Minimum "sample_count" -> pure SampleCount "sum" -> pure Sum e -> fromTextError $ "Failure parsing Statistic from value: '" <> e <> "'. Accepted values: average, maximum, minimum, sample_count, sum" instance ToText Statistic where toText = \case Average -> "AVERAGE" Maximum -> "MAXIMUM" Minimum -> "MINIMUM" SampleCount -> "SAMPLE_COUNT" Sum -> "SUM" instance Hashable Statistic instance NFData Statistic instance ToByteString Statistic instance ToQuery Statistic instance ToHeader Statistic instance ToJSON Statistic where toJSON = toJSONText instance FromJSON Statistic where parseJSON = parseJSONText "Statistic" data StepState = SSCancelPending | SSCancelled | SSCompleted | SSFailed | SSInterrupted | SSPending | SSRunning deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText StepState where parser = takeLowerText >>= \case "cancel_pending" -> pure SSCancelPending "cancelled" -> pure SSCancelled "completed" -> pure SSCompleted "failed" -> pure SSFailed "interrupted" -> pure SSInterrupted "pending" -> pure SSPending "running" -> pure SSRunning e -> fromTextError $ "Failure parsing StepState from value: '" <> e <> "'. Accepted values: cancel_pending, cancelled, completed, failed, interrupted, pending, running" instance ToText StepState where toText = \case SSCancelPending -> "CANCEL_PENDING" SSCancelled -> "CANCELLED" SSCompleted -> "COMPLETED" SSFailed -> "FAILED" SSInterrupted -> "INTERRUPTED" SSPending -> "PENDING" SSRunning -> "RUNNING" instance Hashable StepState instance NFData StepState instance ToByteString StepState instance ToQuery StepState instance ToHeader StepState instance ToJSON StepState where toJSON = toJSONText instance FromJSON StepState where parseJSON = parseJSONText "StepState" data StepStateChangeReasonCode = SSCRCNone deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText StepStateChangeReasonCode where parser = takeLowerText >>= \case "none" -> pure SSCRCNone e -> fromTextError $ "Failure parsing StepStateChangeReasonCode from value: '" <> e <> "'. Accepted values: none" instance ToText StepStateChangeReasonCode where toText = \case SSCRCNone -> "NONE" instance Hashable StepStateChangeReasonCode instance NFData StepStateChangeReasonCode instance ToByteString StepStateChangeReasonCode instance ToQuery StepStateChangeReasonCode instance ToHeader StepStateChangeReasonCode instance FromJSON StepStateChangeReasonCode where parseJSON = parseJSONText "StepStateChangeReasonCode" data Unit = Bits | BitsPerSecond | Bytes | BytesPerSecond | Count | CountPerSecond | GigaBits | GigaBitsPerSecond | GigaBytes | GigaBytesPerSecond | KiloBits | KiloBitsPerSecond | KiloBytes | KiloBytesPerSecond | MegaBits | MegaBitsPerSecond | MegaBytes | MegaBytesPerSecond | MicroSeconds | MilliSeconds | None | Percent | Seconds | TeraBits | TeraBitsPerSecond | TeraBytes | TeraBytesPerSecond deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText Unit where parser = takeLowerText >>= \case "bits" -> pure Bits "bits_per_second" -> pure BitsPerSecond "bytes" -> pure Bytes "bytes_per_second" -> pure BytesPerSecond "count" -> pure Count "count_per_second" -> pure CountPerSecond "giga_bits" -> pure GigaBits "giga_bits_per_second" -> pure GigaBitsPerSecond "giga_bytes" -> pure GigaBytes "giga_bytes_per_second" -> pure GigaBytesPerSecond "kilo_bits" -> pure KiloBits "kilo_bits_per_second" -> pure KiloBitsPerSecond "kilo_bytes" -> pure KiloBytes "kilo_bytes_per_second" -> pure KiloBytesPerSecond "mega_bits" -> pure MegaBits "mega_bits_per_second" -> pure MegaBitsPerSecond "mega_bytes" -> pure MegaBytes "mega_bytes_per_second" -> pure MegaBytesPerSecond "micro_seconds" -> pure MicroSeconds "milli_seconds" -> pure MilliSeconds "none" -> pure None "percent" -> pure Percent "seconds" -> pure Seconds "tera_bits" -> pure TeraBits "tera_bits_per_second" -> pure TeraBitsPerSecond "tera_bytes" -> pure TeraBytes "tera_bytes_per_second" -> pure TeraBytesPerSecond e -> fromTextError $ "Failure parsing Unit from value: '" <> e <> "'. Accepted values: bits, bits_per_second, bytes, bytes_per_second, count, count_per_second, giga_bits, giga_bits_per_second, giga_bytes, giga_bytes_per_second, kilo_bits, kilo_bits_per_second, kilo_bytes, kilo_bytes_per_second, mega_bits, mega_bits_per_second, mega_bytes, mega_bytes_per_second, micro_seconds, milli_seconds, none, percent, seconds, tera_bits, tera_bits_per_second, tera_bytes, tera_bytes_per_second" instance ToText Unit where toText = \case Bits -> "BITS" BitsPerSecond -> "BITS_PER_SECOND" Bytes -> "BYTES" BytesPerSecond -> "BYTES_PER_SECOND" Count -> "COUNT" CountPerSecond -> "COUNT_PER_SECOND" GigaBits -> "GIGA_BITS" GigaBitsPerSecond -> "GIGA_BITS_PER_SECOND" GigaBytes -> "GIGA_BYTES" GigaBytesPerSecond -> "GIGA_BYTES_PER_SECOND" KiloBits -> "KILO_BITS" KiloBitsPerSecond -> "KILO_BITS_PER_SECOND" KiloBytes -> "KILO_BYTES" KiloBytesPerSecond -> "KILO_BYTES_PER_SECOND" MegaBits -> "MEGA_BITS" MegaBitsPerSecond -> "MEGA_BITS_PER_SECOND" MegaBytes -> "MEGA_BYTES" MegaBytesPerSecond -> "MEGA_BYTES_PER_SECOND" MicroSeconds -> "MICRO_SECONDS" MilliSeconds -> "MILLI_SECONDS" None -> "NONE" Percent -> "PERCENT" Seconds -> "SECONDS" TeraBits -> "TERA_BITS" TeraBitsPerSecond -> "TERA_BITS_PER_SECOND" TeraBytes -> "TERA_BYTES" TeraBytesPerSecond -> "TERA_BYTES_PER_SECOND" instance Hashable Unit instance NFData Unit instance ToByteString Unit instance ToQuery Unit instance ToHeader Unit instance ToJSON Unit where toJSON = toJSONText instance FromJSON Unit where parseJSON = parseJSONText "Unit"