{-# 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.Config.Types.ResourceType
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.Config.Types.ResourceType
  ( ResourceType
      ( ..,
        ResourceType_AWS__ACM__Certificate,
        ResourceType_AWS__ApiGatewayV2__Api,
        ResourceType_AWS__ApiGatewayV2__Stage,
        ResourceType_AWS__ApiGateway__RestApi,
        ResourceType_AWS__ApiGateway__Stage,
        ResourceType_AWS__AutoScaling__AutoScalingGroup,
        ResourceType_AWS__AutoScaling__LaunchConfiguration,
        ResourceType_AWS__AutoScaling__ScalingPolicy,
        ResourceType_AWS__AutoScaling__ScheduledAction,
        ResourceType_AWS__Backup__BackupPlan,
        ResourceType_AWS__Backup__BackupSelection,
        ResourceType_AWS__Backup__BackupVault,
        ResourceType_AWS__Backup__RecoveryPoint,
        ResourceType_AWS__CloudFormation__Stack,
        ResourceType_AWS__CloudFront__Distribution,
        ResourceType_AWS__CloudFront__StreamingDistribution,
        ResourceType_AWS__CloudTrail__Trail,
        ResourceType_AWS__CloudWatch__Alarm,
        ResourceType_AWS__CodeBuild__Project,
        ResourceType_AWS__CodePipeline__Pipeline,
        ResourceType_AWS__Config__ConformancePackCompliance,
        ResourceType_AWS__Config__ResourceCompliance,
        ResourceType_AWS__DynamoDB__Table,
        ResourceType_AWS__EC2__CustomerGateway,
        ResourceType_AWS__EC2__EIP,
        ResourceType_AWS__EC2__EgressOnlyInternetGateway,
        ResourceType_AWS__EC2__FlowLog,
        ResourceType_AWS__EC2__Host,
        ResourceType_AWS__EC2__Instance,
        ResourceType_AWS__EC2__InternetGateway,
        ResourceType_AWS__EC2__NatGateway,
        ResourceType_AWS__EC2__NetworkAcl,
        ResourceType_AWS__EC2__NetworkInterface,
        ResourceType_AWS__EC2__RegisteredHAInstance,
        ResourceType_AWS__EC2__RouteTable,
        ResourceType_AWS__EC2__SecurityGroup,
        ResourceType_AWS__EC2__Subnet,
        ResourceType_AWS__EC2__VPC,
        ResourceType_AWS__EC2__VPCEndpoint,
        ResourceType_AWS__EC2__VPCEndpointService,
        ResourceType_AWS__EC2__VPCPeeringConnection,
        ResourceType_AWS__EC2__VPNConnection,
        ResourceType_AWS__EC2__VPNGateway,
        ResourceType_AWS__EC2__Volume,
        ResourceType_AWS__ECR__Repository,
        ResourceType_AWS__ECS__Cluster,
        ResourceType_AWS__ECS__Service,
        ResourceType_AWS__ECS__TaskDefinition,
        ResourceType_AWS__EFS__AccessPoint,
        ResourceType_AWS__EFS__FileSystem,
        ResourceType_AWS__EKS__Cluster,
        ResourceType_AWS__ElasticBeanstalk__Application,
        ResourceType_AWS__ElasticBeanstalk__ApplicationVersion,
        ResourceType_AWS__ElasticBeanstalk__Environment,
        ResourceType_AWS__ElasticLoadBalancingV2__LoadBalancer,
        ResourceType_AWS__ElasticLoadBalancing__LoadBalancer,
        ResourceType_AWS__Elasticsearch__Domain,
        ResourceType_AWS__IAM__Group,
        ResourceType_AWS__IAM__Policy,
        ResourceType_AWS__IAM__Role,
        ResourceType_AWS__IAM__User,
        ResourceType_AWS__KMS__Key,
        ResourceType_AWS__Lambda__Function,
        ResourceType_AWS__NetworkFirewall__Firewall,
        ResourceType_AWS__NetworkFirewall__FirewallPolicy,
        ResourceType_AWS__NetworkFirewall__RuleGroup,
        ResourceType_AWS__OpenSearch__Domain,
        ResourceType_AWS__QLDB__Ledger,
        ResourceType_AWS__RDS__DBCluster,
        ResourceType_AWS__RDS__DBClusterSnapshot,
        ResourceType_AWS__RDS__DBInstance,
        ResourceType_AWS__RDS__DBSecurityGroup,
        ResourceType_AWS__RDS__DBSnapshot,
        ResourceType_AWS__RDS__DBSubnetGroup,
        ResourceType_AWS__RDS__EventSubscription,
        ResourceType_AWS__Redshift__Cluster,
        ResourceType_AWS__Redshift__ClusterParameterGroup,
        ResourceType_AWS__Redshift__ClusterSecurityGroup,
        ResourceType_AWS__Redshift__ClusterSnapshot,
        ResourceType_AWS__Redshift__ClusterSubnetGroup,
        ResourceType_AWS__Redshift__EventSubscription,
        ResourceType_AWS__S3__AccountPublicAccessBlock,
        ResourceType_AWS__S3__Bucket,
        ResourceType_AWS__SNS__Topic,
        ResourceType_AWS__SQS__Queue,
        ResourceType_AWS__SSM__AssociationCompliance,
        ResourceType_AWS__SSM__FileData,
        ResourceType_AWS__SSM__ManagedInstanceInventory,
        ResourceType_AWS__SSM__PatchCompliance,
        ResourceType_AWS__SecretsManager__Secret,
        ResourceType_AWS__ServiceCatalog__CloudFormationProduct,
        ResourceType_AWS__ServiceCatalog__CloudFormationProvisionedProduct,
        ResourceType_AWS__ServiceCatalog__Portfolio,
        ResourceType_AWS__ShieldRegional__Protection,
        ResourceType_AWS__Shield__Protection,
        ResourceType_AWS__WAFRegional__RateBasedRule,
        ResourceType_AWS__WAFRegional__Rule,
        ResourceType_AWS__WAFRegional__RuleGroup,
        ResourceType_AWS__WAFRegional__WebACL,
        ResourceType_AWS__WAF__RateBasedRule,
        ResourceType_AWS__WAF__Rule,
        ResourceType_AWS__WAF__RuleGroup,
        ResourceType_AWS__WAF__WebACL,
        ResourceType_AWS__WAFv2__IPSet,
        ResourceType_AWS__WAFv2__ManagedRuleSet,
        ResourceType_AWS__WAFv2__RegexPatternSet,
        ResourceType_AWS__WAFv2__RuleGroup,
        ResourceType_AWS__WAFv2__WebACL,
        ResourceType_AWS__XRay__EncryptionConfig
      ),
  )
where

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

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

pattern ResourceType_AWS__ACM__Certificate :: ResourceType
pattern $bResourceType_AWS__ACM__Certificate :: ResourceType
$mResourceType_AWS__ACM__Certificate :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__ACM__Certificate = ResourceType' "AWS::ACM::Certificate"

pattern ResourceType_AWS__ApiGatewayV2__Api :: ResourceType
pattern $bResourceType_AWS__ApiGatewayV2__Api :: ResourceType
$mResourceType_AWS__ApiGatewayV2__Api :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__ApiGatewayV2__Api = ResourceType' "AWS::ApiGatewayV2::Api"

pattern ResourceType_AWS__ApiGatewayV2__Stage :: ResourceType
pattern $bResourceType_AWS__ApiGatewayV2__Stage :: ResourceType
$mResourceType_AWS__ApiGatewayV2__Stage :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__ApiGatewayV2__Stage = ResourceType' "AWS::ApiGatewayV2::Stage"

pattern ResourceType_AWS__ApiGateway__RestApi :: ResourceType
pattern $bResourceType_AWS__ApiGateway__RestApi :: ResourceType
$mResourceType_AWS__ApiGateway__RestApi :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__ApiGateway__RestApi = ResourceType' "AWS::ApiGateway::RestApi"

pattern ResourceType_AWS__ApiGateway__Stage :: ResourceType
pattern $bResourceType_AWS__ApiGateway__Stage :: ResourceType
$mResourceType_AWS__ApiGateway__Stage :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__ApiGateway__Stage = ResourceType' "AWS::ApiGateway::Stage"

pattern ResourceType_AWS__AutoScaling__AutoScalingGroup :: ResourceType
pattern $bResourceType_AWS__AutoScaling__AutoScalingGroup :: ResourceType
$mResourceType_AWS__AutoScaling__AutoScalingGroup :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__AutoScaling__AutoScalingGroup = ResourceType' "AWS::AutoScaling::AutoScalingGroup"

pattern ResourceType_AWS__AutoScaling__LaunchConfiguration :: ResourceType
pattern $bResourceType_AWS__AutoScaling__LaunchConfiguration :: ResourceType
$mResourceType_AWS__AutoScaling__LaunchConfiguration :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__AutoScaling__LaunchConfiguration = ResourceType' "AWS::AutoScaling::LaunchConfiguration"

pattern ResourceType_AWS__AutoScaling__ScalingPolicy :: ResourceType
pattern $bResourceType_AWS__AutoScaling__ScalingPolicy :: ResourceType
$mResourceType_AWS__AutoScaling__ScalingPolicy :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__AutoScaling__ScalingPolicy = ResourceType' "AWS::AutoScaling::ScalingPolicy"

pattern ResourceType_AWS__AutoScaling__ScheduledAction :: ResourceType
pattern $bResourceType_AWS__AutoScaling__ScheduledAction :: ResourceType
$mResourceType_AWS__AutoScaling__ScheduledAction :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__AutoScaling__ScheduledAction = ResourceType' "AWS::AutoScaling::ScheduledAction"

pattern ResourceType_AWS__Backup__BackupPlan :: ResourceType
pattern $bResourceType_AWS__Backup__BackupPlan :: ResourceType
$mResourceType_AWS__Backup__BackupPlan :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__Backup__BackupPlan = ResourceType' "AWS::Backup::BackupPlan"

pattern ResourceType_AWS__Backup__BackupSelection :: ResourceType
pattern $bResourceType_AWS__Backup__BackupSelection :: ResourceType
$mResourceType_AWS__Backup__BackupSelection :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__Backup__BackupSelection = ResourceType' "AWS::Backup::BackupSelection"

pattern ResourceType_AWS__Backup__BackupVault :: ResourceType
pattern $bResourceType_AWS__Backup__BackupVault :: ResourceType
$mResourceType_AWS__Backup__BackupVault :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__Backup__BackupVault = ResourceType' "AWS::Backup::BackupVault"

pattern ResourceType_AWS__Backup__RecoveryPoint :: ResourceType
pattern $bResourceType_AWS__Backup__RecoveryPoint :: ResourceType
$mResourceType_AWS__Backup__RecoveryPoint :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__Backup__RecoveryPoint = ResourceType' "AWS::Backup::RecoveryPoint"

pattern ResourceType_AWS__CloudFormation__Stack :: ResourceType
pattern $bResourceType_AWS__CloudFormation__Stack :: ResourceType
$mResourceType_AWS__CloudFormation__Stack :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__CloudFormation__Stack = ResourceType' "AWS::CloudFormation::Stack"

pattern ResourceType_AWS__CloudFront__Distribution :: ResourceType
pattern $bResourceType_AWS__CloudFront__Distribution :: ResourceType
$mResourceType_AWS__CloudFront__Distribution :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__CloudFront__Distribution = ResourceType' "AWS::CloudFront::Distribution"

pattern ResourceType_AWS__CloudFront__StreamingDistribution :: ResourceType
pattern $bResourceType_AWS__CloudFront__StreamingDistribution :: ResourceType
$mResourceType_AWS__CloudFront__StreamingDistribution :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__CloudFront__StreamingDistribution = ResourceType' "AWS::CloudFront::StreamingDistribution"

pattern ResourceType_AWS__CloudTrail__Trail :: ResourceType
pattern $bResourceType_AWS__CloudTrail__Trail :: ResourceType
$mResourceType_AWS__CloudTrail__Trail :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__CloudTrail__Trail = ResourceType' "AWS::CloudTrail::Trail"

pattern ResourceType_AWS__CloudWatch__Alarm :: ResourceType
pattern $bResourceType_AWS__CloudWatch__Alarm :: ResourceType
$mResourceType_AWS__CloudWatch__Alarm :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__CloudWatch__Alarm = ResourceType' "AWS::CloudWatch::Alarm"

pattern ResourceType_AWS__CodeBuild__Project :: ResourceType
pattern $bResourceType_AWS__CodeBuild__Project :: ResourceType
$mResourceType_AWS__CodeBuild__Project :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__CodeBuild__Project = ResourceType' "AWS::CodeBuild::Project"

pattern ResourceType_AWS__CodePipeline__Pipeline :: ResourceType
pattern $bResourceType_AWS__CodePipeline__Pipeline :: ResourceType
$mResourceType_AWS__CodePipeline__Pipeline :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__CodePipeline__Pipeline = ResourceType' "AWS::CodePipeline::Pipeline"

pattern ResourceType_AWS__Config__ConformancePackCompliance :: ResourceType
pattern $bResourceType_AWS__Config__ConformancePackCompliance :: ResourceType
$mResourceType_AWS__Config__ConformancePackCompliance :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__Config__ConformancePackCompliance = ResourceType' "AWS::Config::ConformancePackCompliance"

pattern ResourceType_AWS__Config__ResourceCompliance :: ResourceType
pattern $bResourceType_AWS__Config__ResourceCompliance :: ResourceType
$mResourceType_AWS__Config__ResourceCompliance :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__Config__ResourceCompliance = ResourceType' "AWS::Config::ResourceCompliance"

pattern ResourceType_AWS__DynamoDB__Table :: ResourceType
pattern $bResourceType_AWS__DynamoDB__Table :: ResourceType
$mResourceType_AWS__DynamoDB__Table :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__DynamoDB__Table = ResourceType' "AWS::DynamoDB::Table"

pattern ResourceType_AWS__EC2__CustomerGateway :: ResourceType
pattern $bResourceType_AWS__EC2__CustomerGateway :: ResourceType
$mResourceType_AWS__EC2__CustomerGateway :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EC2__CustomerGateway = ResourceType' "AWS::EC2::CustomerGateway"

pattern ResourceType_AWS__EC2__EIP :: ResourceType
pattern $bResourceType_AWS__EC2__EIP :: ResourceType
$mResourceType_AWS__EC2__EIP :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EC2__EIP = ResourceType' "AWS::EC2::EIP"

pattern ResourceType_AWS__EC2__EgressOnlyInternetGateway :: ResourceType
pattern $bResourceType_AWS__EC2__EgressOnlyInternetGateway :: ResourceType
$mResourceType_AWS__EC2__EgressOnlyInternetGateway :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EC2__EgressOnlyInternetGateway = ResourceType' "AWS::EC2::EgressOnlyInternetGateway"

pattern ResourceType_AWS__EC2__FlowLog :: ResourceType
pattern $bResourceType_AWS__EC2__FlowLog :: ResourceType
$mResourceType_AWS__EC2__FlowLog :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EC2__FlowLog = ResourceType' "AWS::EC2::FlowLog"

pattern ResourceType_AWS__EC2__Host :: ResourceType
pattern $bResourceType_AWS__EC2__Host :: ResourceType
$mResourceType_AWS__EC2__Host :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EC2__Host = ResourceType' "AWS::EC2::Host"

pattern ResourceType_AWS__EC2__Instance :: ResourceType
pattern $bResourceType_AWS__EC2__Instance :: ResourceType
$mResourceType_AWS__EC2__Instance :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EC2__Instance = ResourceType' "AWS::EC2::Instance"

pattern ResourceType_AWS__EC2__InternetGateway :: ResourceType
pattern $bResourceType_AWS__EC2__InternetGateway :: ResourceType
$mResourceType_AWS__EC2__InternetGateway :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EC2__InternetGateway = ResourceType' "AWS::EC2::InternetGateway"

pattern ResourceType_AWS__EC2__NatGateway :: ResourceType
pattern $bResourceType_AWS__EC2__NatGateway :: ResourceType
$mResourceType_AWS__EC2__NatGateway :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EC2__NatGateway = ResourceType' "AWS::EC2::NatGateway"

pattern ResourceType_AWS__EC2__NetworkAcl :: ResourceType
pattern $bResourceType_AWS__EC2__NetworkAcl :: ResourceType
$mResourceType_AWS__EC2__NetworkAcl :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EC2__NetworkAcl = ResourceType' "AWS::EC2::NetworkAcl"

pattern ResourceType_AWS__EC2__NetworkInterface :: ResourceType
pattern $bResourceType_AWS__EC2__NetworkInterface :: ResourceType
$mResourceType_AWS__EC2__NetworkInterface :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EC2__NetworkInterface = ResourceType' "AWS::EC2::NetworkInterface"

pattern ResourceType_AWS__EC2__RegisteredHAInstance :: ResourceType
pattern $bResourceType_AWS__EC2__RegisteredHAInstance :: ResourceType
$mResourceType_AWS__EC2__RegisteredHAInstance :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EC2__RegisteredHAInstance = ResourceType' "AWS::EC2::RegisteredHAInstance"

pattern ResourceType_AWS__EC2__RouteTable :: ResourceType
pattern $bResourceType_AWS__EC2__RouteTable :: ResourceType
$mResourceType_AWS__EC2__RouteTable :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EC2__RouteTable = ResourceType' "AWS::EC2::RouteTable"

pattern ResourceType_AWS__EC2__SecurityGroup :: ResourceType
pattern $bResourceType_AWS__EC2__SecurityGroup :: ResourceType
$mResourceType_AWS__EC2__SecurityGroup :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EC2__SecurityGroup = ResourceType' "AWS::EC2::SecurityGroup"

pattern ResourceType_AWS__EC2__Subnet :: ResourceType
pattern $bResourceType_AWS__EC2__Subnet :: ResourceType
$mResourceType_AWS__EC2__Subnet :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EC2__Subnet = ResourceType' "AWS::EC2::Subnet"

pattern ResourceType_AWS__EC2__VPC :: ResourceType
pattern $bResourceType_AWS__EC2__VPC :: ResourceType
$mResourceType_AWS__EC2__VPC :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EC2__VPC = ResourceType' "AWS::EC2::VPC"

pattern ResourceType_AWS__EC2__VPCEndpoint :: ResourceType
pattern $bResourceType_AWS__EC2__VPCEndpoint :: ResourceType
$mResourceType_AWS__EC2__VPCEndpoint :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EC2__VPCEndpoint = ResourceType' "AWS::EC2::VPCEndpoint"

pattern ResourceType_AWS__EC2__VPCEndpointService :: ResourceType
pattern $bResourceType_AWS__EC2__VPCEndpointService :: ResourceType
$mResourceType_AWS__EC2__VPCEndpointService :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EC2__VPCEndpointService = ResourceType' "AWS::EC2::VPCEndpointService"

pattern ResourceType_AWS__EC2__VPCPeeringConnection :: ResourceType
pattern $bResourceType_AWS__EC2__VPCPeeringConnection :: ResourceType
$mResourceType_AWS__EC2__VPCPeeringConnection :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EC2__VPCPeeringConnection = ResourceType' "AWS::EC2::VPCPeeringConnection"

pattern ResourceType_AWS__EC2__VPNConnection :: ResourceType
pattern $bResourceType_AWS__EC2__VPNConnection :: ResourceType
$mResourceType_AWS__EC2__VPNConnection :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EC2__VPNConnection = ResourceType' "AWS::EC2::VPNConnection"

pattern ResourceType_AWS__EC2__VPNGateway :: ResourceType
pattern $bResourceType_AWS__EC2__VPNGateway :: ResourceType
$mResourceType_AWS__EC2__VPNGateway :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EC2__VPNGateway = ResourceType' "AWS::EC2::VPNGateway"

pattern ResourceType_AWS__EC2__Volume :: ResourceType
pattern $bResourceType_AWS__EC2__Volume :: ResourceType
$mResourceType_AWS__EC2__Volume :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EC2__Volume = ResourceType' "AWS::EC2::Volume"

pattern ResourceType_AWS__ECR__Repository :: ResourceType
pattern $bResourceType_AWS__ECR__Repository :: ResourceType
$mResourceType_AWS__ECR__Repository :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__ECR__Repository = ResourceType' "AWS::ECR::Repository"

pattern ResourceType_AWS__ECS__Cluster :: ResourceType
pattern $bResourceType_AWS__ECS__Cluster :: ResourceType
$mResourceType_AWS__ECS__Cluster :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__ECS__Cluster = ResourceType' "AWS::ECS::Cluster"

pattern ResourceType_AWS__ECS__Service :: ResourceType
pattern $bResourceType_AWS__ECS__Service :: ResourceType
$mResourceType_AWS__ECS__Service :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__ECS__Service = ResourceType' "AWS::ECS::Service"

pattern ResourceType_AWS__ECS__TaskDefinition :: ResourceType
pattern $bResourceType_AWS__ECS__TaskDefinition :: ResourceType
$mResourceType_AWS__ECS__TaskDefinition :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__ECS__TaskDefinition = ResourceType' "AWS::ECS::TaskDefinition"

pattern ResourceType_AWS__EFS__AccessPoint :: ResourceType
pattern $bResourceType_AWS__EFS__AccessPoint :: ResourceType
$mResourceType_AWS__EFS__AccessPoint :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EFS__AccessPoint = ResourceType' "AWS::EFS::AccessPoint"

pattern ResourceType_AWS__EFS__FileSystem :: ResourceType
pattern $bResourceType_AWS__EFS__FileSystem :: ResourceType
$mResourceType_AWS__EFS__FileSystem :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EFS__FileSystem = ResourceType' "AWS::EFS::FileSystem"

pattern ResourceType_AWS__EKS__Cluster :: ResourceType
pattern $bResourceType_AWS__EKS__Cluster :: ResourceType
$mResourceType_AWS__EKS__Cluster :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__EKS__Cluster = ResourceType' "AWS::EKS::Cluster"

pattern ResourceType_AWS__ElasticBeanstalk__Application :: ResourceType
pattern $bResourceType_AWS__ElasticBeanstalk__Application :: ResourceType
$mResourceType_AWS__ElasticBeanstalk__Application :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__ElasticBeanstalk__Application = ResourceType' "AWS::ElasticBeanstalk::Application"

pattern ResourceType_AWS__ElasticBeanstalk__ApplicationVersion :: ResourceType
pattern $bResourceType_AWS__ElasticBeanstalk__ApplicationVersion :: ResourceType
$mResourceType_AWS__ElasticBeanstalk__ApplicationVersion :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__ElasticBeanstalk__ApplicationVersion = ResourceType' "AWS::ElasticBeanstalk::ApplicationVersion"

pattern ResourceType_AWS__ElasticBeanstalk__Environment :: ResourceType
pattern $bResourceType_AWS__ElasticBeanstalk__Environment :: ResourceType
$mResourceType_AWS__ElasticBeanstalk__Environment :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__ElasticBeanstalk__Environment = ResourceType' "AWS::ElasticBeanstalk::Environment"

pattern ResourceType_AWS__ElasticLoadBalancingV2__LoadBalancer :: ResourceType
pattern $bResourceType_AWS__ElasticLoadBalancingV2__LoadBalancer :: ResourceType
$mResourceType_AWS__ElasticLoadBalancingV2__LoadBalancer :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__ElasticLoadBalancingV2__LoadBalancer = ResourceType' "AWS::ElasticLoadBalancingV2::LoadBalancer"

pattern ResourceType_AWS__ElasticLoadBalancing__LoadBalancer :: ResourceType
pattern $bResourceType_AWS__ElasticLoadBalancing__LoadBalancer :: ResourceType
$mResourceType_AWS__ElasticLoadBalancing__LoadBalancer :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__ElasticLoadBalancing__LoadBalancer = ResourceType' "AWS::ElasticLoadBalancing::LoadBalancer"

pattern ResourceType_AWS__Elasticsearch__Domain :: ResourceType
pattern $bResourceType_AWS__Elasticsearch__Domain :: ResourceType
$mResourceType_AWS__Elasticsearch__Domain :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__Elasticsearch__Domain = ResourceType' "AWS::Elasticsearch::Domain"

pattern ResourceType_AWS__IAM__Group :: ResourceType
pattern $bResourceType_AWS__IAM__Group :: ResourceType
$mResourceType_AWS__IAM__Group :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__IAM__Group = ResourceType' "AWS::IAM::Group"

pattern ResourceType_AWS__IAM__Policy :: ResourceType
pattern $bResourceType_AWS__IAM__Policy :: ResourceType
$mResourceType_AWS__IAM__Policy :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__IAM__Policy = ResourceType' "AWS::IAM::Policy"

pattern ResourceType_AWS__IAM__Role :: ResourceType
pattern $bResourceType_AWS__IAM__Role :: ResourceType
$mResourceType_AWS__IAM__Role :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__IAM__Role = ResourceType' "AWS::IAM::Role"

pattern ResourceType_AWS__IAM__User :: ResourceType
pattern $bResourceType_AWS__IAM__User :: ResourceType
$mResourceType_AWS__IAM__User :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__IAM__User = ResourceType' "AWS::IAM::User"

pattern ResourceType_AWS__KMS__Key :: ResourceType
pattern $bResourceType_AWS__KMS__Key :: ResourceType
$mResourceType_AWS__KMS__Key :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__KMS__Key = ResourceType' "AWS::KMS::Key"

pattern ResourceType_AWS__Lambda__Function :: ResourceType
pattern $bResourceType_AWS__Lambda__Function :: ResourceType
$mResourceType_AWS__Lambda__Function :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__Lambda__Function = ResourceType' "AWS::Lambda::Function"

pattern ResourceType_AWS__NetworkFirewall__Firewall :: ResourceType
pattern $bResourceType_AWS__NetworkFirewall__Firewall :: ResourceType
$mResourceType_AWS__NetworkFirewall__Firewall :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__NetworkFirewall__Firewall = ResourceType' "AWS::NetworkFirewall::Firewall"

pattern ResourceType_AWS__NetworkFirewall__FirewallPolicy :: ResourceType
pattern $bResourceType_AWS__NetworkFirewall__FirewallPolicy :: ResourceType
$mResourceType_AWS__NetworkFirewall__FirewallPolicy :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__NetworkFirewall__FirewallPolicy = ResourceType' "AWS::NetworkFirewall::FirewallPolicy"

pattern ResourceType_AWS__NetworkFirewall__RuleGroup :: ResourceType
pattern $bResourceType_AWS__NetworkFirewall__RuleGroup :: ResourceType
$mResourceType_AWS__NetworkFirewall__RuleGroup :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__NetworkFirewall__RuleGroup = ResourceType' "AWS::NetworkFirewall::RuleGroup"

pattern ResourceType_AWS__OpenSearch__Domain :: ResourceType
pattern $bResourceType_AWS__OpenSearch__Domain :: ResourceType
$mResourceType_AWS__OpenSearch__Domain :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__OpenSearch__Domain = ResourceType' "AWS::OpenSearch::Domain"

pattern ResourceType_AWS__QLDB__Ledger :: ResourceType
pattern $bResourceType_AWS__QLDB__Ledger :: ResourceType
$mResourceType_AWS__QLDB__Ledger :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__QLDB__Ledger = ResourceType' "AWS::QLDB::Ledger"

pattern ResourceType_AWS__RDS__DBCluster :: ResourceType
pattern $bResourceType_AWS__RDS__DBCluster :: ResourceType
$mResourceType_AWS__RDS__DBCluster :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__RDS__DBCluster = ResourceType' "AWS::RDS::DBCluster"

pattern ResourceType_AWS__RDS__DBClusterSnapshot :: ResourceType
pattern $bResourceType_AWS__RDS__DBClusterSnapshot :: ResourceType
$mResourceType_AWS__RDS__DBClusterSnapshot :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__RDS__DBClusterSnapshot = ResourceType' "AWS::RDS::DBClusterSnapshot"

pattern ResourceType_AWS__RDS__DBInstance :: ResourceType
pattern $bResourceType_AWS__RDS__DBInstance :: ResourceType
$mResourceType_AWS__RDS__DBInstance :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__RDS__DBInstance = ResourceType' "AWS::RDS::DBInstance"

pattern ResourceType_AWS__RDS__DBSecurityGroup :: ResourceType
pattern $bResourceType_AWS__RDS__DBSecurityGroup :: ResourceType
$mResourceType_AWS__RDS__DBSecurityGroup :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__RDS__DBSecurityGroup = ResourceType' "AWS::RDS::DBSecurityGroup"

pattern ResourceType_AWS__RDS__DBSnapshot :: ResourceType
pattern $bResourceType_AWS__RDS__DBSnapshot :: ResourceType
$mResourceType_AWS__RDS__DBSnapshot :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__RDS__DBSnapshot = ResourceType' "AWS::RDS::DBSnapshot"

pattern ResourceType_AWS__RDS__DBSubnetGroup :: ResourceType
pattern $bResourceType_AWS__RDS__DBSubnetGroup :: ResourceType
$mResourceType_AWS__RDS__DBSubnetGroup :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__RDS__DBSubnetGroup = ResourceType' "AWS::RDS::DBSubnetGroup"

pattern ResourceType_AWS__RDS__EventSubscription :: ResourceType
pattern $bResourceType_AWS__RDS__EventSubscription :: ResourceType
$mResourceType_AWS__RDS__EventSubscription :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__RDS__EventSubscription = ResourceType' "AWS::RDS::EventSubscription"

pattern ResourceType_AWS__Redshift__Cluster :: ResourceType
pattern $bResourceType_AWS__Redshift__Cluster :: ResourceType
$mResourceType_AWS__Redshift__Cluster :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__Redshift__Cluster = ResourceType' "AWS::Redshift::Cluster"

pattern ResourceType_AWS__Redshift__ClusterParameterGroup :: ResourceType
pattern $bResourceType_AWS__Redshift__ClusterParameterGroup :: ResourceType
$mResourceType_AWS__Redshift__ClusterParameterGroup :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__Redshift__ClusterParameterGroup = ResourceType' "AWS::Redshift::ClusterParameterGroup"

pattern ResourceType_AWS__Redshift__ClusterSecurityGroup :: ResourceType
pattern $bResourceType_AWS__Redshift__ClusterSecurityGroup :: ResourceType
$mResourceType_AWS__Redshift__ClusterSecurityGroup :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__Redshift__ClusterSecurityGroup = ResourceType' "AWS::Redshift::ClusterSecurityGroup"

pattern ResourceType_AWS__Redshift__ClusterSnapshot :: ResourceType
pattern $bResourceType_AWS__Redshift__ClusterSnapshot :: ResourceType
$mResourceType_AWS__Redshift__ClusterSnapshot :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__Redshift__ClusterSnapshot = ResourceType' "AWS::Redshift::ClusterSnapshot"

pattern ResourceType_AWS__Redshift__ClusterSubnetGroup :: ResourceType
pattern $bResourceType_AWS__Redshift__ClusterSubnetGroup :: ResourceType
$mResourceType_AWS__Redshift__ClusterSubnetGroup :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__Redshift__ClusterSubnetGroup = ResourceType' "AWS::Redshift::ClusterSubnetGroup"

pattern ResourceType_AWS__Redshift__EventSubscription :: ResourceType
pattern $bResourceType_AWS__Redshift__EventSubscription :: ResourceType
$mResourceType_AWS__Redshift__EventSubscription :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__Redshift__EventSubscription = ResourceType' "AWS::Redshift::EventSubscription"

pattern ResourceType_AWS__S3__AccountPublicAccessBlock :: ResourceType
pattern $bResourceType_AWS__S3__AccountPublicAccessBlock :: ResourceType
$mResourceType_AWS__S3__AccountPublicAccessBlock :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__S3__AccountPublicAccessBlock = ResourceType' "AWS::S3::AccountPublicAccessBlock"

pattern ResourceType_AWS__S3__Bucket :: ResourceType
pattern $bResourceType_AWS__S3__Bucket :: ResourceType
$mResourceType_AWS__S3__Bucket :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__S3__Bucket = ResourceType' "AWS::S3::Bucket"

pattern ResourceType_AWS__SNS__Topic :: ResourceType
pattern $bResourceType_AWS__SNS__Topic :: ResourceType
$mResourceType_AWS__SNS__Topic :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__SNS__Topic = ResourceType' "AWS::SNS::Topic"

pattern ResourceType_AWS__SQS__Queue :: ResourceType
pattern $bResourceType_AWS__SQS__Queue :: ResourceType
$mResourceType_AWS__SQS__Queue :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__SQS__Queue = ResourceType' "AWS::SQS::Queue"

pattern ResourceType_AWS__SSM__AssociationCompliance :: ResourceType
pattern $bResourceType_AWS__SSM__AssociationCompliance :: ResourceType
$mResourceType_AWS__SSM__AssociationCompliance :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__SSM__AssociationCompliance = ResourceType' "AWS::SSM::AssociationCompliance"

pattern ResourceType_AWS__SSM__FileData :: ResourceType
pattern $bResourceType_AWS__SSM__FileData :: ResourceType
$mResourceType_AWS__SSM__FileData :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__SSM__FileData = ResourceType' "AWS::SSM::FileData"

pattern ResourceType_AWS__SSM__ManagedInstanceInventory :: ResourceType
pattern $bResourceType_AWS__SSM__ManagedInstanceInventory :: ResourceType
$mResourceType_AWS__SSM__ManagedInstanceInventory :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__SSM__ManagedInstanceInventory = ResourceType' "AWS::SSM::ManagedInstanceInventory"

pattern ResourceType_AWS__SSM__PatchCompliance :: ResourceType
pattern $bResourceType_AWS__SSM__PatchCompliance :: ResourceType
$mResourceType_AWS__SSM__PatchCompliance :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__SSM__PatchCompliance = ResourceType' "AWS::SSM::PatchCompliance"

pattern ResourceType_AWS__SecretsManager__Secret :: ResourceType
pattern $bResourceType_AWS__SecretsManager__Secret :: ResourceType
$mResourceType_AWS__SecretsManager__Secret :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__SecretsManager__Secret = ResourceType' "AWS::SecretsManager::Secret"

pattern ResourceType_AWS__ServiceCatalog__CloudFormationProduct :: ResourceType
pattern $bResourceType_AWS__ServiceCatalog__CloudFormationProduct :: ResourceType
$mResourceType_AWS__ServiceCatalog__CloudFormationProduct :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__ServiceCatalog__CloudFormationProduct = ResourceType' "AWS::ServiceCatalog::CloudFormationProduct"

pattern ResourceType_AWS__ServiceCatalog__CloudFormationProvisionedProduct :: ResourceType
pattern $bResourceType_AWS__ServiceCatalog__CloudFormationProvisionedProduct :: ResourceType
$mResourceType_AWS__ServiceCatalog__CloudFormationProvisionedProduct :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__ServiceCatalog__CloudFormationProvisionedProduct = ResourceType' "AWS::ServiceCatalog::CloudFormationProvisionedProduct"

pattern ResourceType_AWS__ServiceCatalog__Portfolio :: ResourceType
pattern $bResourceType_AWS__ServiceCatalog__Portfolio :: ResourceType
$mResourceType_AWS__ServiceCatalog__Portfolio :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__ServiceCatalog__Portfolio = ResourceType' "AWS::ServiceCatalog::Portfolio"

pattern ResourceType_AWS__ShieldRegional__Protection :: ResourceType
pattern $bResourceType_AWS__ShieldRegional__Protection :: ResourceType
$mResourceType_AWS__ShieldRegional__Protection :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__ShieldRegional__Protection = ResourceType' "AWS::ShieldRegional::Protection"

pattern ResourceType_AWS__Shield__Protection :: ResourceType
pattern $bResourceType_AWS__Shield__Protection :: ResourceType
$mResourceType_AWS__Shield__Protection :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__Shield__Protection = ResourceType' "AWS::Shield::Protection"

pattern ResourceType_AWS__WAFRegional__RateBasedRule :: ResourceType
pattern $bResourceType_AWS__WAFRegional__RateBasedRule :: ResourceType
$mResourceType_AWS__WAFRegional__RateBasedRule :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__WAFRegional__RateBasedRule = ResourceType' "AWS::WAFRegional::RateBasedRule"

pattern ResourceType_AWS__WAFRegional__Rule :: ResourceType
pattern $bResourceType_AWS__WAFRegional__Rule :: ResourceType
$mResourceType_AWS__WAFRegional__Rule :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__WAFRegional__Rule = ResourceType' "AWS::WAFRegional::Rule"

pattern ResourceType_AWS__WAFRegional__RuleGroup :: ResourceType
pattern $bResourceType_AWS__WAFRegional__RuleGroup :: ResourceType
$mResourceType_AWS__WAFRegional__RuleGroup :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__WAFRegional__RuleGroup = ResourceType' "AWS::WAFRegional::RuleGroup"

pattern ResourceType_AWS__WAFRegional__WebACL :: ResourceType
pattern $bResourceType_AWS__WAFRegional__WebACL :: ResourceType
$mResourceType_AWS__WAFRegional__WebACL :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__WAFRegional__WebACL = ResourceType' "AWS::WAFRegional::WebACL"

pattern ResourceType_AWS__WAF__RateBasedRule :: ResourceType
pattern $bResourceType_AWS__WAF__RateBasedRule :: ResourceType
$mResourceType_AWS__WAF__RateBasedRule :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__WAF__RateBasedRule = ResourceType' "AWS::WAF::RateBasedRule"

pattern ResourceType_AWS__WAF__Rule :: ResourceType
pattern $bResourceType_AWS__WAF__Rule :: ResourceType
$mResourceType_AWS__WAF__Rule :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__WAF__Rule = ResourceType' "AWS::WAF::Rule"

pattern ResourceType_AWS__WAF__RuleGroup :: ResourceType
pattern $bResourceType_AWS__WAF__RuleGroup :: ResourceType
$mResourceType_AWS__WAF__RuleGroup :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__WAF__RuleGroup = ResourceType' "AWS::WAF::RuleGroup"

pattern ResourceType_AWS__WAF__WebACL :: ResourceType
pattern $bResourceType_AWS__WAF__WebACL :: ResourceType
$mResourceType_AWS__WAF__WebACL :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__WAF__WebACL = ResourceType' "AWS::WAF::WebACL"

pattern ResourceType_AWS__WAFv2__IPSet :: ResourceType
pattern $bResourceType_AWS__WAFv2__IPSet :: ResourceType
$mResourceType_AWS__WAFv2__IPSet :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__WAFv2__IPSet = ResourceType' "AWS::WAFv2::IPSet"

pattern ResourceType_AWS__WAFv2__ManagedRuleSet :: ResourceType
pattern $bResourceType_AWS__WAFv2__ManagedRuleSet :: ResourceType
$mResourceType_AWS__WAFv2__ManagedRuleSet :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__WAFv2__ManagedRuleSet = ResourceType' "AWS::WAFv2::ManagedRuleSet"

pattern ResourceType_AWS__WAFv2__RegexPatternSet :: ResourceType
pattern $bResourceType_AWS__WAFv2__RegexPatternSet :: ResourceType
$mResourceType_AWS__WAFv2__RegexPatternSet :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__WAFv2__RegexPatternSet = ResourceType' "AWS::WAFv2::RegexPatternSet"

pattern ResourceType_AWS__WAFv2__RuleGroup :: ResourceType
pattern $bResourceType_AWS__WAFv2__RuleGroup :: ResourceType
$mResourceType_AWS__WAFv2__RuleGroup :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__WAFv2__RuleGroup = ResourceType' "AWS::WAFv2::RuleGroup"

pattern ResourceType_AWS__WAFv2__WebACL :: ResourceType
pattern $bResourceType_AWS__WAFv2__WebACL :: ResourceType
$mResourceType_AWS__WAFv2__WebACL :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__WAFv2__WebACL = ResourceType' "AWS::WAFv2::WebACL"

pattern ResourceType_AWS__XRay__EncryptionConfig :: ResourceType
pattern $bResourceType_AWS__XRay__EncryptionConfig :: ResourceType
$mResourceType_AWS__XRay__EncryptionConfig :: forall r. ResourceType -> (Void# -> r) -> (Void# -> r) -> r
ResourceType_AWS__XRay__EncryptionConfig = ResourceType' "AWS::XRay::EncryptionConfig"

{-# COMPLETE
  ResourceType_AWS__ACM__Certificate,
  ResourceType_AWS__ApiGatewayV2__Api,
  ResourceType_AWS__ApiGatewayV2__Stage,
  ResourceType_AWS__ApiGateway__RestApi,
  ResourceType_AWS__ApiGateway__Stage,
  ResourceType_AWS__AutoScaling__AutoScalingGroup,
  ResourceType_AWS__AutoScaling__LaunchConfiguration,
  ResourceType_AWS__AutoScaling__ScalingPolicy,
  ResourceType_AWS__AutoScaling__ScheduledAction,
  ResourceType_AWS__Backup__BackupPlan,
  ResourceType_AWS__Backup__BackupSelection,
  ResourceType_AWS__Backup__BackupVault,
  ResourceType_AWS__Backup__RecoveryPoint,
  ResourceType_AWS__CloudFormation__Stack,
  ResourceType_AWS__CloudFront__Distribution,
  ResourceType_AWS__CloudFront__StreamingDistribution,
  ResourceType_AWS__CloudTrail__Trail,
  ResourceType_AWS__CloudWatch__Alarm,
  ResourceType_AWS__CodeBuild__Project,
  ResourceType_AWS__CodePipeline__Pipeline,
  ResourceType_AWS__Config__ConformancePackCompliance,
  ResourceType_AWS__Config__ResourceCompliance,
  ResourceType_AWS__DynamoDB__Table,
  ResourceType_AWS__EC2__CustomerGateway,
  ResourceType_AWS__EC2__EIP,
  ResourceType_AWS__EC2__EgressOnlyInternetGateway,
  ResourceType_AWS__EC2__FlowLog,
  ResourceType_AWS__EC2__Host,
  ResourceType_AWS__EC2__Instance,
  ResourceType_AWS__EC2__InternetGateway,
  ResourceType_AWS__EC2__NatGateway,
  ResourceType_AWS__EC2__NetworkAcl,
  ResourceType_AWS__EC2__NetworkInterface,
  ResourceType_AWS__EC2__RegisteredHAInstance,
  ResourceType_AWS__EC2__RouteTable,
  ResourceType_AWS__EC2__SecurityGroup,
  ResourceType_AWS__EC2__Subnet,
  ResourceType_AWS__EC2__VPC,
  ResourceType_AWS__EC2__VPCEndpoint,
  ResourceType_AWS__EC2__VPCEndpointService,
  ResourceType_AWS__EC2__VPCPeeringConnection,
  ResourceType_AWS__EC2__VPNConnection,
  ResourceType_AWS__EC2__VPNGateway,
  ResourceType_AWS__EC2__Volume,
  ResourceType_AWS__ECR__Repository,
  ResourceType_AWS__ECS__Cluster,
  ResourceType_AWS__ECS__Service,
  ResourceType_AWS__ECS__TaskDefinition,
  ResourceType_AWS__EFS__AccessPoint,
  ResourceType_AWS__EFS__FileSystem,
  ResourceType_AWS__EKS__Cluster,
  ResourceType_AWS__ElasticBeanstalk__Application,
  ResourceType_AWS__ElasticBeanstalk__ApplicationVersion,
  ResourceType_AWS__ElasticBeanstalk__Environment,
  ResourceType_AWS__ElasticLoadBalancingV2__LoadBalancer,
  ResourceType_AWS__ElasticLoadBalancing__LoadBalancer,
  ResourceType_AWS__Elasticsearch__Domain,
  ResourceType_AWS__IAM__Group,
  ResourceType_AWS__IAM__Policy,
  ResourceType_AWS__IAM__Role,
  ResourceType_AWS__IAM__User,
  ResourceType_AWS__KMS__Key,
  ResourceType_AWS__Lambda__Function,
  ResourceType_AWS__NetworkFirewall__Firewall,
  ResourceType_AWS__NetworkFirewall__FirewallPolicy,
  ResourceType_AWS__NetworkFirewall__RuleGroup,
  ResourceType_AWS__OpenSearch__Domain,
  ResourceType_AWS__QLDB__Ledger,
  ResourceType_AWS__RDS__DBCluster,
  ResourceType_AWS__RDS__DBClusterSnapshot,
  ResourceType_AWS__RDS__DBInstance,
  ResourceType_AWS__RDS__DBSecurityGroup,
  ResourceType_AWS__RDS__DBSnapshot,
  ResourceType_AWS__RDS__DBSubnetGroup,
  ResourceType_AWS__RDS__EventSubscription,
  ResourceType_AWS__Redshift__Cluster,
  ResourceType_AWS__Redshift__ClusterParameterGroup,
  ResourceType_AWS__Redshift__ClusterSecurityGroup,
  ResourceType_AWS__Redshift__ClusterSnapshot,
  ResourceType_AWS__Redshift__ClusterSubnetGroup,
  ResourceType_AWS__Redshift__EventSubscription,
  ResourceType_AWS__S3__AccountPublicAccessBlock,
  ResourceType_AWS__S3__Bucket,
  ResourceType_AWS__SNS__Topic,
  ResourceType_AWS__SQS__Queue,
  ResourceType_AWS__SSM__AssociationCompliance,
  ResourceType_AWS__SSM__FileData,
  ResourceType_AWS__SSM__ManagedInstanceInventory,
  ResourceType_AWS__SSM__PatchCompliance,
  ResourceType_AWS__SecretsManager__Secret,
  ResourceType_AWS__ServiceCatalog__CloudFormationProduct,
  ResourceType_AWS__ServiceCatalog__CloudFormationProvisionedProduct,
  ResourceType_AWS__ServiceCatalog__Portfolio,
  ResourceType_AWS__ShieldRegional__Protection,
  ResourceType_AWS__Shield__Protection,
  ResourceType_AWS__WAFRegional__RateBasedRule,
  ResourceType_AWS__WAFRegional__Rule,
  ResourceType_AWS__WAFRegional__RuleGroup,
  ResourceType_AWS__WAFRegional__WebACL,
  ResourceType_AWS__WAF__RateBasedRule,
  ResourceType_AWS__WAF__Rule,
  ResourceType_AWS__WAF__RuleGroup,
  ResourceType_AWS__WAF__WebACL,
  ResourceType_AWS__WAFv2__IPSet,
  ResourceType_AWS__WAFv2__ManagedRuleSet,
  ResourceType_AWS__WAFv2__RegexPatternSet,
  ResourceType_AWS__WAFv2__RuleGroup,
  ResourceType_AWS__WAFv2__WebACL,
  ResourceType_AWS__XRay__EncryptionConfig,
  ResourceType'
  #-}