{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Network.AWS.Config.Types.Sum -- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.AWS.Config.Types.Sum where import Network.AWS.Prelude data AggregatedSourceStatusType = Failed | Outdated | Succeeded deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText AggregatedSourceStatusType where parser = takeLowerText >>= \case "failed" -> pure Failed "outdated" -> pure Outdated "succeeded" -> pure Succeeded e -> fromTextError $ "Failure parsing AggregatedSourceStatusType from value: '" <> e <> "'. Accepted values: failed, outdated, succeeded" instance ToText AggregatedSourceStatusType where toText = \case Failed -> "FAILED" Outdated -> "OUTDATED" Succeeded -> "SUCCEEDED" instance Hashable AggregatedSourceStatusType instance NFData AggregatedSourceStatusType instance ToByteString AggregatedSourceStatusType instance ToQuery AggregatedSourceStatusType instance ToHeader AggregatedSourceStatusType instance ToJSON AggregatedSourceStatusType where toJSON = toJSONText instance FromJSON AggregatedSourceStatusType where parseJSON = parseJSONText "AggregatedSourceStatusType" data AggregatedSourceType = Account | Organization deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText AggregatedSourceType where parser = takeLowerText >>= \case "account" -> pure Account "organization" -> pure Organization e -> fromTextError $ "Failure parsing AggregatedSourceType from value: '" <> e <> "'. Accepted values: account, organization" instance ToText AggregatedSourceType where toText = \case Account -> "ACCOUNT" Organization -> "ORGANIZATION" instance Hashable AggregatedSourceType instance NFData AggregatedSourceType instance ToByteString AggregatedSourceType instance ToQuery AggregatedSourceType instance ToHeader AggregatedSourceType instance FromJSON AggregatedSourceType where parseJSON = parseJSONText "AggregatedSourceType" data ChronologicalOrder = Forward | Reverse deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText ChronologicalOrder where parser = takeLowerText >>= \case "forward" -> pure Forward "reverse" -> pure Reverse e -> fromTextError $ "Failure parsing ChronologicalOrder from value: '" <> e <> "'. Accepted values: forward, reverse" instance ToText ChronologicalOrder where toText = \case Forward -> "Forward" Reverse -> "Reverse" instance Hashable ChronologicalOrder instance NFData ChronologicalOrder instance ToByteString ChronologicalOrder instance ToQuery ChronologicalOrder instance ToHeader ChronologicalOrder instance ToJSON ChronologicalOrder where toJSON = toJSONText data ComplianceType = Compliant | InsufficientData | NonCompliant | NotApplicable deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText ComplianceType where parser = takeLowerText >>= \case "compliant" -> pure Compliant "insufficient_data" -> pure InsufficientData "non_compliant" -> pure NonCompliant "not_applicable" -> pure NotApplicable e -> fromTextError $ "Failure parsing ComplianceType from value: '" <> e <> "'. Accepted values: compliant, insufficient_data, non_compliant, not_applicable" instance ToText ComplianceType where toText = \case Compliant -> "COMPLIANT" InsufficientData -> "INSUFFICIENT_DATA" NonCompliant -> "NON_COMPLIANT" NotApplicable -> "NOT_APPLICABLE" instance Hashable ComplianceType instance NFData ComplianceType instance ToByteString ComplianceType instance ToQuery ComplianceType instance ToHeader ComplianceType instance ToJSON ComplianceType where toJSON = toJSONText instance FromJSON ComplianceType where parseJSON = parseJSONText "ComplianceType" data ConfigRuleComplianceSummaryGroupKey = AWSRegion | AccountId deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText ConfigRuleComplianceSummaryGroupKey where parser = takeLowerText >>= \case "aws_region" -> pure AWSRegion "account_id" -> pure AccountId e -> fromTextError $ "Failure parsing ConfigRuleComplianceSummaryGroupKey from value: '" <> e <> "'. Accepted values: aws_region, account_id" instance ToText ConfigRuleComplianceSummaryGroupKey where toText = \case AWSRegion -> "AWS_REGION" AccountId -> "ACCOUNT_ID" instance Hashable ConfigRuleComplianceSummaryGroupKey instance NFData ConfigRuleComplianceSummaryGroupKey instance ToByteString ConfigRuleComplianceSummaryGroupKey instance ToQuery ConfigRuleComplianceSummaryGroupKey instance ToHeader ConfigRuleComplianceSummaryGroupKey instance ToJSON ConfigRuleComplianceSummaryGroupKey where toJSON = toJSONText data ConfigRuleState = Active | Deleting | DeletingResults | Evaluating deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText ConfigRuleState where parser = takeLowerText >>= \case "active" -> pure Active "deleting" -> pure Deleting "deleting_results" -> pure DeletingResults "evaluating" -> pure Evaluating e -> fromTextError $ "Failure parsing ConfigRuleState from value: '" <> e <> "'. Accepted values: active, deleting, deleting_results, evaluating" instance ToText ConfigRuleState where toText = \case Active -> "ACTIVE" Deleting -> "DELETING" DeletingResults -> "DELETING_RESULTS" Evaluating -> "EVALUATING" instance Hashable ConfigRuleState instance NFData ConfigRuleState instance ToByteString ConfigRuleState instance ToQuery ConfigRuleState instance ToHeader ConfigRuleState instance ToJSON ConfigRuleState where toJSON = toJSONText instance FromJSON ConfigRuleState where parseJSON = parseJSONText "ConfigRuleState" data ConfigurationItemStatus = OK | ResourceDeleted | ResourceDeletedNotRecorded | ResourceDiscovered | ResourceNotRecorded deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText ConfigurationItemStatus where parser = takeLowerText >>= \case "ok" -> pure OK "resourcedeleted" -> pure ResourceDeleted "resourcedeletednotrecorded" -> pure ResourceDeletedNotRecorded "resourcediscovered" -> pure ResourceDiscovered "resourcenotrecorded" -> pure ResourceNotRecorded e -> fromTextError $ "Failure parsing ConfigurationItemStatus from value: '" <> e <> "'. Accepted values: ok, resourcedeleted, resourcedeletednotrecorded, resourcediscovered, resourcenotrecorded" instance ToText ConfigurationItemStatus where toText = \case OK -> "OK" ResourceDeleted -> "ResourceDeleted" ResourceDeletedNotRecorded -> "ResourceDeletedNotRecorded" ResourceDiscovered -> "ResourceDiscovered" ResourceNotRecorded -> "ResourceNotRecorded" instance Hashable ConfigurationItemStatus instance NFData ConfigurationItemStatus instance ToByteString ConfigurationItemStatus instance ToQuery ConfigurationItemStatus instance ToHeader ConfigurationItemStatus instance FromJSON ConfigurationItemStatus where parseJSON = parseJSONText "ConfigurationItemStatus" data DeliveryStatus = DSFailure | DSNotApplicable | DSSuccess deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText DeliveryStatus where parser = takeLowerText >>= \case "failure" -> pure DSFailure "not_applicable" -> pure DSNotApplicable "success" -> pure DSSuccess e -> fromTextError $ "Failure parsing DeliveryStatus from value: '" <> e <> "'. Accepted values: failure, not_applicable, success" instance ToText DeliveryStatus where toText = \case DSFailure -> "Failure" DSNotApplicable -> "Not_Applicable" DSSuccess -> "Success" instance Hashable DeliveryStatus instance NFData DeliveryStatus instance ToByteString DeliveryStatus instance ToQuery DeliveryStatus instance ToHeader DeliveryStatus instance FromJSON DeliveryStatus where parseJSON = parseJSONText "DeliveryStatus" data EventSource = AWS_Config deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText EventSource where parser = takeLowerText >>= \case "aws.config" -> pure AWS_Config e -> fromTextError $ "Failure parsing EventSource from value: '" <> e <> "'. Accepted values: aws.config" instance ToText EventSource where toText = \case AWS_Config -> "aws.config" instance Hashable EventSource instance NFData EventSource instance ToByteString EventSource instance ToQuery EventSource instance ToHeader EventSource instance ToJSON EventSource where toJSON = toJSONText instance FromJSON EventSource where parseJSON = parseJSONText "EventSource" data MaximumExecutionFrequency = OneHour | SixHours | ThreeHours | TwelveHours | TwentyFourHours deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText MaximumExecutionFrequency where parser = takeLowerText >>= \case "one_hour" -> pure OneHour "six_hours" -> pure SixHours "three_hours" -> pure ThreeHours "twelve_hours" -> pure TwelveHours "twentyfour_hours" -> pure TwentyFourHours e -> fromTextError $ "Failure parsing MaximumExecutionFrequency from value: '" <> e <> "'. Accepted values: one_hour, six_hours, three_hours, twelve_hours, twentyfour_hours" instance ToText MaximumExecutionFrequency where toText = \case OneHour -> "One_Hour" SixHours -> "Six_Hours" ThreeHours -> "Three_Hours" TwelveHours -> "Twelve_Hours" TwentyFourHours -> "TwentyFour_Hours" instance Hashable MaximumExecutionFrequency instance NFData MaximumExecutionFrequency instance ToByteString MaximumExecutionFrequency instance ToQuery MaximumExecutionFrequency instance ToHeader MaximumExecutionFrequency instance ToJSON MaximumExecutionFrequency where toJSON = toJSONText instance FromJSON MaximumExecutionFrequency where parseJSON = parseJSONText "MaximumExecutionFrequency" data MessageType = ConfigurationItemChangeNotification | ConfigurationSnapshotDeliveryCompleted | OversizedConfigurationItemChangeNotification | ScheduledNotification deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText MessageType where parser = takeLowerText >>= \case "configurationitemchangenotification" -> pure ConfigurationItemChangeNotification "configurationsnapshotdeliverycompleted" -> pure ConfigurationSnapshotDeliveryCompleted "oversizedconfigurationitemchangenotification" -> pure OversizedConfigurationItemChangeNotification "schedulednotification" -> pure ScheduledNotification e -> fromTextError $ "Failure parsing MessageType from value: '" <> e <> "'. Accepted values: configurationitemchangenotification, configurationsnapshotdeliverycompleted, oversizedconfigurationitemchangenotification, schedulednotification" instance ToText MessageType where toText = \case ConfigurationItemChangeNotification -> "ConfigurationItemChangeNotification" ConfigurationSnapshotDeliveryCompleted -> "ConfigurationSnapshotDeliveryCompleted" OversizedConfigurationItemChangeNotification -> "OversizedConfigurationItemChangeNotification" ScheduledNotification -> "ScheduledNotification" instance Hashable MessageType instance NFData MessageType instance ToByteString MessageType instance ToQuery MessageType instance ToHeader MessageType instance ToJSON MessageType where toJSON = toJSONText instance FromJSON MessageType where parseJSON = parseJSONText "MessageType" data Owner = AWS | CustomLambda deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText Owner where parser = takeLowerText >>= \case "aws" -> pure AWS "custom_lambda" -> pure CustomLambda e -> fromTextError $ "Failure parsing Owner from value: '" <> e <> "'. Accepted values: aws, custom_lambda" instance ToText Owner where toText = \case AWS -> "AWS" CustomLambda -> "CUSTOM_LAMBDA" instance Hashable Owner instance NFData Owner instance ToByteString Owner instance ToQuery Owner instance ToHeader Owner instance ToJSON Owner where toJSON = toJSONText instance FromJSON Owner where parseJSON = parseJSONText "Owner" data RecorderStatus = Failure | Pending | Success deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText RecorderStatus where parser = takeLowerText >>= \case "failure" -> pure Failure "pending" -> pure Pending "success" -> pure Success e -> fromTextError $ "Failure parsing RecorderStatus from value: '" <> e <> "'. Accepted values: failure, pending, success" instance ToText RecorderStatus where toText = \case Failure -> "Failure" Pending -> "Pending" Success -> "Success" instance Hashable RecorderStatus instance NFData RecorderStatus instance ToByteString RecorderStatus instance ToQuery RecorderStatus instance ToHeader RecorderStatus instance FromJSON RecorderStatus where parseJSON = parseJSONText "RecorderStatus" data ResourceType = AWSAcmCertificate | AWSAutoScalingAutoScalingGroup | AWSAutoScalingLaunchConfiguration | AWSAutoScalingScalingPolicy | AWSAutoScalingScheduledAction | AWSCloudFormationStack | AWSCloudFrontDistribution | AWSCloudFrontStreamingDistribution | AWSCloudTrailTrail | AWSCloudWatchAlarm | AWSCodeBuildProject | AWSDynamoDBTable | AWSEC2CustomerGateway | AWSEC2EIP | AWSEC2Host | AWSEC2Instance | AWSEC2InternetGateway | AWSEC2NetworkACL | AWSEC2NetworkInterface | AWSEC2RouteTable | AWSEC2SecurityGroup | AWSEC2Subnet | AWSEC2VPC | AWSEC2VPNConnection | AWSEC2VPNGateway | AWSEC2Volume | AWSELASTICLOADBALANCINGV2LoadBalancer | AWSElasticBeanstalkApplication | AWSElasticBeanstalkApplicationVersion | AWSElasticBeanstalkEnvironment | AWSElasticLoadBalancingLoadBalancer | AWSIAMGroup | AWSIAMPolicy | AWSIAMRole | AWSIAMUser | AWSLambdaFunction | AWSRDSDBInstance | AWSRDSDBSecurityGroup | AWSRDSDBSnapshot | AWSRDSDBSubnetGroup | AWSRDSEventSubscription | AWSRedshiftCluster | AWSRedshiftClusterParameterGroup | AWSRedshiftClusterSecurityGroup | AWSRedshiftClusterSnapshot | AWSRedshiftClusterSubnetGroup | AWSRedshiftEventSubscription | AWSS3Bucket | AWSSsmManagedInstanceInventory | AWSWAFRegionalRateBasedRule | AWSWAFRegionalRule | AWSWAFRegionalRuleGroup | AWSWAFRegionalWebACL | AWSWafRateBasedRule | AWSWafRule | AWSWafRuleGroup | AWSWafWebACL deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) instance FromText ResourceType where parser = takeLowerText >>= \case "aws::acm::certificate" -> pure AWSAcmCertificate "aws::autoscaling::autoscalinggroup" -> pure AWSAutoScalingAutoScalingGroup "aws::autoscaling::launchconfiguration" -> pure AWSAutoScalingLaunchConfiguration "aws::autoscaling::scalingpolicy" -> pure AWSAutoScalingScalingPolicy "aws::autoscaling::scheduledaction" -> pure AWSAutoScalingScheduledAction "aws::cloudformation::stack" -> pure AWSCloudFormationStack "aws::cloudfront::distribution" -> pure AWSCloudFrontDistribution "aws::cloudfront::streamingdistribution" -> pure AWSCloudFrontStreamingDistribution "aws::cloudtrail::trail" -> pure AWSCloudTrailTrail "aws::cloudwatch::alarm" -> pure AWSCloudWatchAlarm "aws::codebuild::project" -> pure AWSCodeBuildProject "aws::dynamodb::table" -> pure AWSDynamoDBTable "aws::ec2::customergateway" -> pure AWSEC2CustomerGateway "aws::ec2::eip" -> pure AWSEC2EIP "aws::ec2::host" -> pure AWSEC2Host "aws::ec2::instance" -> pure AWSEC2Instance "aws::ec2::internetgateway" -> pure AWSEC2InternetGateway "aws::ec2::networkacl" -> pure AWSEC2NetworkACL "aws::ec2::networkinterface" -> pure AWSEC2NetworkInterface "aws::ec2::routetable" -> pure AWSEC2RouteTable "aws::ec2::securitygroup" -> pure AWSEC2SecurityGroup "aws::ec2::subnet" -> pure AWSEC2Subnet "aws::ec2::vpc" -> pure AWSEC2VPC "aws::ec2::vpnconnection" -> pure AWSEC2VPNConnection "aws::ec2::vpngateway" -> pure AWSEC2VPNGateway "aws::ec2::volume" -> pure AWSEC2Volume "aws::elasticloadbalancingv2::loadbalancer" -> pure AWSELASTICLOADBALANCINGV2LoadBalancer "aws::elasticbeanstalk::application" -> pure AWSElasticBeanstalkApplication "aws::elasticbeanstalk::applicationversion" -> pure AWSElasticBeanstalkApplicationVersion "aws::elasticbeanstalk::environment" -> pure AWSElasticBeanstalkEnvironment "aws::elasticloadbalancing::loadbalancer" -> pure AWSElasticLoadBalancingLoadBalancer "aws::iam::group" -> pure AWSIAMGroup "aws::iam::policy" -> pure AWSIAMPolicy "aws::iam::role" -> pure AWSIAMRole "aws::iam::user" -> pure AWSIAMUser "aws::lambda::function" -> pure AWSLambdaFunction "aws::rds::dbinstance" -> pure AWSRDSDBInstance "aws::rds::dbsecuritygroup" -> pure AWSRDSDBSecurityGroup "aws::rds::dbsnapshot" -> pure AWSRDSDBSnapshot "aws::rds::dbsubnetgroup" -> pure AWSRDSDBSubnetGroup "aws::rds::eventsubscription" -> pure AWSRDSEventSubscription "aws::redshift::cluster" -> pure AWSRedshiftCluster "aws::redshift::clusterparametergroup" -> pure AWSRedshiftClusterParameterGroup "aws::redshift::clustersecuritygroup" -> pure AWSRedshiftClusterSecurityGroup "aws::redshift::clustersnapshot" -> pure AWSRedshiftClusterSnapshot "aws::redshift::clustersubnetgroup" -> pure AWSRedshiftClusterSubnetGroup "aws::redshift::eventsubscription" -> pure AWSRedshiftEventSubscription "aws::s3::bucket" -> pure AWSS3Bucket "aws::ssm::managedinstanceinventory" -> pure AWSSsmManagedInstanceInventory "aws::wafregional::ratebasedrule" -> pure AWSWAFRegionalRateBasedRule "aws::wafregional::rule" -> pure AWSWAFRegionalRule "aws::wafregional::rulegroup" -> pure AWSWAFRegionalRuleGroup "aws::wafregional::webacl" -> pure AWSWAFRegionalWebACL "aws::waf::ratebasedrule" -> pure AWSWafRateBasedRule "aws::waf::rule" -> pure AWSWafRule "aws::waf::rulegroup" -> pure AWSWafRuleGroup "aws::waf::webacl" -> pure AWSWafWebACL e -> fromTextError $ "Failure parsing ResourceType from value: '" <> e <> "'. Accepted values: aws::acm::certificate, aws::autoscaling::autoscalinggroup, aws::autoscaling::launchconfiguration, aws::autoscaling::scalingpolicy, aws::autoscaling::scheduledaction, aws::cloudformation::stack, aws::cloudfront::distribution, aws::cloudfront::streamingdistribution, aws::cloudtrail::trail, aws::cloudwatch::alarm, aws::codebuild::project, aws::dynamodb::table, aws::ec2::customergateway, aws::ec2::eip, aws::ec2::host, aws::ec2::instance, aws::ec2::internetgateway, aws::ec2::networkacl, aws::ec2::networkinterface, aws::ec2::routetable, aws::ec2::securitygroup, aws::ec2::subnet, aws::ec2::vpc, aws::ec2::vpnconnection, aws::ec2::vpngateway, aws::ec2::volume, aws::elasticloadbalancingv2::loadbalancer, aws::elasticbeanstalk::application, aws::elasticbeanstalk::applicationversion, aws::elasticbeanstalk::environment, aws::elasticloadbalancing::loadbalancer, aws::iam::group, aws::iam::policy, aws::iam::role, aws::iam::user, aws::lambda::function, aws::rds::dbinstance, aws::rds::dbsecuritygroup, aws::rds::dbsnapshot, aws::rds::dbsubnetgroup, aws::rds::eventsubscription, aws::redshift::cluster, aws::redshift::clusterparametergroup, aws::redshift::clustersecuritygroup, aws::redshift::clustersnapshot, aws::redshift::clustersubnetgroup, aws::redshift::eventsubscription, aws::s3::bucket, aws::ssm::managedinstanceinventory, aws::wafregional::ratebasedrule, aws::wafregional::rule, aws::wafregional::rulegroup, aws::wafregional::webacl, aws::waf::ratebasedrule, aws::waf::rule, aws::waf::rulegroup, aws::waf::webacl" instance ToText ResourceType where toText = \case AWSAcmCertificate -> "AWS::ACM::Certificate" AWSAutoScalingAutoScalingGroup -> "AWS::AutoScaling::AutoScalingGroup" AWSAutoScalingLaunchConfiguration -> "AWS::AutoScaling::LaunchConfiguration" AWSAutoScalingScalingPolicy -> "AWS::AutoScaling::ScalingPolicy" AWSAutoScalingScheduledAction -> "AWS::AutoScaling::ScheduledAction" AWSCloudFormationStack -> "AWS::CloudFormation::Stack" AWSCloudFrontDistribution -> "AWS::CloudFront::Distribution" AWSCloudFrontStreamingDistribution -> "AWS::CloudFront::StreamingDistribution" AWSCloudTrailTrail -> "AWS::CloudTrail::Trail" AWSCloudWatchAlarm -> "AWS::CloudWatch::Alarm" AWSCodeBuildProject -> "AWS::CodeBuild::Project" AWSDynamoDBTable -> "AWS::DynamoDB::Table" AWSEC2CustomerGateway -> "AWS::EC2::CustomerGateway" AWSEC2EIP -> "AWS::EC2::EIP" AWSEC2Host -> "AWS::EC2::Host" AWSEC2Instance -> "AWS::EC2::Instance" AWSEC2InternetGateway -> "AWS::EC2::InternetGateway" AWSEC2NetworkACL -> "AWS::EC2::NetworkAcl" AWSEC2NetworkInterface -> "AWS::EC2::NetworkInterface" AWSEC2RouteTable -> "AWS::EC2::RouteTable" AWSEC2SecurityGroup -> "AWS::EC2::SecurityGroup" AWSEC2Subnet -> "AWS::EC2::Subnet" AWSEC2VPC -> "AWS::EC2::VPC" AWSEC2VPNConnection -> "AWS::EC2::VPNConnection" AWSEC2VPNGateway -> "AWS::EC2::VPNGateway" AWSEC2Volume -> "AWS::EC2::Volume" AWSELASTICLOADBALANCINGV2LoadBalancer -> "AWS::ElasticLoadBalancingV2::LoadBalancer" AWSElasticBeanstalkApplication -> "AWS::ElasticBeanstalk::Application" AWSElasticBeanstalkApplicationVersion -> "AWS::ElasticBeanstalk::ApplicationVersion" AWSElasticBeanstalkEnvironment -> "AWS::ElasticBeanstalk::Environment" AWSElasticLoadBalancingLoadBalancer -> "AWS::ElasticLoadBalancing::LoadBalancer" AWSIAMGroup -> "AWS::IAM::Group" AWSIAMPolicy -> "AWS::IAM::Policy" AWSIAMRole -> "AWS::IAM::Role" AWSIAMUser -> "AWS::IAM::User" AWSLambdaFunction -> "AWS::Lambda::Function" AWSRDSDBInstance -> "AWS::RDS::DBInstance" AWSRDSDBSecurityGroup -> "AWS::RDS::DBSecurityGroup" AWSRDSDBSnapshot -> "AWS::RDS::DBSnapshot" AWSRDSDBSubnetGroup -> "AWS::RDS::DBSubnetGroup" AWSRDSEventSubscription -> "AWS::RDS::EventSubscription" AWSRedshiftCluster -> "AWS::Redshift::Cluster" AWSRedshiftClusterParameterGroup -> "AWS::Redshift::ClusterParameterGroup" AWSRedshiftClusterSecurityGroup -> "AWS::Redshift::ClusterSecurityGroup" AWSRedshiftClusterSnapshot -> "AWS::Redshift::ClusterSnapshot" AWSRedshiftClusterSubnetGroup -> "AWS::Redshift::ClusterSubnetGroup" AWSRedshiftEventSubscription -> "AWS::Redshift::EventSubscription" AWSS3Bucket -> "AWS::S3::Bucket" AWSSsmManagedInstanceInventory -> "AWS::SSM::ManagedInstanceInventory" AWSWAFRegionalRateBasedRule -> "AWS::WAFRegional::RateBasedRule" AWSWAFRegionalRule -> "AWS::WAFRegional::Rule" AWSWAFRegionalRuleGroup -> "AWS::WAFRegional::RuleGroup" AWSWAFRegionalWebACL -> "AWS::WAFRegional::WebACL" AWSWafRateBasedRule -> "AWS::WAF::RateBasedRule" AWSWafRule -> "AWS::WAF::Rule" AWSWafRuleGroup -> "AWS::WAF::RuleGroup" AWSWafWebACL -> "AWS::WAF::WebACL" instance Hashable ResourceType instance NFData ResourceType instance ToByteString ResourceType instance ToQuery ResourceType instance ToHeader ResourceType instance ToJSON ResourceType where toJSON = toJSONText instance FromJSON ResourceType where parseJSON = parseJSONText "ResourceType"