amazonka-kafka-2.0: gen/Amazonka/Kafka/Types.hs
{-# 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.Kafka.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.Kafka.Types
( -- * Service Configuration
defaultService,
-- * Errors
_BadRequestException,
_ConflictException,
_ForbiddenException,
_InternalServerErrorException,
_NotFoundException,
_ServiceUnavailableException,
_TooManyRequestsException,
_UnauthorizedException,
-- * BrokerAZDistribution
BrokerAZDistribution (..),
-- * ClientBroker
ClientBroker (..),
-- * ClusterState
ClusterState (..),
-- * ClusterType
ClusterType (..),
-- * ConfigurationState
ConfigurationState (..),
-- * EnhancedMonitoring
EnhancedMonitoring (..),
-- * KafkaVersionStatus
KafkaVersionStatus (..),
-- * NodeType
NodeType (..),
-- * StorageMode
StorageMode (..),
-- * BrokerEBSVolumeInfo
BrokerEBSVolumeInfo (..),
newBrokerEBSVolumeInfo,
brokerEBSVolumeInfo_provisionedThroughput,
brokerEBSVolumeInfo_volumeSizeGB,
brokerEBSVolumeInfo_kafkaBrokerNodeId,
-- * BrokerLogs
BrokerLogs (..),
newBrokerLogs,
brokerLogs_cloudWatchLogs,
brokerLogs_firehose,
brokerLogs_s3,
-- * BrokerNodeGroupInfo
BrokerNodeGroupInfo (..),
newBrokerNodeGroupInfo,
brokerNodeGroupInfo_brokerAZDistribution,
brokerNodeGroupInfo_connectivityInfo,
brokerNodeGroupInfo_securityGroups,
brokerNodeGroupInfo_storageInfo,
brokerNodeGroupInfo_clientSubnets,
brokerNodeGroupInfo_instanceType,
-- * BrokerNodeInfo
BrokerNodeInfo (..),
newBrokerNodeInfo,
brokerNodeInfo_attachedENIId,
brokerNodeInfo_brokerId,
brokerNodeInfo_clientSubnet,
brokerNodeInfo_clientVpcIpAddress,
brokerNodeInfo_currentBrokerSoftwareInfo,
brokerNodeInfo_endpoints,
-- * BrokerSoftwareInfo
BrokerSoftwareInfo (..),
newBrokerSoftwareInfo,
brokerSoftwareInfo_configurationArn,
brokerSoftwareInfo_configurationRevision,
brokerSoftwareInfo_kafkaVersion,
-- * ClientAuthentication
ClientAuthentication (..),
newClientAuthentication,
clientAuthentication_sasl,
clientAuthentication_tls,
clientAuthentication_unauthenticated,
-- * CloudWatchLogs
CloudWatchLogs (..),
newCloudWatchLogs,
cloudWatchLogs_logGroup,
cloudWatchLogs_enabled,
-- * Cluster
Cluster (..),
newCluster,
cluster_activeOperationArn,
cluster_clusterArn,
cluster_clusterName,
cluster_clusterType,
cluster_creationTime,
cluster_currentVersion,
cluster_provisioned,
cluster_serverless,
cluster_state,
cluster_stateInfo,
cluster_tags,
-- * ClusterInfo
ClusterInfo (..),
newClusterInfo,
clusterInfo_activeOperationArn,
clusterInfo_brokerNodeGroupInfo,
clusterInfo_clientAuthentication,
clusterInfo_clusterArn,
clusterInfo_clusterName,
clusterInfo_creationTime,
clusterInfo_currentBrokerSoftwareInfo,
clusterInfo_currentVersion,
clusterInfo_encryptionInfo,
clusterInfo_enhancedMonitoring,
clusterInfo_loggingInfo,
clusterInfo_numberOfBrokerNodes,
clusterInfo_openMonitoring,
clusterInfo_state,
clusterInfo_stateInfo,
clusterInfo_storageMode,
clusterInfo_tags,
clusterInfo_zookeeperConnectString,
clusterInfo_zookeeperConnectStringTls,
-- * ClusterOperationInfo
ClusterOperationInfo (..),
newClusterOperationInfo,
clusterOperationInfo_clientRequestId,
clusterOperationInfo_clusterArn,
clusterOperationInfo_creationTime,
clusterOperationInfo_endTime,
clusterOperationInfo_errorInfo,
clusterOperationInfo_operationArn,
clusterOperationInfo_operationState,
clusterOperationInfo_operationSteps,
clusterOperationInfo_operationType,
clusterOperationInfo_sourceClusterInfo,
clusterOperationInfo_targetClusterInfo,
-- * ClusterOperationStep
ClusterOperationStep (..),
newClusterOperationStep,
clusterOperationStep_stepInfo,
clusterOperationStep_stepName,
-- * ClusterOperationStepInfo
ClusterOperationStepInfo (..),
newClusterOperationStepInfo,
clusterOperationStepInfo_stepStatus,
-- * CompatibleKafkaVersion
CompatibleKafkaVersion (..),
newCompatibleKafkaVersion,
compatibleKafkaVersion_sourceVersion,
compatibleKafkaVersion_targetVersions,
-- * Configuration
Configuration (..),
newConfiguration,
configuration_description,
configuration_latestRevision,
configuration_creationTime,
configuration_kafkaVersions,
configuration_arn,
configuration_name,
configuration_state,
-- * ConfigurationInfo
ConfigurationInfo (..),
newConfigurationInfo,
configurationInfo_revision,
configurationInfo_arn,
-- * ConfigurationRevision
ConfigurationRevision (..),
newConfigurationRevision,
configurationRevision_description,
configurationRevision_revision,
configurationRevision_creationTime,
-- * ConnectivityInfo
ConnectivityInfo (..),
newConnectivityInfo,
connectivityInfo_publicAccess,
-- * EBSStorageInfo
EBSStorageInfo (..),
newEBSStorageInfo,
eBSStorageInfo_provisionedThroughput,
eBSStorageInfo_volumeSize,
-- * EncryptionAtRest
EncryptionAtRest (..),
newEncryptionAtRest,
encryptionAtRest_dataVolumeKMSKeyId,
-- * EncryptionInTransit
EncryptionInTransit (..),
newEncryptionInTransit,
encryptionInTransit_clientBroker,
encryptionInTransit_inCluster,
-- * EncryptionInfo
EncryptionInfo (..),
newEncryptionInfo,
encryptionInfo_encryptionAtRest,
encryptionInfo_encryptionInTransit,
-- * ErrorInfo
ErrorInfo (..),
newErrorInfo,
errorInfo_errorCode,
errorInfo_errorString,
-- * Firehose
Firehose (..),
newFirehose,
firehose_deliveryStream,
firehose_enabled,
-- * Iam
Iam (..),
newIam,
iam_enabled,
-- * JmxExporter
JmxExporter (..),
newJmxExporter,
jmxExporter_enabledInBroker,
-- * JmxExporterInfo
JmxExporterInfo (..),
newJmxExporterInfo,
jmxExporterInfo_enabledInBroker,
-- * KafkaVersion
KafkaVersion (..),
newKafkaVersion,
kafkaVersion_status,
kafkaVersion_version,
-- * LoggingInfo
LoggingInfo (..),
newLoggingInfo,
loggingInfo_brokerLogs,
-- * MutableClusterInfo
MutableClusterInfo (..),
newMutableClusterInfo,
mutableClusterInfo_brokerEBSVolumeInfo,
mutableClusterInfo_clientAuthentication,
mutableClusterInfo_configurationInfo,
mutableClusterInfo_connectivityInfo,
mutableClusterInfo_encryptionInfo,
mutableClusterInfo_enhancedMonitoring,
mutableClusterInfo_instanceType,
mutableClusterInfo_kafkaVersion,
mutableClusterInfo_loggingInfo,
mutableClusterInfo_numberOfBrokerNodes,
mutableClusterInfo_openMonitoring,
mutableClusterInfo_storageMode,
-- * NodeExporter
NodeExporter (..),
newNodeExporter,
nodeExporter_enabledInBroker,
-- * NodeExporterInfo
NodeExporterInfo (..),
newNodeExporterInfo,
nodeExporterInfo_enabledInBroker,
-- * NodeInfo
NodeInfo (..),
newNodeInfo,
nodeInfo_addedToClusterTime,
nodeInfo_brokerNodeInfo,
nodeInfo_instanceType,
nodeInfo_nodeARN,
nodeInfo_nodeType,
nodeInfo_zookeeperNodeInfo,
-- * OpenMonitoring
OpenMonitoring (..),
newOpenMonitoring,
openMonitoring_prometheus,
-- * OpenMonitoringInfo
OpenMonitoringInfo (..),
newOpenMonitoringInfo,
openMonitoringInfo_prometheus,
-- * Prometheus
Prometheus (..),
newPrometheus,
prometheus_jmxExporter,
prometheus_nodeExporter,
-- * PrometheusInfo
PrometheusInfo (..),
newPrometheusInfo,
prometheusInfo_jmxExporter,
prometheusInfo_nodeExporter,
-- * Provisioned
Provisioned (..),
newProvisioned,
provisioned_clientAuthentication,
provisioned_currentBrokerSoftwareInfo,
provisioned_encryptionInfo,
provisioned_enhancedMonitoring,
provisioned_loggingInfo,
provisioned_openMonitoring,
provisioned_storageMode,
provisioned_zookeeperConnectString,
provisioned_zookeeperConnectStringTls,
provisioned_brokerNodeGroupInfo,
provisioned_numberOfBrokerNodes,
-- * ProvisionedRequest
ProvisionedRequest (..),
newProvisionedRequest,
provisionedRequest_clientAuthentication,
provisionedRequest_configurationInfo,
provisionedRequest_encryptionInfo,
provisionedRequest_enhancedMonitoring,
provisionedRequest_loggingInfo,
provisionedRequest_openMonitoring,
provisionedRequest_storageMode,
provisionedRequest_brokerNodeGroupInfo,
provisionedRequest_kafkaVersion,
provisionedRequest_numberOfBrokerNodes,
-- * ProvisionedThroughput
ProvisionedThroughput (..),
newProvisionedThroughput,
provisionedThroughput_enabled,
provisionedThroughput_volumeThroughput,
-- * PublicAccess
PublicAccess (..),
newPublicAccess,
publicAccess_type,
-- * S3
S3 (..),
newS3,
s3_bucket,
s3_prefix,
s3_enabled,
-- * Sasl
Sasl (..),
newSasl,
sasl_iam,
sasl_scram,
-- * Scram
Scram (..),
newScram,
scram_enabled,
-- * Serverless
Serverless (..),
newServerless,
serverless_clientAuthentication,
serverless_vpcConfigs,
-- * ServerlessClientAuthentication
ServerlessClientAuthentication (..),
newServerlessClientAuthentication,
serverlessClientAuthentication_sasl,
-- * ServerlessRequest
ServerlessRequest (..),
newServerlessRequest,
serverlessRequest_clientAuthentication,
serverlessRequest_vpcConfigs,
-- * ServerlessSasl
ServerlessSasl (..),
newServerlessSasl,
serverlessSasl_iam,
-- * StateInfo
StateInfo (..),
newStateInfo,
stateInfo_code,
stateInfo_message,
-- * StorageInfo
StorageInfo (..),
newStorageInfo,
storageInfo_ebsStorageInfo,
-- * Tls
Tls (..),
newTls,
tls_certificateAuthorityArnList,
tls_enabled,
-- * Unauthenticated
Unauthenticated (..),
newUnauthenticated,
unauthenticated_enabled,
-- * UnprocessedScramSecret
UnprocessedScramSecret (..),
newUnprocessedScramSecret,
unprocessedScramSecret_errorCode,
unprocessedScramSecret_errorMessage,
unprocessedScramSecret_secretArn,
-- * VpcConfig
VpcConfig (..),
newVpcConfig,
vpcConfig_securityGroupIds,
vpcConfig_subnetIds,
-- * ZookeeperNodeInfo
ZookeeperNodeInfo (..),
newZookeeperNodeInfo,
zookeeperNodeInfo_attachedENIId,
zookeeperNodeInfo_clientVpcIpAddress,
zookeeperNodeInfo_endpoints,
zookeeperNodeInfo_zookeeperId,
zookeeperNodeInfo_zookeeperVersion,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import Amazonka.Kafka.Types.BrokerAZDistribution
import Amazonka.Kafka.Types.BrokerEBSVolumeInfo
import Amazonka.Kafka.Types.BrokerLogs
import Amazonka.Kafka.Types.BrokerNodeGroupInfo
import Amazonka.Kafka.Types.BrokerNodeInfo
import Amazonka.Kafka.Types.BrokerSoftwareInfo
import Amazonka.Kafka.Types.ClientAuthentication
import Amazonka.Kafka.Types.ClientBroker
import Amazonka.Kafka.Types.CloudWatchLogs
import Amazonka.Kafka.Types.Cluster
import Amazonka.Kafka.Types.ClusterInfo
import Amazonka.Kafka.Types.ClusterOperationInfo
import Amazonka.Kafka.Types.ClusterOperationStep
import Amazonka.Kafka.Types.ClusterOperationStepInfo
import Amazonka.Kafka.Types.ClusterState
import Amazonka.Kafka.Types.ClusterType
import Amazonka.Kafka.Types.CompatibleKafkaVersion
import Amazonka.Kafka.Types.Configuration
import Amazonka.Kafka.Types.ConfigurationInfo
import Amazonka.Kafka.Types.ConfigurationRevision
import Amazonka.Kafka.Types.ConfigurationState
import Amazonka.Kafka.Types.ConnectivityInfo
import Amazonka.Kafka.Types.EBSStorageInfo
import Amazonka.Kafka.Types.EncryptionAtRest
import Amazonka.Kafka.Types.EncryptionInTransit
import Amazonka.Kafka.Types.EncryptionInfo
import Amazonka.Kafka.Types.EnhancedMonitoring
import Amazonka.Kafka.Types.ErrorInfo
import Amazonka.Kafka.Types.Firehose
import Amazonka.Kafka.Types.Iam
import Amazonka.Kafka.Types.JmxExporter
import Amazonka.Kafka.Types.JmxExporterInfo
import Amazonka.Kafka.Types.KafkaVersion
import Amazonka.Kafka.Types.KafkaVersionStatus
import Amazonka.Kafka.Types.LoggingInfo
import Amazonka.Kafka.Types.MutableClusterInfo
import Amazonka.Kafka.Types.NodeExporter
import Amazonka.Kafka.Types.NodeExporterInfo
import Amazonka.Kafka.Types.NodeInfo
import Amazonka.Kafka.Types.NodeType
import Amazonka.Kafka.Types.OpenMonitoring
import Amazonka.Kafka.Types.OpenMonitoringInfo
import Amazonka.Kafka.Types.Prometheus
import Amazonka.Kafka.Types.PrometheusInfo
import Amazonka.Kafka.Types.Provisioned
import Amazonka.Kafka.Types.ProvisionedRequest
import Amazonka.Kafka.Types.ProvisionedThroughput
import Amazonka.Kafka.Types.PublicAccess
import Amazonka.Kafka.Types.S3
import Amazonka.Kafka.Types.Sasl
import Amazonka.Kafka.Types.Scram
import Amazonka.Kafka.Types.Serverless
import Amazonka.Kafka.Types.ServerlessClientAuthentication
import Amazonka.Kafka.Types.ServerlessRequest
import Amazonka.Kafka.Types.ServerlessSasl
import Amazonka.Kafka.Types.StateInfo
import Amazonka.Kafka.Types.StorageInfo
import Amazonka.Kafka.Types.StorageMode
import Amazonka.Kafka.Types.Tls
import Amazonka.Kafka.Types.Unauthenticated
import Amazonka.Kafka.Types.UnprocessedScramSecret
import Amazonka.Kafka.Types.VpcConfig
import Amazonka.Kafka.Types.ZookeeperNodeInfo
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Sign.V4 as Sign
-- | API version @2018-11-14@ of the Amazon Managed Streaming for Kafka SDK configuration.
defaultService :: Core.Service
defaultService =
Core.Service
{ Core.abbrev = "Kafka",
Core.signer = Sign.v4,
Core.endpointPrefix = "kafka",
Core.signingName = "kafka",
Core.version = "2018-11-14",
Core.s3AddressingStyle = Core.S3AddressingStyleAuto,
Core.endpoint = Core.defaultEndpoint defaultService,
Core.timeout = Prelude.Just 70,
Core.check = Core.statusSuccess,
Core.error = Core.parseJSONError "Kafka",
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
-- | Returns information about an error.
_BadRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_BadRequestException =
Core._MatchServiceError
defaultService
"BadRequestException"
Prelude.. Core.hasStatus 400
-- | Returns information about an error.
_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ConflictException =
Core._MatchServiceError
defaultService
"ConflictException"
Prelude.. Core.hasStatus 409
-- | Returns information about an error.
_ForbiddenException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ForbiddenException =
Core._MatchServiceError
defaultService
"ForbiddenException"
Prelude.. Core.hasStatus 403
-- | Returns information about an error.
_InternalServerErrorException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InternalServerErrorException =
Core._MatchServiceError
defaultService
"InternalServerErrorException"
Prelude.. Core.hasStatus 500
-- | Returns information about an error.
_NotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_NotFoundException =
Core._MatchServiceError
defaultService
"NotFoundException"
Prelude.. Core.hasStatus 404
-- | Returns information about an error.
_ServiceUnavailableException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ServiceUnavailableException =
Core._MatchServiceError
defaultService
"ServiceUnavailableException"
Prelude.. Core.hasStatus 503
-- | Returns information about an error.
_TooManyRequestsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_TooManyRequestsException =
Core._MatchServiceError
defaultService
"TooManyRequestsException"
Prelude.. Core.hasStatus 429
-- | Returns information about an error.
_UnauthorizedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_UnauthorizedException =
Core._MatchServiceError
defaultService
"UnauthorizedException"
Prelude.. Core.hasStatus 401