{-# LANGUAGE DisambiguateRecordFields #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-- Derived from AWS service descriptions, licensed under Apache 2.0.
-- |
-- Module : Amazonka.IoTFleetWise.Types
-- Copyright : (c) 2013-2023 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.IoTFleetWise.Types
( -- * Service Configuration
defaultService,
-- * Errors
_AccessDeniedException,
_ConflictException,
_DecoderManifestValidationException,
_InternalServerException,
_InvalidNodeException,
_InvalidSignalsException,
_LimitExceededException,
_ResourceNotFoundException,
_ThrottlingException,
_ValidationException,
-- * CampaignStatus
CampaignStatus (..),
-- * Compression
Compression (..),
-- * DiagnosticsMode
DiagnosticsMode (..),
-- * LogType
LogType (..),
-- * ManifestStatus
ManifestStatus (..),
-- * NetworkInterfaceType
NetworkInterfaceType (..),
-- * NodeDataType
NodeDataType (..),
-- * RegistrationStatus
RegistrationStatus (..),
-- * SignalDecoderType
SignalDecoderType (..),
-- * SpoolingMode
SpoolingMode (..),
-- * TriggerMode
TriggerMode (..),
-- * UpdateCampaignAction
UpdateCampaignAction (..),
-- * UpdateMode
UpdateMode (..),
-- * VehicleAssociationBehavior
VehicleAssociationBehavior (..),
-- * VehicleState
VehicleState (..),
-- * Actuator
Actuator (..),
newActuator,
actuator_allowedValues,
actuator_assignedValue,
actuator_description,
actuator_max,
actuator_min,
actuator_unit,
actuator_fullyQualifiedName,
actuator_dataType,
-- * Attribute
Attribute (..),
newAttribute,
attribute_allowedValues,
attribute_assignedValue,
attribute_defaultValue,
attribute_description,
attribute_max,
attribute_min,
attribute_unit,
attribute_fullyQualifiedName,
attribute_dataType,
-- * Branch
Branch (..),
newBranch,
branch_description,
branch_fullyQualifiedName,
-- * CampaignSummary
CampaignSummary (..),
newCampaignSummary,
campaignSummary_arn,
campaignSummary_description,
campaignSummary_name,
campaignSummary_signalCatalogArn,
campaignSummary_status,
campaignSummary_targetArn,
campaignSummary_creationTime,
campaignSummary_lastModificationTime,
-- * CanDbcDefinition
CanDbcDefinition (..),
newCanDbcDefinition,
canDbcDefinition_signalsMap,
canDbcDefinition_networkInterface,
canDbcDefinition_canDbcFiles,
-- * CanInterface
CanInterface (..),
newCanInterface,
canInterface_protocolName,
canInterface_protocolVersion,
canInterface_name,
-- * CanSignal
CanSignal (..),
newCanSignal,
canSignal_name,
canSignal_messageId,
canSignal_isBigEndian,
canSignal_isSigned,
canSignal_startBit,
canSignal_offset,
canSignal_factor,
canSignal_length,
-- * CloudWatchLogDeliveryOptions
CloudWatchLogDeliveryOptions (..),
newCloudWatchLogDeliveryOptions,
cloudWatchLogDeliveryOptions_logGroupName,
cloudWatchLogDeliveryOptions_logType,
-- * CollectionScheme
CollectionScheme (..),
newCollectionScheme,
collectionScheme_conditionBasedCollectionScheme,
collectionScheme_timeBasedCollectionScheme,
-- * ConditionBasedCollectionScheme
ConditionBasedCollectionScheme (..),
newConditionBasedCollectionScheme,
conditionBasedCollectionScheme_conditionLanguageVersion,
conditionBasedCollectionScheme_minimumTriggerIntervalMs,
conditionBasedCollectionScheme_triggerMode,
conditionBasedCollectionScheme_expression,
-- * CreateVehicleError
CreateVehicleError (..),
newCreateVehicleError,
createVehicleError_code,
createVehicleError_message,
createVehicleError_vehicleName,
-- * CreateVehicleRequestItem
CreateVehicleRequestItem (..),
newCreateVehicleRequestItem,
createVehicleRequestItem_associationBehavior,
createVehicleRequestItem_attributes,
createVehicleRequestItem_tags,
createVehicleRequestItem_vehicleName,
createVehicleRequestItem_modelManifestArn,
createVehicleRequestItem_decoderManifestArn,
-- * CreateVehicleResponseItem
CreateVehicleResponseItem (..),
newCreateVehicleResponseItem,
createVehicleResponseItem_arn,
createVehicleResponseItem_thingArn,
createVehicleResponseItem_vehicleName,
-- * DecoderManifestSummary
DecoderManifestSummary (..),
newDecoderManifestSummary,
decoderManifestSummary_arn,
decoderManifestSummary_description,
decoderManifestSummary_modelManifestArn,
decoderManifestSummary_name,
decoderManifestSummary_status,
decoderManifestSummary_creationTime,
decoderManifestSummary_lastModificationTime,
-- * FleetSummary
FleetSummary (..),
newFleetSummary,
fleetSummary_description,
fleetSummary_lastModificationTime,
fleetSummary_id,
fleetSummary_arn,
fleetSummary_signalCatalogArn,
fleetSummary_creationTime,
-- * FormattedVss
FormattedVss (..),
newFormattedVss,
formattedVss_vssJson,
-- * IamRegistrationResponse
IamRegistrationResponse (..),
newIamRegistrationResponse,
iamRegistrationResponse_errorMessage,
iamRegistrationResponse_roleArn,
iamRegistrationResponse_registrationStatus,
-- * IamResources
IamResources (..),
newIamResources,
iamResources_roleArn,
-- * ModelManifestSummary
ModelManifestSummary (..),
newModelManifestSummary,
modelManifestSummary_arn,
modelManifestSummary_description,
modelManifestSummary_name,
modelManifestSummary_signalCatalogArn,
modelManifestSummary_status,
modelManifestSummary_creationTime,
modelManifestSummary_lastModificationTime,
-- * NetworkFileDefinition
NetworkFileDefinition (..),
newNetworkFileDefinition,
networkFileDefinition_canDbc,
-- * NetworkInterface
NetworkInterface (..),
newNetworkInterface,
networkInterface_canInterface,
networkInterface_obdInterface,
networkInterface_interfaceId,
networkInterface_type,
-- * Node
Node (..),
newNode,
node_actuator,
node_attribute,
node_branch,
node_sensor,
-- * NodeCounts
NodeCounts (..),
newNodeCounts,
nodeCounts_totalActuators,
nodeCounts_totalAttributes,
nodeCounts_totalBranches,
nodeCounts_totalNodes,
nodeCounts_totalSensors,
-- * ObdInterface
ObdInterface (..),
newObdInterface,
obdInterface_dtcRequestIntervalSeconds,
obdInterface_hasTransmissionEcu,
obdInterface_obdStandard,
obdInterface_pidRequestIntervalSeconds,
obdInterface_useExtendedIds,
obdInterface_name,
obdInterface_requestMessageId,
-- * ObdSignal
ObdSignal (..),
newObdSignal,
obdSignal_bitMaskLength,
obdSignal_bitRightShift,
obdSignal_pidResponseLength,
obdSignal_serviceMode,
obdSignal_pid,
obdSignal_scaling,
obdSignal_offset,
obdSignal_startByte,
obdSignal_byteLength,
-- * Sensor
Sensor (..),
newSensor,
sensor_allowedValues,
sensor_description,
sensor_max,
sensor_min,
sensor_unit,
sensor_fullyQualifiedName,
sensor_dataType,
-- * SignalCatalogSummary
SignalCatalogSummary (..),
newSignalCatalogSummary,
signalCatalogSummary_arn,
signalCatalogSummary_creationTime,
signalCatalogSummary_lastModificationTime,
signalCatalogSummary_name,
-- * SignalDecoder
SignalDecoder (..),
newSignalDecoder,
signalDecoder_canSignal,
signalDecoder_obdSignal,
signalDecoder_fullyQualifiedName,
signalDecoder_type,
signalDecoder_interfaceId,
-- * SignalInformation
SignalInformation (..),
newSignalInformation,
signalInformation_maxSampleCount,
signalInformation_minimumSamplingIntervalMs,
signalInformation_name,
-- * Tag
Tag (..),
newTag,
tag_key,
tag_value,
-- * TimeBasedCollectionScheme
TimeBasedCollectionScheme (..),
newTimeBasedCollectionScheme,
timeBasedCollectionScheme_periodMs,
-- * TimestreamRegistrationResponse
TimestreamRegistrationResponse (..),
newTimestreamRegistrationResponse,
timestreamRegistrationResponse_errorMessage,
timestreamRegistrationResponse_timestreamDatabaseArn,
timestreamRegistrationResponse_timestreamTableArn,
timestreamRegistrationResponse_timestreamDatabaseName,
timestreamRegistrationResponse_timestreamTableName,
timestreamRegistrationResponse_registrationStatus,
-- * TimestreamResources
TimestreamResources (..),
newTimestreamResources,
timestreamResources_timestreamDatabaseName,
timestreamResources_timestreamTableName,
-- * UpdateVehicleError
UpdateVehicleError (..),
newUpdateVehicleError,
updateVehicleError_code,
updateVehicleError_message,
updateVehicleError_vehicleName,
-- * UpdateVehicleRequestItem
UpdateVehicleRequestItem (..),
newUpdateVehicleRequestItem,
updateVehicleRequestItem_attributeUpdateMode,
updateVehicleRequestItem_attributes,
updateVehicleRequestItem_decoderManifestArn,
updateVehicleRequestItem_modelManifestArn,
updateVehicleRequestItem_vehicleName,
-- * UpdateVehicleResponseItem
UpdateVehicleResponseItem (..),
newUpdateVehicleResponseItem,
updateVehicleResponseItem_arn,
updateVehicleResponseItem_vehicleName,
-- * VehicleStatus
VehicleStatus (..),
newVehicleStatus,
vehicleStatus_campaignName,
vehicleStatus_status,
vehicleStatus_vehicleName,
-- * VehicleSummary
VehicleSummary (..),
newVehicleSummary,
vehicleSummary_vehicleName,
vehicleSummary_arn,
vehicleSummary_modelManifestArn,
vehicleSummary_decoderManifestArn,
vehicleSummary_creationTime,
vehicleSummary_lastModificationTime,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import Amazonka.IoTFleetWise.Types.Actuator
import Amazonka.IoTFleetWise.Types.Attribute
import Amazonka.IoTFleetWise.Types.Branch
import Amazonka.IoTFleetWise.Types.CampaignStatus
import Amazonka.IoTFleetWise.Types.CampaignSummary
import Amazonka.IoTFleetWise.Types.CanDbcDefinition
import Amazonka.IoTFleetWise.Types.CanInterface
import Amazonka.IoTFleetWise.Types.CanSignal
import Amazonka.IoTFleetWise.Types.CloudWatchLogDeliveryOptions
import Amazonka.IoTFleetWise.Types.CollectionScheme
import Amazonka.IoTFleetWise.Types.Compression
import Amazonka.IoTFleetWise.Types.ConditionBasedCollectionScheme
import Amazonka.IoTFleetWise.Types.CreateVehicleError
import Amazonka.IoTFleetWise.Types.CreateVehicleRequestItem
import Amazonka.IoTFleetWise.Types.CreateVehicleResponseItem
import Amazonka.IoTFleetWise.Types.DecoderManifestSummary
import Amazonka.IoTFleetWise.Types.DiagnosticsMode
import Amazonka.IoTFleetWise.Types.FleetSummary
import Amazonka.IoTFleetWise.Types.FormattedVss
import Amazonka.IoTFleetWise.Types.IamRegistrationResponse
import Amazonka.IoTFleetWise.Types.IamResources
import Amazonka.IoTFleetWise.Types.LogType
import Amazonka.IoTFleetWise.Types.ManifestStatus
import Amazonka.IoTFleetWise.Types.ModelManifestSummary
import Amazonka.IoTFleetWise.Types.NetworkFileDefinition
import Amazonka.IoTFleetWise.Types.NetworkInterface
import Amazonka.IoTFleetWise.Types.NetworkInterfaceType
import Amazonka.IoTFleetWise.Types.Node
import Amazonka.IoTFleetWise.Types.NodeCounts
import Amazonka.IoTFleetWise.Types.NodeDataType
import Amazonka.IoTFleetWise.Types.ObdInterface
import Amazonka.IoTFleetWise.Types.ObdSignal
import Amazonka.IoTFleetWise.Types.RegistrationStatus
import Amazonka.IoTFleetWise.Types.Sensor
import Amazonka.IoTFleetWise.Types.SignalCatalogSummary
import Amazonka.IoTFleetWise.Types.SignalDecoder
import Amazonka.IoTFleetWise.Types.SignalDecoderType
import Amazonka.IoTFleetWise.Types.SignalInformation
import Amazonka.IoTFleetWise.Types.SpoolingMode
import Amazonka.IoTFleetWise.Types.Tag
import Amazonka.IoTFleetWise.Types.TimeBasedCollectionScheme
import Amazonka.IoTFleetWise.Types.TimestreamRegistrationResponse
import Amazonka.IoTFleetWise.Types.TimestreamResources
import Amazonka.IoTFleetWise.Types.TriggerMode
import Amazonka.IoTFleetWise.Types.UpdateCampaignAction
import Amazonka.IoTFleetWise.Types.UpdateMode
import Amazonka.IoTFleetWise.Types.UpdateVehicleError
import Amazonka.IoTFleetWise.Types.UpdateVehicleRequestItem
import Amazonka.IoTFleetWise.Types.UpdateVehicleResponseItem
import Amazonka.IoTFleetWise.Types.VehicleAssociationBehavior
import Amazonka.IoTFleetWise.Types.VehicleState
import Amazonka.IoTFleetWise.Types.VehicleStatus
import Amazonka.IoTFleetWise.Types.VehicleSummary
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Sign.V4 as Sign
-- | API version @2021-06-17@ of the Amazon IoT FleetWise SDK configuration.
defaultService :: Core.Service
defaultService =
Core.Service
{ Core.abbrev = "IoTFleetWise",
Core.signer = Sign.v4,
Core.endpointPrefix = "iotfleetwise",
Core.signingName = "iotfleetwise",
Core.version = "2021-06-17",
Core.s3AddressingStyle = Core.S3AddressingStyleAuto,
Core.endpoint = Core.defaultEndpoint defaultService,
Core.timeout = Prelude.Just 70,
Core.check = Core.statusSuccess,
Core.error = Core.parseJSONError "IoTFleetWise",
Core.retry = retry
}
where
retry =
Core.Exponential
{ Core.base = 5.0e-2,
Core.growth = 2,
Core.attempts = 5,
Core.check = check
}
check e
| Lens.has (Core.hasStatus 502) e =
Prelude.Just "bad_gateway"
| Lens.has (Core.hasStatus 504) e =
Prelude.Just "gateway_timeout"
| Lens.has (Core.hasStatus 500) e =
Prelude.Just "general_server_error"
| Lens.has (Core.hasStatus 509) e =
Prelude.Just "limit_exceeded"
| Lens.has
( Core.hasCode "RequestThrottledException"
Prelude.. Core.hasStatus 400
)
e =
Prelude.Just "request_throttled_exception"
| Lens.has (Core.hasStatus 503) e =
Prelude.Just "service_unavailable"
| Lens.has
( Core.hasCode "ThrottledException"
Prelude.. Core.hasStatus 400
)
e =
Prelude.Just "throttled_exception"
| Lens.has
( Core.hasCode "Throttling"
Prelude.. Core.hasStatus 400
)
e =
Prelude.Just "throttling"
| Lens.has
( Core.hasCode "ThrottlingException"
Prelude.. Core.hasStatus 400
)
e =
Prelude.Just "throttling_exception"
| Lens.has
( Core.hasCode
"ProvisionedThroughputExceededException"
Prelude.. Core.hasStatus 400
)
e =
Prelude.Just "throughput_exceeded"
| Lens.has (Core.hasStatus 429) e =
Prelude.Just "too_many_requests"
| Prelude.otherwise = Prelude.Nothing
-- | You don\'t have sufficient permission to perform this action.
_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_AccessDeniedException =
Core._MatchServiceError
defaultService
"AccessDeniedException"
-- | The request has conflicting operations. This can occur if you\'re trying
-- to perform more than one operation on the same resource at the same
-- time.
_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ConflictException =
Core._MatchServiceError
defaultService
"ConflictException"
-- | The request couldn\'t be completed because it contains signal decoders
-- with one or more validation errors.
_DecoderManifestValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_DecoderManifestValidationException =
Core._MatchServiceError
defaultService
"DecoderManifestValidationException"
-- | The request couldn\'t be completed because the server temporarily
-- failed.
_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InternalServerException =
Core._MatchServiceError
defaultService
"InternalServerException"
-- | The specified node type doesn\'t match the expected node type for a
-- node. You can specify the node type as branch, sensor, actuator, or
-- attribute.
_InvalidNodeException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InvalidNodeException =
Core._MatchServiceError
defaultService
"InvalidNodeException"
-- | The request couldn\'t be completed because it contains signals that
-- aren\'t valid.
_InvalidSignalsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InvalidSignalsException =
Core._MatchServiceError
defaultService
"InvalidSignalsException"
-- | A service quota was exceeded.
_LimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_LimitExceededException =
Core._MatchServiceError
defaultService
"LimitExceededException"
-- | The resource wasn\'t found.
_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ResourceNotFoundException =
Core._MatchServiceError
defaultService
"ResourceNotFoundException"
-- | The request couldn\'t be completed due to throttling.
_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ThrottlingException =
Core._MatchServiceError
defaultService
"ThrottlingException"
-- | The input fails to satisfy the constraints specified by an Amazon Web
-- Services service.
_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ValidationException =
Core._MatchServiceError
defaultService
"ValidationException"