{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.DevOpsGuru.Types.ResourceTypeFilter
-- 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.DevOpsGuru.Types.ResourceTypeFilter
  ( ResourceTypeFilter
      ( ..,
        ResourceTypeFilter_CLOUDFRONT_DISTRIBUTION,
        ResourceTypeFilter_DYNAMODB_TABLE,
        ResourceTypeFilter_EC2_NAT_GATEWAY,
        ResourceTypeFilter_ECS_CLUSTER,
        ResourceTypeFilter_ECS_SERVICE,
        ResourceTypeFilter_EKS_CLUSTER,
        ResourceTypeFilter_ELASTICACHE_CACHE_CLUSTER,
        ResourceTypeFilter_ELASTICSEARCH_DOMAIN,
        ResourceTypeFilter_ELASTIC_BEANSTALK_ENVIRONMENT,
        ResourceTypeFilter_ELASTIC_LOAD_BALANCER_LOAD_BALANCER,
        ResourceTypeFilter_ELASTIC_LOAD_BALANCING_V2_LOAD_BALANCER,
        ResourceTypeFilter_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP,
        ResourceTypeFilter_KINESIS_STREAM,
        ResourceTypeFilter_LAMBDA_FUNCTION,
        ResourceTypeFilter_LOG_GROUPS,
        ResourceTypeFilter_OPEN_SEARCH_SERVICE_DOMAIN,
        ResourceTypeFilter_RDS_DB_CLUSTER,
        ResourceTypeFilter_RDS_DB_INSTANCE,
        ResourceTypeFilter_REDSHIFT_CLUSTER,
        ResourceTypeFilter_ROUTE53_HEALTH_CHECK,
        ResourceTypeFilter_ROUTE53_HOSTED_ZONE,
        ResourceTypeFilter_S3_BUCKET,
        ResourceTypeFilter_SAGEMAKER_ENDPOINT,
        ResourceTypeFilter_SNS_TOPIC,
        ResourceTypeFilter_SQS_QUEUE,
        ResourceTypeFilter_STEP_FUNCTIONS_ACTIVITY,
        ResourceTypeFilter_STEP_FUNCTIONS_STATE_MACHINE
      ),
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude

newtype ResourceTypeFilter = ResourceTypeFilter'
  { ResourceTypeFilter -> Text
fromResourceTypeFilter ::
      Data.Text
  }
  deriving stock
    ( Int -> ResourceTypeFilter -> ShowS
[ResourceTypeFilter] -> ShowS
ResourceTypeFilter -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ResourceTypeFilter] -> ShowS
$cshowList :: [ResourceTypeFilter] -> ShowS
show :: ResourceTypeFilter -> String
$cshow :: ResourceTypeFilter -> String
showsPrec :: Int -> ResourceTypeFilter -> ShowS
$cshowsPrec :: Int -> ResourceTypeFilter -> ShowS
Prelude.Show,
      ReadPrec [ResourceTypeFilter]
ReadPrec ResourceTypeFilter
Int -> ReadS ResourceTypeFilter
ReadS [ResourceTypeFilter]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ResourceTypeFilter]
$creadListPrec :: ReadPrec [ResourceTypeFilter]
readPrec :: ReadPrec ResourceTypeFilter
$creadPrec :: ReadPrec ResourceTypeFilter
readList :: ReadS [ResourceTypeFilter]
$creadList :: ReadS [ResourceTypeFilter]
readsPrec :: Int -> ReadS ResourceTypeFilter
$creadsPrec :: Int -> ReadS ResourceTypeFilter
Prelude.Read,
      ResourceTypeFilter -> ResourceTypeFilter -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ResourceTypeFilter -> ResourceTypeFilter -> Bool
$c/= :: ResourceTypeFilter -> ResourceTypeFilter -> Bool
== :: ResourceTypeFilter -> ResourceTypeFilter -> Bool
$c== :: ResourceTypeFilter -> ResourceTypeFilter -> Bool
Prelude.Eq,
      Eq ResourceTypeFilter
ResourceTypeFilter -> ResourceTypeFilter -> Bool
ResourceTypeFilter -> ResourceTypeFilter -> Ordering
ResourceTypeFilter -> ResourceTypeFilter -> ResourceTypeFilter
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: ResourceTypeFilter -> ResourceTypeFilter -> ResourceTypeFilter
$cmin :: ResourceTypeFilter -> ResourceTypeFilter -> ResourceTypeFilter
max :: ResourceTypeFilter -> ResourceTypeFilter -> ResourceTypeFilter
$cmax :: ResourceTypeFilter -> ResourceTypeFilter -> ResourceTypeFilter
>= :: ResourceTypeFilter -> ResourceTypeFilter -> Bool
$c>= :: ResourceTypeFilter -> ResourceTypeFilter -> Bool
> :: ResourceTypeFilter -> ResourceTypeFilter -> Bool
$c> :: ResourceTypeFilter -> ResourceTypeFilter -> Bool
<= :: ResourceTypeFilter -> ResourceTypeFilter -> Bool
$c<= :: ResourceTypeFilter -> ResourceTypeFilter -> Bool
< :: ResourceTypeFilter -> ResourceTypeFilter -> Bool
$c< :: ResourceTypeFilter -> ResourceTypeFilter -> Bool
compare :: ResourceTypeFilter -> ResourceTypeFilter -> Ordering
$ccompare :: ResourceTypeFilter -> ResourceTypeFilter -> Ordering
Prelude.Ord,
      forall x. Rep ResourceTypeFilter x -> ResourceTypeFilter
forall x. ResourceTypeFilter -> Rep ResourceTypeFilter x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ResourceTypeFilter x -> ResourceTypeFilter
$cfrom :: forall x. ResourceTypeFilter -> Rep ResourceTypeFilter x
Prelude.Generic
    )
  deriving newtype
    ( Eq ResourceTypeFilter
Int -> ResourceTypeFilter -> Int
ResourceTypeFilter -> Int
forall a. Eq a -> (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: ResourceTypeFilter -> Int
$chash :: ResourceTypeFilter -> Int
hashWithSalt :: Int -> ResourceTypeFilter -> Int
$chashWithSalt :: Int -> ResourceTypeFilter -> Int
Prelude.Hashable,
      ResourceTypeFilter -> ()
forall a. (a -> ()) -> NFData a
rnf :: ResourceTypeFilter -> ()
$crnf :: ResourceTypeFilter -> ()
Prelude.NFData,
      Text -> Either String ResourceTypeFilter
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String ResourceTypeFilter
$cfromText :: Text -> Either String ResourceTypeFilter
Data.FromText,
      ResourceTypeFilter -> Text
forall a. (a -> Text) -> ToText a
toText :: ResourceTypeFilter -> Text
$ctoText :: ResourceTypeFilter -> Text
Data.ToText,
      ResourceTypeFilter -> ByteString
forall a. (a -> ByteString) -> ToByteString a
toBS :: ResourceTypeFilter -> ByteString
$ctoBS :: ResourceTypeFilter -> ByteString
Data.ToByteString,
      ResourceTypeFilter -> ByteStringBuilder
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: ResourceTypeFilter -> ByteStringBuilder
$cbuild :: ResourceTypeFilter -> ByteStringBuilder
Data.ToLog,
      HeaderName -> ResourceTypeFilter -> [Header]
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> ResourceTypeFilter -> [Header]
$ctoHeader :: HeaderName -> ResourceTypeFilter -> [Header]
Data.ToHeader,
      ResourceTypeFilter -> QueryString
forall a. (a -> QueryString) -> ToQuery a
toQuery :: ResourceTypeFilter -> QueryString
$ctoQuery :: ResourceTypeFilter -> QueryString
Data.ToQuery,
      Value -> Parser [ResourceTypeFilter]
Value -> Parser ResourceTypeFilter
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [ResourceTypeFilter]
$cparseJSONList :: Value -> Parser [ResourceTypeFilter]
parseJSON :: Value -> Parser ResourceTypeFilter
$cparseJSON :: Value -> Parser ResourceTypeFilter
Data.FromJSON,
      FromJSONKeyFunction [ResourceTypeFilter]
FromJSONKeyFunction ResourceTypeFilter
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [ResourceTypeFilter]
$cfromJSONKeyList :: FromJSONKeyFunction [ResourceTypeFilter]
fromJSONKey :: FromJSONKeyFunction ResourceTypeFilter
$cfromJSONKey :: FromJSONKeyFunction ResourceTypeFilter
Data.FromJSONKey,
      [ResourceTypeFilter] -> Encoding
[ResourceTypeFilter] -> Value
ResourceTypeFilter -> Encoding
ResourceTypeFilter -> Value
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [ResourceTypeFilter] -> Encoding
$ctoEncodingList :: [ResourceTypeFilter] -> Encoding
toJSONList :: [ResourceTypeFilter] -> Value
$ctoJSONList :: [ResourceTypeFilter] -> Value
toEncoding :: ResourceTypeFilter -> Encoding
$ctoEncoding :: ResourceTypeFilter -> Encoding
toJSON :: ResourceTypeFilter -> Value
$ctoJSON :: ResourceTypeFilter -> Value
Data.ToJSON,
      ToJSONKeyFunction [ResourceTypeFilter]
ToJSONKeyFunction ResourceTypeFilter
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [ResourceTypeFilter]
$ctoJSONKeyList :: ToJSONKeyFunction [ResourceTypeFilter]
toJSONKey :: ToJSONKeyFunction ResourceTypeFilter
$ctoJSONKey :: ToJSONKeyFunction ResourceTypeFilter
Data.ToJSONKey,
      [Node] -> Either String ResourceTypeFilter
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String ResourceTypeFilter
$cparseXML :: [Node] -> Either String ResourceTypeFilter
Data.FromXML,
      ResourceTypeFilter -> XML
forall a. (a -> XML) -> ToXML a
toXML :: ResourceTypeFilter -> XML
$ctoXML :: ResourceTypeFilter -> XML
Data.ToXML
    )

pattern ResourceTypeFilter_CLOUDFRONT_DISTRIBUTION :: ResourceTypeFilter
pattern $bResourceTypeFilter_CLOUDFRONT_DISTRIBUTION :: ResourceTypeFilter
$mResourceTypeFilter_CLOUDFRONT_DISTRIBUTION :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_CLOUDFRONT_DISTRIBUTION = ResourceTypeFilter' "CLOUDFRONT_DISTRIBUTION"

pattern ResourceTypeFilter_DYNAMODB_TABLE :: ResourceTypeFilter
pattern $bResourceTypeFilter_DYNAMODB_TABLE :: ResourceTypeFilter
$mResourceTypeFilter_DYNAMODB_TABLE :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_DYNAMODB_TABLE = ResourceTypeFilter' "DYNAMODB_TABLE"

pattern ResourceTypeFilter_EC2_NAT_GATEWAY :: ResourceTypeFilter
pattern $bResourceTypeFilter_EC2_NAT_GATEWAY :: ResourceTypeFilter
$mResourceTypeFilter_EC2_NAT_GATEWAY :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_EC2_NAT_GATEWAY = ResourceTypeFilter' "EC2_NAT_GATEWAY"

pattern ResourceTypeFilter_ECS_CLUSTER :: ResourceTypeFilter
pattern $bResourceTypeFilter_ECS_CLUSTER :: ResourceTypeFilter
$mResourceTypeFilter_ECS_CLUSTER :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_ECS_CLUSTER = ResourceTypeFilter' "ECS_CLUSTER"

pattern ResourceTypeFilter_ECS_SERVICE :: ResourceTypeFilter
pattern $bResourceTypeFilter_ECS_SERVICE :: ResourceTypeFilter
$mResourceTypeFilter_ECS_SERVICE :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_ECS_SERVICE = ResourceTypeFilter' "ECS_SERVICE"

pattern ResourceTypeFilter_EKS_CLUSTER :: ResourceTypeFilter
pattern $bResourceTypeFilter_EKS_CLUSTER :: ResourceTypeFilter
$mResourceTypeFilter_EKS_CLUSTER :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_EKS_CLUSTER = ResourceTypeFilter' "EKS_CLUSTER"

pattern ResourceTypeFilter_ELASTICACHE_CACHE_CLUSTER :: ResourceTypeFilter
pattern $bResourceTypeFilter_ELASTICACHE_CACHE_CLUSTER :: ResourceTypeFilter
$mResourceTypeFilter_ELASTICACHE_CACHE_CLUSTER :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_ELASTICACHE_CACHE_CLUSTER = ResourceTypeFilter' "ELASTICACHE_CACHE_CLUSTER"

pattern ResourceTypeFilter_ELASTICSEARCH_DOMAIN :: ResourceTypeFilter
pattern $bResourceTypeFilter_ELASTICSEARCH_DOMAIN :: ResourceTypeFilter
$mResourceTypeFilter_ELASTICSEARCH_DOMAIN :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_ELASTICSEARCH_DOMAIN = ResourceTypeFilter' "ELASTICSEARCH_DOMAIN"

pattern ResourceTypeFilter_ELASTIC_BEANSTALK_ENVIRONMENT :: ResourceTypeFilter
pattern $bResourceTypeFilter_ELASTIC_BEANSTALK_ENVIRONMENT :: ResourceTypeFilter
$mResourceTypeFilter_ELASTIC_BEANSTALK_ENVIRONMENT :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_ELASTIC_BEANSTALK_ENVIRONMENT = ResourceTypeFilter' "ELASTIC_BEANSTALK_ENVIRONMENT"

pattern ResourceTypeFilter_ELASTIC_LOAD_BALANCER_LOAD_BALANCER :: ResourceTypeFilter
pattern $bResourceTypeFilter_ELASTIC_LOAD_BALANCER_LOAD_BALANCER :: ResourceTypeFilter
$mResourceTypeFilter_ELASTIC_LOAD_BALANCER_LOAD_BALANCER :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_ELASTIC_LOAD_BALANCER_LOAD_BALANCER = ResourceTypeFilter' "ELASTIC_LOAD_BALANCER_LOAD_BALANCER"

pattern ResourceTypeFilter_ELASTIC_LOAD_BALANCING_V2_LOAD_BALANCER :: ResourceTypeFilter
pattern $bResourceTypeFilter_ELASTIC_LOAD_BALANCING_V2_LOAD_BALANCER :: ResourceTypeFilter
$mResourceTypeFilter_ELASTIC_LOAD_BALANCING_V2_LOAD_BALANCER :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_ELASTIC_LOAD_BALANCING_V2_LOAD_BALANCER = ResourceTypeFilter' "ELASTIC_LOAD_BALANCING_V2_LOAD_BALANCER"

pattern ResourceTypeFilter_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP :: ResourceTypeFilter
pattern $bResourceTypeFilter_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP :: ResourceTypeFilter
$mResourceTypeFilter_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP = ResourceTypeFilter' "ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP"

pattern ResourceTypeFilter_KINESIS_STREAM :: ResourceTypeFilter
pattern $bResourceTypeFilter_KINESIS_STREAM :: ResourceTypeFilter
$mResourceTypeFilter_KINESIS_STREAM :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_KINESIS_STREAM = ResourceTypeFilter' "KINESIS_STREAM"

pattern ResourceTypeFilter_LAMBDA_FUNCTION :: ResourceTypeFilter
pattern $bResourceTypeFilter_LAMBDA_FUNCTION :: ResourceTypeFilter
$mResourceTypeFilter_LAMBDA_FUNCTION :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_LAMBDA_FUNCTION = ResourceTypeFilter' "LAMBDA_FUNCTION"

pattern ResourceTypeFilter_LOG_GROUPS :: ResourceTypeFilter
pattern $bResourceTypeFilter_LOG_GROUPS :: ResourceTypeFilter
$mResourceTypeFilter_LOG_GROUPS :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_LOG_GROUPS = ResourceTypeFilter' "LOG_GROUPS"

pattern ResourceTypeFilter_OPEN_SEARCH_SERVICE_DOMAIN :: ResourceTypeFilter
pattern $bResourceTypeFilter_OPEN_SEARCH_SERVICE_DOMAIN :: ResourceTypeFilter
$mResourceTypeFilter_OPEN_SEARCH_SERVICE_DOMAIN :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_OPEN_SEARCH_SERVICE_DOMAIN = ResourceTypeFilter' "OPEN_SEARCH_SERVICE_DOMAIN"

pattern ResourceTypeFilter_RDS_DB_CLUSTER :: ResourceTypeFilter
pattern $bResourceTypeFilter_RDS_DB_CLUSTER :: ResourceTypeFilter
$mResourceTypeFilter_RDS_DB_CLUSTER :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_RDS_DB_CLUSTER = ResourceTypeFilter' "RDS_DB_CLUSTER"

pattern ResourceTypeFilter_RDS_DB_INSTANCE :: ResourceTypeFilter
pattern $bResourceTypeFilter_RDS_DB_INSTANCE :: ResourceTypeFilter
$mResourceTypeFilter_RDS_DB_INSTANCE :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_RDS_DB_INSTANCE = ResourceTypeFilter' "RDS_DB_INSTANCE"

pattern ResourceTypeFilter_REDSHIFT_CLUSTER :: ResourceTypeFilter
pattern $bResourceTypeFilter_REDSHIFT_CLUSTER :: ResourceTypeFilter
$mResourceTypeFilter_REDSHIFT_CLUSTER :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_REDSHIFT_CLUSTER = ResourceTypeFilter' "REDSHIFT_CLUSTER"

pattern ResourceTypeFilter_ROUTE53_HEALTH_CHECK :: ResourceTypeFilter
pattern $bResourceTypeFilter_ROUTE53_HEALTH_CHECK :: ResourceTypeFilter
$mResourceTypeFilter_ROUTE53_HEALTH_CHECK :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_ROUTE53_HEALTH_CHECK = ResourceTypeFilter' "ROUTE53_HEALTH_CHECK"

pattern ResourceTypeFilter_ROUTE53_HOSTED_ZONE :: ResourceTypeFilter
pattern $bResourceTypeFilter_ROUTE53_HOSTED_ZONE :: ResourceTypeFilter
$mResourceTypeFilter_ROUTE53_HOSTED_ZONE :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_ROUTE53_HOSTED_ZONE = ResourceTypeFilter' "ROUTE53_HOSTED_ZONE"

pattern ResourceTypeFilter_S3_BUCKET :: ResourceTypeFilter
pattern $bResourceTypeFilter_S3_BUCKET :: ResourceTypeFilter
$mResourceTypeFilter_S3_BUCKET :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_S3_BUCKET = ResourceTypeFilter' "S3_BUCKET"

pattern ResourceTypeFilter_SAGEMAKER_ENDPOINT :: ResourceTypeFilter
pattern $bResourceTypeFilter_SAGEMAKER_ENDPOINT :: ResourceTypeFilter
$mResourceTypeFilter_SAGEMAKER_ENDPOINT :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_SAGEMAKER_ENDPOINT = ResourceTypeFilter' "SAGEMAKER_ENDPOINT"

pattern ResourceTypeFilter_SNS_TOPIC :: ResourceTypeFilter
pattern $bResourceTypeFilter_SNS_TOPIC :: ResourceTypeFilter
$mResourceTypeFilter_SNS_TOPIC :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_SNS_TOPIC = ResourceTypeFilter' "SNS_TOPIC"

pattern ResourceTypeFilter_SQS_QUEUE :: ResourceTypeFilter
pattern $bResourceTypeFilter_SQS_QUEUE :: ResourceTypeFilter
$mResourceTypeFilter_SQS_QUEUE :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_SQS_QUEUE = ResourceTypeFilter' "SQS_QUEUE"

pattern ResourceTypeFilter_STEP_FUNCTIONS_ACTIVITY :: ResourceTypeFilter
pattern $bResourceTypeFilter_STEP_FUNCTIONS_ACTIVITY :: ResourceTypeFilter
$mResourceTypeFilter_STEP_FUNCTIONS_ACTIVITY :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_STEP_FUNCTIONS_ACTIVITY = ResourceTypeFilter' "STEP_FUNCTIONS_ACTIVITY"

pattern ResourceTypeFilter_STEP_FUNCTIONS_STATE_MACHINE :: ResourceTypeFilter
pattern $bResourceTypeFilter_STEP_FUNCTIONS_STATE_MACHINE :: ResourceTypeFilter
$mResourceTypeFilter_STEP_FUNCTIONS_STATE_MACHINE :: forall {r}. ResourceTypeFilter -> ((# #) -> r) -> ((# #) -> r) -> r
ResourceTypeFilter_STEP_FUNCTIONS_STATE_MACHINE = ResourceTypeFilter' "STEP_FUNCTIONS_STATE_MACHINE"

{-# COMPLETE
  ResourceTypeFilter_CLOUDFRONT_DISTRIBUTION,
  ResourceTypeFilter_DYNAMODB_TABLE,
  ResourceTypeFilter_EC2_NAT_GATEWAY,
  ResourceTypeFilter_ECS_CLUSTER,
  ResourceTypeFilter_ECS_SERVICE,
  ResourceTypeFilter_EKS_CLUSTER,
  ResourceTypeFilter_ELASTICACHE_CACHE_CLUSTER,
  ResourceTypeFilter_ELASTICSEARCH_DOMAIN,
  ResourceTypeFilter_ELASTIC_BEANSTALK_ENVIRONMENT,
  ResourceTypeFilter_ELASTIC_LOAD_BALANCER_LOAD_BALANCER,
  ResourceTypeFilter_ELASTIC_LOAD_BALANCING_V2_LOAD_BALANCER,
  ResourceTypeFilter_ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP,
  ResourceTypeFilter_KINESIS_STREAM,
  ResourceTypeFilter_LAMBDA_FUNCTION,
  ResourceTypeFilter_LOG_GROUPS,
  ResourceTypeFilter_OPEN_SEARCH_SERVICE_DOMAIN,
  ResourceTypeFilter_RDS_DB_CLUSTER,
  ResourceTypeFilter_RDS_DB_INSTANCE,
  ResourceTypeFilter_REDSHIFT_CLUSTER,
  ResourceTypeFilter_ROUTE53_HEALTH_CHECK,
  ResourceTypeFilter_ROUTE53_HOSTED_ZONE,
  ResourceTypeFilter_S3_BUCKET,
  ResourceTypeFilter_SAGEMAKER_ENDPOINT,
  ResourceTypeFilter_SNS_TOPIC,
  ResourceTypeFilter_SQS_QUEUE,
  ResourceTypeFilter_STEP_FUNCTIONS_ACTIVITY,
  ResourceTypeFilter_STEP_FUNCTIONS_STATE_MACHINE,
  ResourceTypeFilter'
  #-}