{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

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

-- |
-- Module      : Amazonka.SecurityHub.Types.ResourceDetails
-- 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.SecurityHub.Types.ResourceDetails where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import Amazonka.SecurityHub.Types.AwsApiGatewayRestApiDetails
import Amazonka.SecurityHub.Types.AwsApiGatewayStageDetails
import Amazonka.SecurityHub.Types.AwsApiGatewayV2ApiDetails
import Amazonka.SecurityHub.Types.AwsApiGatewayV2StageDetails
import Amazonka.SecurityHub.Types.AwsAutoScalingAutoScalingGroupDetails
import Amazonka.SecurityHub.Types.AwsAutoScalingLaunchConfigurationDetails
import Amazonka.SecurityHub.Types.AwsCertificateManagerCertificateDetails
import Amazonka.SecurityHub.Types.AwsCloudFrontDistributionDetails
import Amazonka.SecurityHub.Types.AwsCloudTrailTrailDetails
import Amazonka.SecurityHub.Types.AwsCodeBuildProjectDetails
import Amazonka.SecurityHub.Types.AwsDynamoDbTableDetails
import Amazonka.SecurityHub.Types.AwsEc2EipDetails
import Amazonka.SecurityHub.Types.AwsEc2InstanceDetails
import Amazonka.SecurityHub.Types.AwsEc2NetworkAclDetails
import Amazonka.SecurityHub.Types.AwsEc2NetworkInterfaceDetails
import Amazonka.SecurityHub.Types.AwsEc2SecurityGroupDetails
import Amazonka.SecurityHub.Types.AwsEc2SubnetDetails
import Amazonka.SecurityHub.Types.AwsEc2VolumeDetails
import Amazonka.SecurityHub.Types.AwsEc2VpcDetails
import Amazonka.SecurityHub.Types.AwsEc2VpcEndpointServiceDetails
import Amazonka.SecurityHub.Types.AwsEc2VpnConnectionDetails
import Amazonka.SecurityHub.Types.AwsEcrContainerImageDetails
import Amazonka.SecurityHub.Types.AwsEcrRepositoryDetails
import Amazonka.SecurityHub.Types.AwsEcsClusterDetails
import Amazonka.SecurityHub.Types.AwsEcsServiceDetails
import Amazonka.SecurityHub.Types.AwsEcsTaskDefinitionDetails
import Amazonka.SecurityHub.Types.AwsEksClusterDetails
import Amazonka.SecurityHub.Types.AwsElasticBeanstalkEnvironmentDetails
import Amazonka.SecurityHub.Types.AwsElasticsearchDomainDetails
import Amazonka.SecurityHub.Types.AwsElbLoadBalancerDetails
import Amazonka.SecurityHub.Types.AwsElbv2LoadBalancerDetails
import Amazonka.SecurityHub.Types.AwsIamAccessKeyDetails
import Amazonka.SecurityHub.Types.AwsIamGroupDetails
import Amazonka.SecurityHub.Types.AwsIamPolicyDetails
import Amazonka.SecurityHub.Types.AwsIamRoleDetails
import Amazonka.SecurityHub.Types.AwsIamUserDetails
import Amazonka.SecurityHub.Types.AwsKmsKeyDetails
import Amazonka.SecurityHub.Types.AwsLambdaFunctionDetails
import Amazonka.SecurityHub.Types.AwsLambdaLayerVersionDetails
import Amazonka.SecurityHub.Types.AwsOpenSearchServiceDomainDetails
import Amazonka.SecurityHub.Types.AwsRdsDbClusterDetails
import Amazonka.SecurityHub.Types.AwsRdsDbClusterSnapshotDetails
import Amazonka.SecurityHub.Types.AwsRdsDbInstanceDetails
import Amazonka.SecurityHub.Types.AwsRdsDbSnapshotDetails
import Amazonka.SecurityHub.Types.AwsRdsEventSubscriptionDetails
import Amazonka.SecurityHub.Types.AwsRedshiftClusterDetails
import Amazonka.SecurityHub.Types.AwsS3AccountPublicAccessBlockDetails
import Amazonka.SecurityHub.Types.AwsS3BucketDetails
import Amazonka.SecurityHub.Types.AwsS3ObjectDetails
import Amazonka.SecurityHub.Types.AwsSecretsManagerSecretDetails
import Amazonka.SecurityHub.Types.AwsSnsTopicDetails
import Amazonka.SecurityHub.Types.AwsSqsQueueDetails
import Amazonka.SecurityHub.Types.AwsSsmPatchComplianceDetails
import Amazonka.SecurityHub.Types.AwsWafRateBasedRuleDetails
import Amazonka.SecurityHub.Types.AwsWafRegionalRateBasedRuleDetails
import Amazonka.SecurityHub.Types.AwsWafWebAclDetails
import Amazonka.SecurityHub.Types.AwsXrayEncryptionConfigDetails
import Amazonka.SecurityHub.Types.ContainerDetails

-- | Additional details about a resource related to a finding.
--
-- To provide the details, use the object that corresponds to the resource
-- type. For example, if the resource type is @AwsEc2Instance@, then you
-- use the @AwsEc2Instance@ object to provide the details.
--
-- If the type-specific object does not contain all of the fields you want
-- to populate, then you use the @Other@ object to populate those
-- additional fields.
--
-- You also use the @Other@ object to populate the details when the
-- selected type does not have a corresponding object.
--
-- /See:/ 'newResourceDetails' smart constructor.
data ResourceDetails = ResourceDetails'
  { -- | Provides details about a CloudTrail trail.
    ResourceDetails -> Maybe AwsCloudTrailTrailDetails
awsCloudTrailTrail :: Prelude.Maybe AwsCloudTrailTrailDetails,
    -- | Details about an Amazon RDS database cluster.
    ResourceDetails -> Maybe AwsRdsDbClusterDetails
awsRdsDbCluster :: Prelude.Maybe AwsRdsDbClusterDetails,
    -- | Details about a resource that are not available in a type-specific
    -- details object. Use the @Other@ object in the following cases.
    --
    -- -   The type-specific object does not contain all of the fields that you
    --     want to populate. In this case, first use the type-specific object
    --     to populate those fields. Use the @Other@ object to populate the
    --     fields that are missing from the type-specific object.
    --
    -- -   The resource type does not have a corresponding object. This
    --     includes resources for which the type is @Other@.
    ResourceDetails -> Maybe (HashMap Text Text)
other :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | Details about an IAM role.
    ResourceDetails -> Maybe AwsIamRoleDetails
awsIamRole :: Prelude.Maybe AwsIamRoleDetails,
    -- | Contains details about a Classic Load Balancer.
    ResourceDetails -> Maybe AwsElbLoadBalancerDetails
awsElbLoadBalancer :: Prelude.Maybe AwsElbLoadBalancerDetails,
    -- | Details about an EC2 VPN connection.
    ResourceDetails -> Maybe AwsEc2VpnConnectionDetails
awsEc2VpnConnection :: Prelude.Maybe AwsEc2VpnConnectionDetails,
    -- | Details about a CloudFront distribution.
    ResourceDetails -> Maybe AwsCloudFrontDistributionDetails
awsCloudFrontDistribution :: Prelude.Maybe AwsCloudFrontDistributionDetails,
    -- | Details about an KMS key.
    ResourceDetails -> Maybe AwsKmsKeyDetails
awsKmsKey :: Prelude.Maybe AwsKmsKeyDetails,
    -- | Details about an Amazon EKS cluster.
    ResourceDetails -> Maybe AwsEksClusterDetails
awsEksCluster :: Prelude.Maybe AwsEksClusterDetails,
    -- | Provides details about a launch configuration.
    ResourceDetails -> Maybe AwsAutoScalingLaunchConfigurationDetails
awsAutoScalingLaunchConfiguration :: Prelude.Maybe AwsAutoScalingLaunchConfigurationDetails,
    -- | Details about an Amazon OpenSearch Service domain.
    ResourceDetails -> Maybe AwsOpenSearchServiceDomainDetails
awsOpenSearchServiceDomain :: Prelude.Maybe AwsOpenSearchServiceDomainDetails,
    -- | Details about an Amazon RDS database snapshot.
    ResourceDetails -> Maybe AwsRdsDbSnapshotDetails
awsRdsDbSnapshot :: Prelude.Maybe AwsRdsDbSnapshotDetails,
    -- | Details about a rate-based rule for Regional resources.
    ResourceDetails -> Maybe AwsWafRegionalRateBasedRuleDetails
awsWafRegionalRateBasedRule :: Prelude.Maybe AwsWafRegionalRateBasedRuleDetails,
    -- | Provides information about a REST API in version 1 of Amazon API
    -- Gateway.
    ResourceDetails -> Maybe AwsApiGatewayRestApiDetails
awsApiGatewayRestApi :: Prelude.Maybe AwsApiGatewayRestApiDetails,
    -- | Details about an SQS queue.
    ResourceDetails -> Maybe AwsSqsQueueDetails
awsSqsQueue :: Prelude.Maybe AwsSqsQueueDetails,
    -- | Details about a Secrets Manager secret.
    ResourceDetails -> Maybe AwsSecretsManagerSecretDetails
awsSecretsManagerSecret :: Prelude.Maybe AwsSecretsManagerSecretDetails,
    -- | Details about a DynamoDB table.
    ResourceDetails -> Maybe AwsDynamoDbTableDetails
awsDynamoDbTable :: Prelude.Maybe AwsDynamoDbTableDetails,
    -- | Details about the Amazon S3 Public Access Block configuration for an
    -- account.
    ResourceDetails -> Maybe AwsS3AccountPublicAccessBlockDetails
awsS3AccountPublicAccessBlock :: Prelude.Maybe AwsS3AccountPublicAccessBlockDetails,
    -- | Details about an Amazon RDS database cluster snapshot.
    ResourceDetails -> Maybe AwsRdsDbClusterSnapshotDetails
awsRdsDbClusterSnapshot :: Prelude.Maybe AwsRdsDbClusterSnapshotDetails,
    -- | Details for an EC2 security group.
    ResourceDetails -> Maybe AwsEc2SecurityGroupDetails
awsEc2SecurityGroup :: Prelude.Maybe AwsEc2SecurityGroupDetails,
    -- | Details about an EC2 instance related to a finding.
    ResourceDetails -> Maybe AwsEc2InstanceDetails
awsEc2Instance :: Prelude.Maybe AwsEc2InstanceDetails,
    -- | Details about an IAM permissions policy.
    ResourceDetails -> Maybe AwsIamPolicyDetails
awsIamPolicy :: Prelude.Maybe AwsIamPolicyDetails,
    -- | Details about an S3 object related to a finding.
    ResourceDetails -> Maybe AwsS3ObjectDetails
awsS3Object :: Prelude.Maybe AwsS3ObjectDetails,
    -- | Details about a task definition. A task definition describes the
    -- container and volume definitions of an Amazon Elastic Container Service
    -- task.
    ResourceDetails -> Maybe AwsEcsTaskDefinitionDetails
awsEcsTaskDefinition :: Prelude.Maybe AwsEcsTaskDefinitionDetails,
    -- | Details for a Lambda layer version.
    ResourceDetails -> Maybe AwsLambdaLayerVersionDetails
awsLambdaLayerVersion :: Prelude.Maybe AwsLambdaLayerVersionDetails,
    -- | Details about an S3 bucket related to a finding.
    ResourceDetails -> Maybe AwsS3BucketDetails
awsS3Bucket :: Prelude.Maybe AwsS3BucketDetails,
    -- | Details about an IAM access key related to a finding.
    ResourceDetails -> Maybe AwsIamAccessKeyDetails
awsIamAccessKey :: Prelude.Maybe AwsIamAccessKeyDetails,
    -- | Details for an CodeBuild project.
    ResourceDetails -> Maybe AwsCodeBuildProjectDetails
awsCodeBuildProject :: Prelude.Maybe AwsCodeBuildProjectDetails,
    -- | Provides information about a version 1 Amazon API Gateway stage.
    ResourceDetails -> Maybe AwsApiGatewayStageDetails
awsApiGatewayStage :: Prelude.Maybe AwsApiGatewayStageDetails,
    -- | Details about an EC2 network access control list (ACL).
    ResourceDetails -> Maybe AwsEc2NetworkAclDetails
awsEc2NetworkAcl :: Prelude.Maybe AwsEc2NetworkAclDetails,
    -- | Provides information about a version 2 API in Amazon API Gateway.
    ResourceDetails -> Maybe AwsApiGatewayV2ApiDetails
awsApiGatewayV2Api :: Prelude.Maybe AwsApiGatewayV2ApiDetails,
    -- | Details about an Elastic Beanstalk environment.
    ResourceDetails -> Maybe AwsElasticBeanstalkEnvironmentDetails
awsElasticBeanstalkEnvironment :: Prelude.Maybe AwsElasticBeanstalkEnvironmentDetails,
    -- | Details for an EC2 VPC.
    ResourceDetails -> Maybe AwsEc2VpcDetails
awsEc2Vpc :: Prelude.Maybe AwsEc2VpcDetails,
    -- | Contains details about an Amazon Redshift cluster.
    ResourceDetails -> Maybe AwsRedshiftClusterDetails
awsRedshiftCluster :: Prelude.Maybe AwsRedshiftClusterDetails,
    -- | Details about an Amazon RDS database instance.
    ResourceDetails -> Maybe AwsRdsDbInstanceDetails
awsRdsDbInstance :: Prelude.Maybe AwsRdsDbInstanceDetails,
    -- | Details about an RDS event notification subscription.
    ResourceDetails -> Maybe AwsRdsEventSubscriptionDetails
awsRdsEventSubscription :: Prelude.Maybe AwsRdsEventSubscriptionDetails,
    -- | Details about a container resource related to a finding.
    ResourceDetails -> Maybe ContainerDetails
container :: Prelude.Maybe ContainerDetails,
    -- | Contains details about an IAM group.
    ResourceDetails -> Maybe AwsIamGroupDetails
awsIamGroup :: Prelude.Maybe AwsIamGroupDetails,
    -- | Information about the encryption configuration for X-Ray.
    ResourceDetails -> Maybe AwsXrayEncryptionConfigDetails
awsXrayEncryptionConfig :: Prelude.Maybe AwsXrayEncryptionConfigDetails,
    -- | Details about a subnet in Amazon EC2.
    ResourceDetails -> Maybe AwsEc2SubnetDetails
awsEc2Subnet :: Prelude.Maybe AwsEc2SubnetDetails,
    -- | Details about an ECS cluster.
    ResourceDetails -> Maybe AwsEcsClusterDetails
awsEcsCluster :: Prelude.Maybe AwsEcsClusterDetails,
    -- | Details about the service configuration for a VPC endpoint service.
    ResourceDetails -> Maybe AwsEc2VpcEndpointServiceDetails
awsEc2VpcEndpointService :: Prelude.Maybe AwsEc2VpcEndpointServiceDetails,
    -- | Details for an autoscaling group.
    ResourceDetails -> Maybe AwsAutoScalingAutoScalingGroupDetails
awsAutoScalingAutoScalingGroup :: Prelude.Maybe AwsAutoScalingAutoScalingGroupDetails,
    -- | Details about an SNS topic.
    ResourceDetails -> Maybe AwsSnsTopicDetails
awsSnsTopic :: Prelude.Maybe AwsSnsTopicDetails,
    -- | Details for an EC2 network interface.
    ResourceDetails -> Maybe AwsEc2NetworkInterfaceDetails
awsEc2NetworkInterface :: Prelude.Maybe AwsEc2NetworkInterfaceDetails,
    -- | Details about a service within an ECS cluster.
    ResourceDetails -> Maybe AwsEcsServiceDetails
awsEcsService :: Prelude.Maybe AwsEcsServiceDetails,
    -- | Details about an Elastic IP address.
    ResourceDetails -> Maybe AwsEc2EipDetails
awsEc2Eip :: Prelude.Maybe AwsEc2EipDetails,
    -- | Provides information about a version 2 stage for Amazon API Gateway.
    ResourceDetails -> Maybe AwsApiGatewayV2StageDetails
awsApiGatewayV2Stage :: Prelude.Maybe AwsApiGatewayV2StageDetails,
    -- | Details about a Lambda function.
    ResourceDetails -> Maybe AwsLambdaFunctionDetails
awsLambdaFunction :: Prelude.Maybe AwsLambdaFunctionDetails,
    -- | Details about a load balancer.
    ResourceDetails -> Maybe AwsElbv2LoadBalancerDetails
awsElbv2LoadBalancer :: Prelude.Maybe AwsElbv2LoadBalancerDetails,
    -- | Details about a rate-based rule for global resources.
    ResourceDetails -> Maybe AwsWafRateBasedRuleDetails
awsWafRateBasedRule :: Prelude.Maybe AwsWafRateBasedRuleDetails,
    -- | Information about an Amazon Elastic Container Registry repository.
    ResourceDetails -> Maybe AwsEcrRepositoryDetails
awsEcrRepository :: Prelude.Maybe AwsEcrRepositoryDetails,
    -- | Details for an WAF WebACL.
    ResourceDetails -> Maybe AwsWafWebAclDetails
awsWafWebAcl :: Prelude.Maybe AwsWafWebAclDetails,
    -- | Provides information about the state of a patch on an instance based on
    -- the patch baseline that was used to patch the instance.
    ResourceDetails -> Maybe AwsSsmPatchComplianceDetails
awsSsmPatchCompliance :: Prelude.Maybe AwsSsmPatchComplianceDetails,
    -- | Details for an Elasticsearch domain.
    ResourceDetails -> Maybe AwsElasticsearchDomainDetails
awsElasticsearchDomain :: Prelude.Maybe AwsElasticsearchDomainDetails,
    -- | Provides details about an Certificate Manager certificate.
    ResourceDetails -> Maybe AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificate :: Prelude.Maybe AwsCertificateManagerCertificateDetails,
    -- | Information about an Amazon ECR image.
    ResourceDetails -> Maybe AwsEcrContainerImageDetails
awsEcrContainerImage :: Prelude.Maybe AwsEcrContainerImageDetails,
    -- | Details about an IAM user.
    ResourceDetails -> Maybe AwsIamUserDetails
awsIamUser :: Prelude.Maybe AwsIamUserDetails,
    -- | Details for an EC2 volume.
    ResourceDetails -> Maybe AwsEc2VolumeDetails
awsEc2Volume :: Prelude.Maybe AwsEc2VolumeDetails
  }
  deriving (ResourceDetails -> ResourceDetails -> Bool
(ResourceDetails -> ResourceDetails -> Bool)
-> (ResourceDetails -> ResourceDetails -> Bool)
-> Eq ResourceDetails
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ResourceDetails -> ResourceDetails -> Bool
$c/= :: ResourceDetails -> ResourceDetails -> Bool
== :: ResourceDetails -> ResourceDetails -> Bool
$c== :: ResourceDetails -> ResourceDetails -> Bool
Prelude.Eq, ReadPrec [ResourceDetails]
ReadPrec ResourceDetails
Int -> ReadS ResourceDetails
ReadS [ResourceDetails]
(Int -> ReadS ResourceDetails)
-> ReadS [ResourceDetails]
-> ReadPrec ResourceDetails
-> ReadPrec [ResourceDetails]
-> Read ResourceDetails
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ResourceDetails]
$creadListPrec :: ReadPrec [ResourceDetails]
readPrec :: ReadPrec ResourceDetails
$creadPrec :: ReadPrec ResourceDetails
readList :: ReadS [ResourceDetails]
$creadList :: ReadS [ResourceDetails]
readsPrec :: Int -> ReadS ResourceDetails
$creadsPrec :: Int -> ReadS ResourceDetails
Prelude.Read, Int -> ResourceDetails -> ShowS
[ResourceDetails] -> ShowS
ResourceDetails -> String
(Int -> ResourceDetails -> ShowS)
-> (ResourceDetails -> String)
-> ([ResourceDetails] -> ShowS)
-> Show ResourceDetails
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ResourceDetails] -> ShowS
$cshowList :: [ResourceDetails] -> ShowS
show :: ResourceDetails -> String
$cshow :: ResourceDetails -> String
showsPrec :: Int -> ResourceDetails -> ShowS
$cshowsPrec :: Int -> ResourceDetails -> ShowS
Prelude.Show, (forall x. ResourceDetails -> Rep ResourceDetails x)
-> (forall x. Rep ResourceDetails x -> ResourceDetails)
-> Generic ResourceDetails
forall x. Rep ResourceDetails x -> ResourceDetails
forall x. ResourceDetails -> Rep ResourceDetails x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ResourceDetails x -> ResourceDetails
$cfrom :: forall x. ResourceDetails -> Rep ResourceDetails x
Prelude.Generic)

-- |
-- Create a value of 'ResourceDetails' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'awsCloudTrailTrail', 'resourceDetails_awsCloudTrailTrail' - Provides details about a CloudTrail trail.
--
-- 'awsRdsDbCluster', 'resourceDetails_awsRdsDbCluster' - Details about an Amazon RDS database cluster.
--
-- 'other', 'resourceDetails_other' - Details about a resource that are not available in a type-specific
-- details object. Use the @Other@ object in the following cases.
--
-- -   The type-specific object does not contain all of the fields that you
--     want to populate. In this case, first use the type-specific object
--     to populate those fields. Use the @Other@ object to populate the
--     fields that are missing from the type-specific object.
--
-- -   The resource type does not have a corresponding object. This
--     includes resources for which the type is @Other@.
--
-- 'awsIamRole', 'resourceDetails_awsIamRole' - Details about an IAM role.
--
-- 'awsElbLoadBalancer', 'resourceDetails_awsElbLoadBalancer' - Contains details about a Classic Load Balancer.
--
-- 'awsEc2VpnConnection', 'resourceDetails_awsEc2VpnConnection' - Details about an EC2 VPN connection.
--
-- 'awsCloudFrontDistribution', 'resourceDetails_awsCloudFrontDistribution' - Details about a CloudFront distribution.
--
-- 'awsKmsKey', 'resourceDetails_awsKmsKey' - Details about an KMS key.
--
-- 'awsEksCluster', 'resourceDetails_awsEksCluster' - Details about an Amazon EKS cluster.
--
-- 'awsAutoScalingLaunchConfiguration', 'resourceDetails_awsAutoScalingLaunchConfiguration' - Provides details about a launch configuration.
--
-- 'awsOpenSearchServiceDomain', 'resourceDetails_awsOpenSearchServiceDomain' - Details about an Amazon OpenSearch Service domain.
--
-- 'awsRdsDbSnapshot', 'resourceDetails_awsRdsDbSnapshot' - Details about an Amazon RDS database snapshot.
--
-- 'awsWafRegionalRateBasedRule', 'resourceDetails_awsWafRegionalRateBasedRule' - Details about a rate-based rule for Regional resources.
--
-- 'awsApiGatewayRestApi', 'resourceDetails_awsApiGatewayRestApi' - Provides information about a REST API in version 1 of Amazon API
-- Gateway.
--
-- 'awsSqsQueue', 'resourceDetails_awsSqsQueue' - Details about an SQS queue.
--
-- 'awsSecretsManagerSecret', 'resourceDetails_awsSecretsManagerSecret' - Details about a Secrets Manager secret.
--
-- 'awsDynamoDbTable', 'resourceDetails_awsDynamoDbTable' - Details about a DynamoDB table.
--
-- 'awsS3AccountPublicAccessBlock', 'resourceDetails_awsS3AccountPublicAccessBlock' - Details about the Amazon S3 Public Access Block configuration for an
-- account.
--
-- 'awsRdsDbClusterSnapshot', 'resourceDetails_awsRdsDbClusterSnapshot' - Details about an Amazon RDS database cluster snapshot.
--
-- 'awsEc2SecurityGroup', 'resourceDetails_awsEc2SecurityGroup' - Details for an EC2 security group.
--
-- 'awsEc2Instance', 'resourceDetails_awsEc2Instance' - Details about an EC2 instance related to a finding.
--
-- 'awsIamPolicy', 'resourceDetails_awsIamPolicy' - Details about an IAM permissions policy.
--
-- 'awsS3Object', 'resourceDetails_awsS3Object' - Details about an S3 object related to a finding.
--
-- 'awsEcsTaskDefinition', 'resourceDetails_awsEcsTaskDefinition' - Details about a task definition. A task definition describes the
-- container and volume definitions of an Amazon Elastic Container Service
-- task.
--
-- 'awsLambdaLayerVersion', 'resourceDetails_awsLambdaLayerVersion' - Details for a Lambda layer version.
--
-- 'awsS3Bucket', 'resourceDetails_awsS3Bucket' - Details about an S3 bucket related to a finding.
--
-- 'awsIamAccessKey', 'resourceDetails_awsIamAccessKey' - Details about an IAM access key related to a finding.
--
-- 'awsCodeBuildProject', 'resourceDetails_awsCodeBuildProject' - Details for an CodeBuild project.
--
-- 'awsApiGatewayStage', 'resourceDetails_awsApiGatewayStage' - Provides information about a version 1 Amazon API Gateway stage.
--
-- 'awsEc2NetworkAcl', 'resourceDetails_awsEc2NetworkAcl' - Details about an EC2 network access control list (ACL).
--
-- 'awsApiGatewayV2Api', 'resourceDetails_awsApiGatewayV2Api' - Provides information about a version 2 API in Amazon API Gateway.
--
-- 'awsElasticBeanstalkEnvironment', 'resourceDetails_awsElasticBeanstalkEnvironment' - Details about an Elastic Beanstalk environment.
--
-- 'awsEc2Vpc', 'resourceDetails_awsEc2Vpc' - Details for an EC2 VPC.
--
-- 'awsRedshiftCluster', 'resourceDetails_awsRedshiftCluster' - Contains details about an Amazon Redshift cluster.
--
-- 'awsRdsDbInstance', 'resourceDetails_awsRdsDbInstance' - Details about an Amazon RDS database instance.
--
-- 'awsRdsEventSubscription', 'resourceDetails_awsRdsEventSubscription' - Details about an RDS event notification subscription.
--
-- 'container', 'resourceDetails_container' - Details about a container resource related to a finding.
--
-- 'awsIamGroup', 'resourceDetails_awsIamGroup' - Contains details about an IAM group.
--
-- 'awsXrayEncryptionConfig', 'resourceDetails_awsXrayEncryptionConfig' - Information about the encryption configuration for X-Ray.
--
-- 'awsEc2Subnet', 'resourceDetails_awsEc2Subnet' - Details about a subnet in Amazon EC2.
--
-- 'awsEcsCluster', 'resourceDetails_awsEcsCluster' - Details about an ECS cluster.
--
-- 'awsEc2VpcEndpointService', 'resourceDetails_awsEc2VpcEndpointService' - Details about the service configuration for a VPC endpoint service.
--
-- 'awsAutoScalingAutoScalingGroup', 'resourceDetails_awsAutoScalingAutoScalingGroup' - Details for an autoscaling group.
--
-- 'awsSnsTopic', 'resourceDetails_awsSnsTopic' - Details about an SNS topic.
--
-- 'awsEc2NetworkInterface', 'resourceDetails_awsEc2NetworkInterface' - Details for an EC2 network interface.
--
-- 'awsEcsService', 'resourceDetails_awsEcsService' - Details about a service within an ECS cluster.
--
-- 'awsEc2Eip', 'resourceDetails_awsEc2Eip' - Details about an Elastic IP address.
--
-- 'awsApiGatewayV2Stage', 'resourceDetails_awsApiGatewayV2Stage' - Provides information about a version 2 stage for Amazon API Gateway.
--
-- 'awsLambdaFunction', 'resourceDetails_awsLambdaFunction' - Details about a Lambda function.
--
-- 'awsElbv2LoadBalancer', 'resourceDetails_awsElbv2LoadBalancer' - Details about a load balancer.
--
-- 'awsWafRateBasedRule', 'resourceDetails_awsWafRateBasedRule' - Details about a rate-based rule for global resources.
--
-- 'awsEcrRepository', 'resourceDetails_awsEcrRepository' - Information about an Amazon Elastic Container Registry repository.
--
-- 'awsWafWebAcl', 'resourceDetails_awsWafWebAcl' - Details for an WAF WebACL.
--
-- 'awsSsmPatchCompliance', 'resourceDetails_awsSsmPatchCompliance' - Provides information about the state of a patch on an instance based on
-- the patch baseline that was used to patch the instance.
--
-- 'awsElasticsearchDomain', 'resourceDetails_awsElasticsearchDomain' - Details for an Elasticsearch domain.
--
-- 'awsCertificateManagerCertificate', 'resourceDetails_awsCertificateManagerCertificate' - Provides details about an Certificate Manager certificate.
--
-- 'awsEcrContainerImage', 'resourceDetails_awsEcrContainerImage' - Information about an Amazon ECR image.
--
-- 'awsIamUser', 'resourceDetails_awsIamUser' - Details about an IAM user.
--
-- 'awsEc2Volume', 'resourceDetails_awsEc2Volume' - Details for an EC2 volume.
newResourceDetails ::
  ResourceDetails
newResourceDetails :: ResourceDetails
newResourceDetails =
  ResourceDetails' :: Maybe AwsCloudTrailTrailDetails
-> Maybe AwsRdsDbClusterDetails
-> Maybe (HashMap Text Text)
-> Maybe AwsIamRoleDetails
-> Maybe AwsElbLoadBalancerDetails
-> Maybe AwsEc2VpnConnectionDetails
-> Maybe AwsCloudFrontDistributionDetails
-> Maybe AwsKmsKeyDetails
-> Maybe AwsEksClusterDetails
-> Maybe AwsAutoScalingLaunchConfigurationDetails
-> Maybe AwsOpenSearchServiceDomainDetails
-> Maybe AwsRdsDbSnapshotDetails
-> Maybe AwsWafRegionalRateBasedRuleDetails
-> Maybe AwsApiGatewayRestApiDetails
-> Maybe AwsSqsQueueDetails
-> Maybe AwsSecretsManagerSecretDetails
-> Maybe AwsDynamoDbTableDetails
-> Maybe AwsS3AccountPublicAccessBlockDetails
-> Maybe AwsRdsDbClusterSnapshotDetails
-> Maybe AwsEc2SecurityGroupDetails
-> Maybe AwsEc2InstanceDetails
-> Maybe AwsIamPolicyDetails
-> Maybe AwsS3ObjectDetails
-> Maybe AwsEcsTaskDefinitionDetails
-> Maybe AwsLambdaLayerVersionDetails
-> Maybe AwsS3BucketDetails
-> Maybe AwsIamAccessKeyDetails
-> Maybe AwsCodeBuildProjectDetails
-> Maybe AwsApiGatewayStageDetails
-> Maybe AwsEc2NetworkAclDetails
-> Maybe AwsApiGatewayV2ApiDetails
-> Maybe AwsElasticBeanstalkEnvironmentDetails
-> Maybe AwsEc2VpcDetails
-> Maybe AwsRedshiftClusterDetails
-> Maybe AwsRdsDbInstanceDetails
-> Maybe AwsRdsEventSubscriptionDetails
-> Maybe ContainerDetails
-> Maybe AwsIamGroupDetails
-> Maybe AwsXrayEncryptionConfigDetails
-> Maybe AwsEc2SubnetDetails
-> Maybe AwsEcsClusterDetails
-> Maybe AwsEc2VpcEndpointServiceDetails
-> Maybe AwsAutoScalingAutoScalingGroupDetails
-> Maybe AwsSnsTopicDetails
-> Maybe AwsEc2NetworkInterfaceDetails
-> Maybe AwsEcsServiceDetails
-> Maybe AwsEc2EipDetails
-> Maybe AwsApiGatewayV2StageDetails
-> Maybe AwsLambdaFunctionDetails
-> Maybe AwsElbv2LoadBalancerDetails
-> Maybe AwsWafRateBasedRuleDetails
-> Maybe AwsEcrRepositoryDetails
-> Maybe AwsWafWebAclDetails
-> Maybe AwsSsmPatchComplianceDetails
-> Maybe AwsElasticsearchDomainDetails
-> Maybe AwsCertificateManagerCertificateDetails
-> Maybe AwsEcrContainerImageDetails
-> Maybe AwsIamUserDetails
-> Maybe AwsEc2VolumeDetails
-> ResourceDetails
ResourceDetails'
    { $sel:awsCloudTrailTrail:ResourceDetails' :: Maybe AwsCloudTrailTrailDetails
awsCloudTrailTrail =
        Maybe AwsCloudTrailTrailDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsRdsDbCluster:ResourceDetails' :: Maybe AwsRdsDbClusterDetails
awsRdsDbCluster = Maybe AwsRdsDbClusterDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:other:ResourceDetails' :: Maybe (HashMap Text Text)
other = Maybe (HashMap Text Text)
forall a. Maybe a
Prelude.Nothing,
      $sel:awsIamRole:ResourceDetails' :: Maybe AwsIamRoleDetails
awsIamRole = Maybe AwsIamRoleDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsElbLoadBalancer:ResourceDetails' :: Maybe AwsElbLoadBalancerDetails
awsElbLoadBalancer = Maybe AwsElbLoadBalancerDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsEc2VpnConnection:ResourceDetails' :: Maybe AwsEc2VpnConnectionDetails
awsEc2VpnConnection = Maybe AwsEc2VpnConnectionDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsCloudFrontDistribution:ResourceDetails' :: Maybe AwsCloudFrontDistributionDetails
awsCloudFrontDistribution = Maybe AwsCloudFrontDistributionDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsKmsKey:ResourceDetails' :: Maybe AwsKmsKeyDetails
awsKmsKey = Maybe AwsKmsKeyDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsEksCluster:ResourceDetails' :: Maybe AwsEksClusterDetails
awsEksCluster = Maybe AwsEksClusterDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsAutoScalingLaunchConfiguration:ResourceDetails' :: Maybe AwsAutoScalingLaunchConfigurationDetails
awsAutoScalingLaunchConfiguration = Maybe AwsAutoScalingLaunchConfigurationDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsOpenSearchServiceDomain:ResourceDetails' :: Maybe AwsOpenSearchServiceDomainDetails
awsOpenSearchServiceDomain = Maybe AwsOpenSearchServiceDomainDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsRdsDbSnapshot:ResourceDetails' :: Maybe AwsRdsDbSnapshotDetails
awsRdsDbSnapshot = Maybe AwsRdsDbSnapshotDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsWafRegionalRateBasedRule:ResourceDetails' :: Maybe AwsWafRegionalRateBasedRuleDetails
awsWafRegionalRateBasedRule = Maybe AwsWafRegionalRateBasedRuleDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsApiGatewayRestApi:ResourceDetails' :: Maybe AwsApiGatewayRestApiDetails
awsApiGatewayRestApi = Maybe AwsApiGatewayRestApiDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsSqsQueue:ResourceDetails' :: Maybe AwsSqsQueueDetails
awsSqsQueue = Maybe AwsSqsQueueDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsSecretsManagerSecret:ResourceDetails' :: Maybe AwsSecretsManagerSecretDetails
awsSecretsManagerSecret = Maybe AwsSecretsManagerSecretDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsDynamoDbTable:ResourceDetails' :: Maybe AwsDynamoDbTableDetails
awsDynamoDbTable = Maybe AwsDynamoDbTableDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsS3AccountPublicAccessBlock:ResourceDetails' :: Maybe AwsS3AccountPublicAccessBlockDetails
awsS3AccountPublicAccessBlock = Maybe AwsS3AccountPublicAccessBlockDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsRdsDbClusterSnapshot:ResourceDetails' :: Maybe AwsRdsDbClusterSnapshotDetails
awsRdsDbClusterSnapshot = Maybe AwsRdsDbClusterSnapshotDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsEc2SecurityGroup:ResourceDetails' :: Maybe AwsEc2SecurityGroupDetails
awsEc2SecurityGroup = Maybe AwsEc2SecurityGroupDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsEc2Instance:ResourceDetails' :: Maybe AwsEc2InstanceDetails
awsEc2Instance = Maybe AwsEc2InstanceDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsIamPolicy:ResourceDetails' :: Maybe AwsIamPolicyDetails
awsIamPolicy = Maybe AwsIamPolicyDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsS3Object:ResourceDetails' :: Maybe AwsS3ObjectDetails
awsS3Object = Maybe AwsS3ObjectDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsEcsTaskDefinition:ResourceDetails' :: Maybe AwsEcsTaskDefinitionDetails
awsEcsTaskDefinition = Maybe AwsEcsTaskDefinitionDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsLambdaLayerVersion:ResourceDetails' :: Maybe AwsLambdaLayerVersionDetails
awsLambdaLayerVersion = Maybe AwsLambdaLayerVersionDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsS3Bucket:ResourceDetails' :: Maybe AwsS3BucketDetails
awsS3Bucket = Maybe AwsS3BucketDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsIamAccessKey:ResourceDetails' :: Maybe AwsIamAccessKeyDetails
awsIamAccessKey = Maybe AwsIamAccessKeyDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsCodeBuildProject:ResourceDetails' :: Maybe AwsCodeBuildProjectDetails
awsCodeBuildProject = Maybe AwsCodeBuildProjectDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsApiGatewayStage:ResourceDetails' :: Maybe AwsApiGatewayStageDetails
awsApiGatewayStage = Maybe AwsApiGatewayStageDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsEc2NetworkAcl:ResourceDetails' :: Maybe AwsEc2NetworkAclDetails
awsEc2NetworkAcl = Maybe AwsEc2NetworkAclDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsApiGatewayV2Api:ResourceDetails' :: Maybe AwsApiGatewayV2ApiDetails
awsApiGatewayV2Api = Maybe AwsApiGatewayV2ApiDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsElasticBeanstalkEnvironment:ResourceDetails' :: Maybe AwsElasticBeanstalkEnvironmentDetails
awsElasticBeanstalkEnvironment = Maybe AwsElasticBeanstalkEnvironmentDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsEc2Vpc:ResourceDetails' :: Maybe AwsEc2VpcDetails
awsEc2Vpc = Maybe AwsEc2VpcDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsRedshiftCluster:ResourceDetails' :: Maybe AwsRedshiftClusterDetails
awsRedshiftCluster = Maybe AwsRedshiftClusterDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsRdsDbInstance:ResourceDetails' :: Maybe AwsRdsDbInstanceDetails
awsRdsDbInstance = Maybe AwsRdsDbInstanceDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsRdsEventSubscription:ResourceDetails' :: Maybe AwsRdsEventSubscriptionDetails
awsRdsEventSubscription = Maybe AwsRdsEventSubscriptionDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:container:ResourceDetails' :: Maybe ContainerDetails
container = Maybe ContainerDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsIamGroup:ResourceDetails' :: Maybe AwsIamGroupDetails
awsIamGroup = Maybe AwsIamGroupDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsXrayEncryptionConfig:ResourceDetails' :: Maybe AwsXrayEncryptionConfigDetails
awsXrayEncryptionConfig = Maybe AwsXrayEncryptionConfigDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsEc2Subnet:ResourceDetails' :: Maybe AwsEc2SubnetDetails
awsEc2Subnet = Maybe AwsEc2SubnetDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsEcsCluster:ResourceDetails' :: Maybe AwsEcsClusterDetails
awsEcsCluster = Maybe AwsEcsClusterDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsEc2VpcEndpointService:ResourceDetails' :: Maybe AwsEc2VpcEndpointServiceDetails
awsEc2VpcEndpointService = Maybe AwsEc2VpcEndpointServiceDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsAutoScalingAutoScalingGroup:ResourceDetails' :: Maybe AwsAutoScalingAutoScalingGroupDetails
awsAutoScalingAutoScalingGroup = Maybe AwsAutoScalingAutoScalingGroupDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsSnsTopic:ResourceDetails' :: Maybe AwsSnsTopicDetails
awsSnsTopic = Maybe AwsSnsTopicDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsEc2NetworkInterface:ResourceDetails' :: Maybe AwsEc2NetworkInterfaceDetails
awsEc2NetworkInterface = Maybe AwsEc2NetworkInterfaceDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsEcsService:ResourceDetails' :: Maybe AwsEcsServiceDetails
awsEcsService = Maybe AwsEcsServiceDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsEc2Eip:ResourceDetails' :: Maybe AwsEc2EipDetails
awsEc2Eip = Maybe AwsEc2EipDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsApiGatewayV2Stage:ResourceDetails' :: Maybe AwsApiGatewayV2StageDetails
awsApiGatewayV2Stage = Maybe AwsApiGatewayV2StageDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsLambdaFunction:ResourceDetails' :: Maybe AwsLambdaFunctionDetails
awsLambdaFunction = Maybe AwsLambdaFunctionDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsElbv2LoadBalancer:ResourceDetails' :: Maybe AwsElbv2LoadBalancerDetails
awsElbv2LoadBalancer = Maybe AwsElbv2LoadBalancerDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsWafRateBasedRule:ResourceDetails' :: Maybe AwsWafRateBasedRuleDetails
awsWafRateBasedRule = Maybe AwsWafRateBasedRuleDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsEcrRepository:ResourceDetails' :: Maybe AwsEcrRepositoryDetails
awsEcrRepository = Maybe AwsEcrRepositoryDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsWafWebAcl:ResourceDetails' :: Maybe AwsWafWebAclDetails
awsWafWebAcl = Maybe AwsWafWebAclDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsSsmPatchCompliance:ResourceDetails' :: Maybe AwsSsmPatchComplianceDetails
awsSsmPatchCompliance = Maybe AwsSsmPatchComplianceDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsElasticsearchDomain:ResourceDetails' :: Maybe AwsElasticsearchDomainDetails
awsElasticsearchDomain = Maybe AwsElasticsearchDomainDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsCertificateManagerCertificate:ResourceDetails' :: Maybe AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificate = Maybe AwsCertificateManagerCertificateDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsEcrContainerImage:ResourceDetails' :: Maybe AwsEcrContainerImageDetails
awsEcrContainerImage = Maybe AwsEcrContainerImageDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsIamUser:ResourceDetails' :: Maybe AwsIamUserDetails
awsIamUser = Maybe AwsIamUserDetails
forall a. Maybe a
Prelude.Nothing,
      $sel:awsEc2Volume:ResourceDetails' :: Maybe AwsEc2VolumeDetails
awsEc2Volume = Maybe AwsEc2VolumeDetails
forall a. Maybe a
Prelude.Nothing
    }

-- | Provides details about a CloudTrail trail.
resourceDetails_awsCloudTrailTrail :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsCloudTrailTrailDetails)
resourceDetails_awsCloudTrailTrail :: (Maybe AwsCloudTrailTrailDetails
 -> f (Maybe AwsCloudTrailTrailDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsCloudTrailTrail = (ResourceDetails -> Maybe AwsCloudTrailTrailDetails)
-> (ResourceDetails
    -> Maybe AwsCloudTrailTrailDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsCloudTrailTrailDetails)
     (Maybe AwsCloudTrailTrailDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsCloudTrailTrailDetails
awsCloudTrailTrail :: Maybe AwsCloudTrailTrailDetails
$sel:awsCloudTrailTrail:ResourceDetails' :: ResourceDetails -> Maybe AwsCloudTrailTrailDetails
awsCloudTrailTrail} -> Maybe AwsCloudTrailTrailDetails
awsCloudTrailTrail) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsCloudTrailTrailDetails
a -> ResourceDetails
s {$sel:awsCloudTrailTrail:ResourceDetails' :: Maybe AwsCloudTrailTrailDetails
awsCloudTrailTrail = Maybe AwsCloudTrailTrailDetails
a} :: ResourceDetails)

-- | Details about an Amazon RDS database cluster.
resourceDetails_awsRdsDbCluster :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsRdsDbClusterDetails)
resourceDetails_awsRdsDbCluster :: (Maybe AwsRdsDbClusterDetails -> f (Maybe AwsRdsDbClusterDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsRdsDbCluster = (ResourceDetails -> Maybe AwsRdsDbClusterDetails)
-> (ResourceDetails
    -> Maybe AwsRdsDbClusterDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsRdsDbClusterDetails)
     (Maybe AwsRdsDbClusterDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsRdsDbClusterDetails
awsRdsDbCluster :: Maybe AwsRdsDbClusterDetails
$sel:awsRdsDbCluster:ResourceDetails' :: ResourceDetails -> Maybe AwsRdsDbClusterDetails
awsRdsDbCluster} -> Maybe AwsRdsDbClusterDetails
awsRdsDbCluster) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsRdsDbClusterDetails
a -> ResourceDetails
s {$sel:awsRdsDbCluster:ResourceDetails' :: Maybe AwsRdsDbClusterDetails
awsRdsDbCluster = Maybe AwsRdsDbClusterDetails
a} :: ResourceDetails)

-- | Details about a resource that are not available in a type-specific
-- details object. Use the @Other@ object in the following cases.
--
-- -   The type-specific object does not contain all of the fields that you
--     want to populate. In this case, first use the type-specific object
--     to populate those fields. Use the @Other@ object to populate the
--     fields that are missing from the type-specific object.
--
-- -   The resource type does not have a corresponding object. This
--     includes resources for which the type is @Other@.
resourceDetails_other :: Lens.Lens' ResourceDetails (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
resourceDetails_other :: (Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> ResourceDetails -> f ResourceDetails
resourceDetails_other = (ResourceDetails -> Maybe (HashMap Text Text))
-> (ResourceDetails
    -> Maybe (HashMap Text Text) -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe (HashMap Text Text)
other :: Maybe (HashMap Text Text)
$sel:other:ResourceDetails' :: ResourceDetails -> Maybe (HashMap Text Text)
other} -> Maybe (HashMap Text Text)
other) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe (HashMap Text Text)
a -> ResourceDetails
s {$sel:other:ResourceDetails' :: Maybe (HashMap Text Text)
other = Maybe (HashMap Text Text)
a} :: ResourceDetails) ((Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
 -> ResourceDetails -> f ResourceDetails)
-> ((Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
    -> Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> (Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> ResourceDetails
-> f ResourceDetails
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
-> Iso
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Details about an IAM role.
resourceDetails_awsIamRole :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsIamRoleDetails)
resourceDetails_awsIamRole :: (Maybe AwsIamRoleDetails -> f (Maybe AwsIamRoleDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsIamRole = (ResourceDetails -> Maybe AwsIamRoleDetails)
-> (ResourceDetails -> Maybe AwsIamRoleDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsIamRoleDetails)
     (Maybe AwsIamRoleDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsIamRoleDetails
awsIamRole :: Maybe AwsIamRoleDetails
$sel:awsIamRole:ResourceDetails' :: ResourceDetails -> Maybe AwsIamRoleDetails
awsIamRole} -> Maybe AwsIamRoleDetails
awsIamRole) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsIamRoleDetails
a -> ResourceDetails
s {$sel:awsIamRole:ResourceDetails' :: Maybe AwsIamRoleDetails
awsIamRole = Maybe AwsIamRoleDetails
a} :: ResourceDetails)

-- | Contains details about a Classic Load Balancer.
resourceDetails_awsElbLoadBalancer :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsElbLoadBalancerDetails)
resourceDetails_awsElbLoadBalancer :: (Maybe AwsElbLoadBalancerDetails
 -> f (Maybe AwsElbLoadBalancerDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsElbLoadBalancer = (ResourceDetails -> Maybe AwsElbLoadBalancerDetails)
-> (ResourceDetails
    -> Maybe AwsElbLoadBalancerDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsElbLoadBalancerDetails)
     (Maybe AwsElbLoadBalancerDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsElbLoadBalancerDetails
awsElbLoadBalancer :: Maybe AwsElbLoadBalancerDetails
$sel:awsElbLoadBalancer:ResourceDetails' :: ResourceDetails -> Maybe AwsElbLoadBalancerDetails
awsElbLoadBalancer} -> Maybe AwsElbLoadBalancerDetails
awsElbLoadBalancer) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsElbLoadBalancerDetails
a -> ResourceDetails
s {$sel:awsElbLoadBalancer:ResourceDetails' :: Maybe AwsElbLoadBalancerDetails
awsElbLoadBalancer = Maybe AwsElbLoadBalancerDetails
a} :: ResourceDetails)

-- | Details about an EC2 VPN connection.
resourceDetails_awsEc2VpnConnection :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsEc2VpnConnectionDetails)
resourceDetails_awsEc2VpnConnection :: (Maybe AwsEc2VpnConnectionDetails
 -> f (Maybe AwsEc2VpnConnectionDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsEc2VpnConnection = (ResourceDetails -> Maybe AwsEc2VpnConnectionDetails)
-> (ResourceDetails
    -> Maybe AwsEc2VpnConnectionDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsEc2VpnConnectionDetails)
     (Maybe AwsEc2VpnConnectionDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsEc2VpnConnectionDetails
awsEc2VpnConnection :: Maybe AwsEc2VpnConnectionDetails
$sel:awsEc2VpnConnection:ResourceDetails' :: ResourceDetails -> Maybe AwsEc2VpnConnectionDetails
awsEc2VpnConnection} -> Maybe AwsEc2VpnConnectionDetails
awsEc2VpnConnection) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsEc2VpnConnectionDetails
a -> ResourceDetails
s {$sel:awsEc2VpnConnection:ResourceDetails' :: Maybe AwsEc2VpnConnectionDetails
awsEc2VpnConnection = Maybe AwsEc2VpnConnectionDetails
a} :: ResourceDetails)

-- | Details about a CloudFront distribution.
resourceDetails_awsCloudFrontDistribution :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsCloudFrontDistributionDetails)
resourceDetails_awsCloudFrontDistribution :: (Maybe AwsCloudFrontDistributionDetails
 -> f (Maybe AwsCloudFrontDistributionDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsCloudFrontDistribution = (ResourceDetails -> Maybe AwsCloudFrontDistributionDetails)
-> (ResourceDetails
    -> Maybe AwsCloudFrontDistributionDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsCloudFrontDistributionDetails)
     (Maybe AwsCloudFrontDistributionDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsCloudFrontDistributionDetails
awsCloudFrontDistribution :: Maybe AwsCloudFrontDistributionDetails
$sel:awsCloudFrontDistribution:ResourceDetails' :: ResourceDetails -> Maybe AwsCloudFrontDistributionDetails
awsCloudFrontDistribution} -> Maybe AwsCloudFrontDistributionDetails
awsCloudFrontDistribution) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsCloudFrontDistributionDetails
a -> ResourceDetails
s {$sel:awsCloudFrontDistribution:ResourceDetails' :: Maybe AwsCloudFrontDistributionDetails
awsCloudFrontDistribution = Maybe AwsCloudFrontDistributionDetails
a} :: ResourceDetails)

-- | Details about an KMS key.
resourceDetails_awsKmsKey :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsKmsKeyDetails)
resourceDetails_awsKmsKey :: (Maybe AwsKmsKeyDetails -> f (Maybe AwsKmsKeyDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsKmsKey = (ResourceDetails -> Maybe AwsKmsKeyDetails)
-> (ResourceDetails -> Maybe AwsKmsKeyDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsKmsKeyDetails)
     (Maybe AwsKmsKeyDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsKmsKeyDetails
awsKmsKey :: Maybe AwsKmsKeyDetails
$sel:awsKmsKey:ResourceDetails' :: ResourceDetails -> Maybe AwsKmsKeyDetails
awsKmsKey} -> Maybe AwsKmsKeyDetails
awsKmsKey) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsKmsKeyDetails
a -> ResourceDetails
s {$sel:awsKmsKey:ResourceDetails' :: Maybe AwsKmsKeyDetails
awsKmsKey = Maybe AwsKmsKeyDetails
a} :: ResourceDetails)

-- | Details about an Amazon EKS cluster.
resourceDetails_awsEksCluster :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsEksClusterDetails)
resourceDetails_awsEksCluster :: (Maybe AwsEksClusterDetails -> f (Maybe AwsEksClusterDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsEksCluster = (ResourceDetails -> Maybe AwsEksClusterDetails)
-> (ResourceDetails
    -> Maybe AwsEksClusterDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsEksClusterDetails)
     (Maybe AwsEksClusterDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsEksClusterDetails
awsEksCluster :: Maybe AwsEksClusterDetails
$sel:awsEksCluster:ResourceDetails' :: ResourceDetails -> Maybe AwsEksClusterDetails
awsEksCluster} -> Maybe AwsEksClusterDetails
awsEksCluster) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsEksClusterDetails
a -> ResourceDetails
s {$sel:awsEksCluster:ResourceDetails' :: Maybe AwsEksClusterDetails
awsEksCluster = Maybe AwsEksClusterDetails
a} :: ResourceDetails)

-- | Provides details about a launch configuration.
resourceDetails_awsAutoScalingLaunchConfiguration :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsAutoScalingLaunchConfigurationDetails)
resourceDetails_awsAutoScalingLaunchConfiguration :: (Maybe AwsAutoScalingLaunchConfigurationDetails
 -> f (Maybe AwsAutoScalingLaunchConfigurationDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsAutoScalingLaunchConfiguration = (ResourceDetails -> Maybe AwsAutoScalingLaunchConfigurationDetails)
-> (ResourceDetails
    -> Maybe AwsAutoScalingLaunchConfigurationDetails
    -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsAutoScalingLaunchConfigurationDetails)
     (Maybe AwsAutoScalingLaunchConfigurationDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsAutoScalingLaunchConfigurationDetails
awsAutoScalingLaunchConfiguration :: Maybe AwsAutoScalingLaunchConfigurationDetails
$sel:awsAutoScalingLaunchConfiguration:ResourceDetails' :: ResourceDetails -> Maybe AwsAutoScalingLaunchConfigurationDetails
awsAutoScalingLaunchConfiguration} -> Maybe AwsAutoScalingLaunchConfigurationDetails
awsAutoScalingLaunchConfiguration) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsAutoScalingLaunchConfigurationDetails
a -> ResourceDetails
s {$sel:awsAutoScalingLaunchConfiguration:ResourceDetails' :: Maybe AwsAutoScalingLaunchConfigurationDetails
awsAutoScalingLaunchConfiguration = Maybe AwsAutoScalingLaunchConfigurationDetails
a} :: ResourceDetails)

-- | Details about an Amazon OpenSearch Service domain.
resourceDetails_awsOpenSearchServiceDomain :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsOpenSearchServiceDomainDetails)
resourceDetails_awsOpenSearchServiceDomain :: (Maybe AwsOpenSearchServiceDomainDetails
 -> f (Maybe AwsOpenSearchServiceDomainDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsOpenSearchServiceDomain = (ResourceDetails -> Maybe AwsOpenSearchServiceDomainDetails)
-> (ResourceDetails
    -> Maybe AwsOpenSearchServiceDomainDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsOpenSearchServiceDomainDetails)
     (Maybe AwsOpenSearchServiceDomainDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsOpenSearchServiceDomainDetails
awsOpenSearchServiceDomain :: Maybe AwsOpenSearchServiceDomainDetails
$sel:awsOpenSearchServiceDomain:ResourceDetails' :: ResourceDetails -> Maybe AwsOpenSearchServiceDomainDetails
awsOpenSearchServiceDomain} -> Maybe AwsOpenSearchServiceDomainDetails
awsOpenSearchServiceDomain) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsOpenSearchServiceDomainDetails
a -> ResourceDetails
s {$sel:awsOpenSearchServiceDomain:ResourceDetails' :: Maybe AwsOpenSearchServiceDomainDetails
awsOpenSearchServiceDomain = Maybe AwsOpenSearchServiceDomainDetails
a} :: ResourceDetails)

-- | Details about an Amazon RDS database snapshot.
resourceDetails_awsRdsDbSnapshot :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsRdsDbSnapshotDetails)
resourceDetails_awsRdsDbSnapshot :: (Maybe AwsRdsDbSnapshotDetails
 -> f (Maybe AwsRdsDbSnapshotDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsRdsDbSnapshot = (ResourceDetails -> Maybe AwsRdsDbSnapshotDetails)
-> (ResourceDetails
    -> Maybe AwsRdsDbSnapshotDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsRdsDbSnapshotDetails)
     (Maybe AwsRdsDbSnapshotDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsRdsDbSnapshotDetails
awsRdsDbSnapshot :: Maybe AwsRdsDbSnapshotDetails
$sel:awsRdsDbSnapshot:ResourceDetails' :: ResourceDetails -> Maybe AwsRdsDbSnapshotDetails
awsRdsDbSnapshot} -> Maybe AwsRdsDbSnapshotDetails
awsRdsDbSnapshot) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsRdsDbSnapshotDetails
a -> ResourceDetails
s {$sel:awsRdsDbSnapshot:ResourceDetails' :: Maybe AwsRdsDbSnapshotDetails
awsRdsDbSnapshot = Maybe AwsRdsDbSnapshotDetails
a} :: ResourceDetails)

-- | Details about a rate-based rule for Regional resources.
resourceDetails_awsWafRegionalRateBasedRule :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsWafRegionalRateBasedRuleDetails)
resourceDetails_awsWafRegionalRateBasedRule :: (Maybe AwsWafRegionalRateBasedRuleDetails
 -> f (Maybe AwsWafRegionalRateBasedRuleDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsWafRegionalRateBasedRule = (ResourceDetails -> Maybe AwsWafRegionalRateBasedRuleDetails)
-> (ResourceDetails
    -> Maybe AwsWafRegionalRateBasedRuleDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsWafRegionalRateBasedRuleDetails)
     (Maybe AwsWafRegionalRateBasedRuleDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsWafRegionalRateBasedRuleDetails
awsWafRegionalRateBasedRule :: Maybe AwsWafRegionalRateBasedRuleDetails
$sel:awsWafRegionalRateBasedRule:ResourceDetails' :: ResourceDetails -> Maybe AwsWafRegionalRateBasedRuleDetails
awsWafRegionalRateBasedRule} -> Maybe AwsWafRegionalRateBasedRuleDetails
awsWafRegionalRateBasedRule) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsWafRegionalRateBasedRuleDetails
a -> ResourceDetails
s {$sel:awsWafRegionalRateBasedRule:ResourceDetails' :: Maybe AwsWafRegionalRateBasedRuleDetails
awsWafRegionalRateBasedRule = Maybe AwsWafRegionalRateBasedRuleDetails
a} :: ResourceDetails)

-- | Provides information about a REST API in version 1 of Amazon API
-- Gateway.
resourceDetails_awsApiGatewayRestApi :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsApiGatewayRestApiDetails)
resourceDetails_awsApiGatewayRestApi :: (Maybe AwsApiGatewayRestApiDetails
 -> f (Maybe AwsApiGatewayRestApiDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsApiGatewayRestApi = (ResourceDetails -> Maybe AwsApiGatewayRestApiDetails)
-> (ResourceDetails
    -> Maybe AwsApiGatewayRestApiDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsApiGatewayRestApiDetails)
     (Maybe AwsApiGatewayRestApiDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsApiGatewayRestApiDetails
awsApiGatewayRestApi :: Maybe AwsApiGatewayRestApiDetails
$sel:awsApiGatewayRestApi:ResourceDetails' :: ResourceDetails -> Maybe AwsApiGatewayRestApiDetails
awsApiGatewayRestApi} -> Maybe AwsApiGatewayRestApiDetails
awsApiGatewayRestApi) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsApiGatewayRestApiDetails
a -> ResourceDetails
s {$sel:awsApiGatewayRestApi:ResourceDetails' :: Maybe AwsApiGatewayRestApiDetails
awsApiGatewayRestApi = Maybe AwsApiGatewayRestApiDetails
a} :: ResourceDetails)

-- | Details about an SQS queue.
resourceDetails_awsSqsQueue :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsSqsQueueDetails)
resourceDetails_awsSqsQueue :: (Maybe AwsSqsQueueDetails -> f (Maybe AwsSqsQueueDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsSqsQueue = (ResourceDetails -> Maybe AwsSqsQueueDetails)
-> (ResourceDetails -> Maybe AwsSqsQueueDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsSqsQueueDetails)
     (Maybe AwsSqsQueueDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsSqsQueueDetails
awsSqsQueue :: Maybe AwsSqsQueueDetails
$sel:awsSqsQueue:ResourceDetails' :: ResourceDetails -> Maybe AwsSqsQueueDetails
awsSqsQueue} -> Maybe AwsSqsQueueDetails
awsSqsQueue) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsSqsQueueDetails
a -> ResourceDetails
s {$sel:awsSqsQueue:ResourceDetails' :: Maybe AwsSqsQueueDetails
awsSqsQueue = Maybe AwsSqsQueueDetails
a} :: ResourceDetails)

-- | Details about a Secrets Manager secret.
resourceDetails_awsSecretsManagerSecret :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsSecretsManagerSecretDetails)
resourceDetails_awsSecretsManagerSecret :: (Maybe AwsSecretsManagerSecretDetails
 -> f (Maybe AwsSecretsManagerSecretDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsSecretsManagerSecret = (ResourceDetails -> Maybe AwsSecretsManagerSecretDetails)
-> (ResourceDetails
    -> Maybe AwsSecretsManagerSecretDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsSecretsManagerSecretDetails)
     (Maybe AwsSecretsManagerSecretDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsSecretsManagerSecretDetails
awsSecretsManagerSecret :: Maybe AwsSecretsManagerSecretDetails
$sel:awsSecretsManagerSecret:ResourceDetails' :: ResourceDetails -> Maybe AwsSecretsManagerSecretDetails
awsSecretsManagerSecret} -> Maybe AwsSecretsManagerSecretDetails
awsSecretsManagerSecret) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsSecretsManagerSecretDetails
a -> ResourceDetails
s {$sel:awsSecretsManagerSecret:ResourceDetails' :: Maybe AwsSecretsManagerSecretDetails
awsSecretsManagerSecret = Maybe AwsSecretsManagerSecretDetails
a} :: ResourceDetails)

-- | Details about a DynamoDB table.
resourceDetails_awsDynamoDbTable :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsDynamoDbTableDetails)
resourceDetails_awsDynamoDbTable :: (Maybe AwsDynamoDbTableDetails
 -> f (Maybe AwsDynamoDbTableDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsDynamoDbTable = (ResourceDetails -> Maybe AwsDynamoDbTableDetails)
-> (ResourceDetails
    -> Maybe AwsDynamoDbTableDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsDynamoDbTableDetails)
     (Maybe AwsDynamoDbTableDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsDynamoDbTableDetails
awsDynamoDbTable :: Maybe AwsDynamoDbTableDetails
$sel:awsDynamoDbTable:ResourceDetails' :: ResourceDetails -> Maybe AwsDynamoDbTableDetails
awsDynamoDbTable} -> Maybe AwsDynamoDbTableDetails
awsDynamoDbTable) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsDynamoDbTableDetails
a -> ResourceDetails
s {$sel:awsDynamoDbTable:ResourceDetails' :: Maybe AwsDynamoDbTableDetails
awsDynamoDbTable = Maybe AwsDynamoDbTableDetails
a} :: ResourceDetails)

-- | Details about the Amazon S3 Public Access Block configuration for an
-- account.
resourceDetails_awsS3AccountPublicAccessBlock :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsS3AccountPublicAccessBlockDetails)
resourceDetails_awsS3AccountPublicAccessBlock :: (Maybe AwsS3AccountPublicAccessBlockDetails
 -> f (Maybe AwsS3AccountPublicAccessBlockDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsS3AccountPublicAccessBlock = (ResourceDetails -> Maybe AwsS3AccountPublicAccessBlockDetails)
-> (ResourceDetails
    -> Maybe AwsS3AccountPublicAccessBlockDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsS3AccountPublicAccessBlockDetails)
     (Maybe AwsS3AccountPublicAccessBlockDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsS3AccountPublicAccessBlockDetails
awsS3AccountPublicAccessBlock :: Maybe AwsS3AccountPublicAccessBlockDetails
$sel:awsS3AccountPublicAccessBlock:ResourceDetails' :: ResourceDetails -> Maybe AwsS3AccountPublicAccessBlockDetails
awsS3AccountPublicAccessBlock} -> Maybe AwsS3AccountPublicAccessBlockDetails
awsS3AccountPublicAccessBlock) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsS3AccountPublicAccessBlockDetails
a -> ResourceDetails
s {$sel:awsS3AccountPublicAccessBlock:ResourceDetails' :: Maybe AwsS3AccountPublicAccessBlockDetails
awsS3AccountPublicAccessBlock = Maybe AwsS3AccountPublicAccessBlockDetails
a} :: ResourceDetails)

-- | Details about an Amazon RDS database cluster snapshot.
resourceDetails_awsRdsDbClusterSnapshot :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsRdsDbClusterSnapshotDetails)
resourceDetails_awsRdsDbClusterSnapshot :: (Maybe AwsRdsDbClusterSnapshotDetails
 -> f (Maybe AwsRdsDbClusterSnapshotDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsRdsDbClusterSnapshot = (ResourceDetails -> Maybe AwsRdsDbClusterSnapshotDetails)
-> (ResourceDetails
    -> Maybe AwsRdsDbClusterSnapshotDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsRdsDbClusterSnapshotDetails)
     (Maybe AwsRdsDbClusterSnapshotDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsRdsDbClusterSnapshotDetails
awsRdsDbClusterSnapshot :: Maybe AwsRdsDbClusterSnapshotDetails
$sel:awsRdsDbClusterSnapshot:ResourceDetails' :: ResourceDetails -> Maybe AwsRdsDbClusterSnapshotDetails
awsRdsDbClusterSnapshot} -> Maybe AwsRdsDbClusterSnapshotDetails
awsRdsDbClusterSnapshot) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsRdsDbClusterSnapshotDetails
a -> ResourceDetails
s {$sel:awsRdsDbClusterSnapshot:ResourceDetails' :: Maybe AwsRdsDbClusterSnapshotDetails
awsRdsDbClusterSnapshot = Maybe AwsRdsDbClusterSnapshotDetails
a} :: ResourceDetails)

-- | Details for an EC2 security group.
resourceDetails_awsEc2SecurityGroup :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsEc2SecurityGroupDetails)
resourceDetails_awsEc2SecurityGroup :: (Maybe AwsEc2SecurityGroupDetails
 -> f (Maybe AwsEc2SecurityGroupDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsEc2SecurityGroup = (ResourceDetails -> Maybe AwsEc2SecurityGroupDetails)
-> (ResourceDetails
    -> Maybe AwsEc2SecurityGroupDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsEc2SecurityGroupDetails)
     (Maybe AwsEc2SecurityGroupDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsEc2SecurityGroupDetails
awsEc2SecurityGroup :: Maybe AwsEc2SecurityGroupDetails
$sel:awsEc2SecurityGroup:ResourceDetails' :: ResourceDetails -> Maybe AwsEc2SecurityGroupDetails
awsEc2SecurityGroup} -> Maybe AwsEc2SecurityGroupDetails
awsEc2SecurityGroup) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsEc2SecurityGroupDetails
a -> ResourceDetails
s {$sel:awsEc2SecurityGroup:ResourceDetails' :: Maybe AwsEc2SecurityGroupDetails
awsEc2SecurityGroup = Maybe AwsEc2SecurityGroupDetails
a} :: ResourceDetails)

-- | Details about an EC2 instance related to a finding.
resourceDetails_awsEc2Instance :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsEc2InstanceDetails)
resourceDetails_awsEc2Instance :: (Maybe AwsEc2InstanceDetails -> f (Maybe AwsEc2InstanceDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsEc2Instance = (ResourceDetails -> Maybe AwsEc2InstanceDetails)
-> (ResourceDetails
    -> Maybe AwsEc2InstanceDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsEc2InstanceDetails)
     (Maybe AwsEc2InstanceDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsEc2InstanceDetails
awsEc2Instance :: Maybe AwsEc2InstanceDetails
$sel:awsEc2Instance:ResourceDetails' :: ResourceDetails -> Maybe AwsEc2InstanceDetails
awsEc2Instance} -> Maybe AwsEc2InstanceDetails
awsEc2Instance) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsEc2InstanceDetails
a -> ResourceDetails
s {$sel:awsEc2Instance:ResourceDetails' :: Maybe AwsEc2InstanceDetails
awsEc2Instance = Maybe AwsEc2InstanceDetails
a} :: ResourceDetails)

-- | Details about an IAM permissions policy.
resourceDetails_awsIamPolicy :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsIamPolicyDetails)
resourceDetails_awsIamPolicy :: (Maybe AwsIamPolicyDetails -> f (Maybe AwsIamPolicyDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsIamPolicy = (ResourceDetails -> Maybe AwsIamPolicyDetails)
-> (ResourceDetails
    -> Maybe AwsIamPolicyDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsIamPolicyDetails)
     (Maybe AwsIamPolicyDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsIamPolicyDetails
awsIamPolicy :: Maybe AwsIamPolicyDetails
$sel:awsIamPolicy:ResourceDetails' :: ResourceDetails -> Maybe AwsIamPolicyDetails
awsIamPolicy} -> Maybe AwsIamPolicyDetails
awsIamPolicy) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsIamPolicyDetails
a -> ResourceDetails
s {$sel:awsIamPolicy:ResourceDetails' :: Maybe AwsIamPolicyDetails
awsIamPolicy = Maybe AwsIamPolicyDetails
a} :: ResourceDetails)

-- | Details about an S3 object related to a finding.
resourceDetails_awsS3Object :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsS3ObjectDetails)
resourceDetails_awsS3Object :: (Maybe AwsS3ObjectDetails -> f (Maybe AwsS3ObjectDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsS3Object = (ResourceDetails -> Maybe AwsS3ObjectDetails)
-> (ResourceDetails -> Maybe AwsS3ObjectDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsS3ObjectDetails)
     (Maybe AwsS3ObjectDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsS3ObjectDetails
awsS3Object :: Maybe AwsS3ObjectDetails
$sel:awsS3Object:ResourceDetails' :: ResourceDetails -> Maybe AwsS3ObjectDetails
awsS3Object} -> Maybe AwsS3ObjectDetails
awsS3Object) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsS3ObjectDetails
a -> ResourceDetails
s {$sel:awsS3Object:ResourceDetails' :: Maybe AwsS3ObjectDetails
awsS3Object = Maybe AwsS3ObjectDetails
a} :: ResourceDetails)

-- | Details about a task definition. A task definition describes the
-- container and volume definitions of an Amazon Elastic Container Service
-- task.
resourceDetails_awsEcsTaskDefinition :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsEcsTaskDefinitionDetails)
resourceDetails_awsEcsTaskDefinition :: (Maybe AwsEcsTaskDefinitionDetails
 -> f (Maybe AwsEcsTaskDefinitionDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsEcsTaskDefinition = (ResourceDetails -> Maybe AwsEcsTaskDefinitionDetails)
-> (ResourceDetails
    -> Maybe AwsEcsTaskDefinitionDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsEcsTaskDefinitionDetails)
     (Maybe AwsEcsTaskDefinitionDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsEcsTaskDefinitionDetails
awsEcsTaskDefinition :: Maybe AwsEcsTaskDefinitionDetails
$sel:awsEcsTaskDefinition:ResourceDetails' :: ResourceDetails -> Maybe AwsEcsTaskDefinitionDetails
awsEcsTaskDefinition} -> Maybe AwsEcsTaskDefinitionDetails
awsEcsTaskDefinition) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsEcsTaskDefinitionDetails
a -> ResourceDetails
s {$sel:awsEcsTaskDefinition:ResourceDetails' :: Maybe AwsEcsTaskDefinitionDetails
awsEcsTaskDefinition = Maybe AwsEcsTaskDefinitionDetails
a} :: ResourceDetails)

-- | Details for a Lambda layer version.
resourceDetails_awsLambdaLayerVersion :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsLambdaLayerVersionDetails)
resourceDetails_awsLambdaLayerVersion :: (Maybe AwsLambdaLayerVersionDetails
 -> f (Maybe AwsLambdaLayerVersionDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsLambdaLayerVersion = (ResourceDetails -> Maybe AwsLambdaLayerVersionDetails)
-> (ResourceDetails
    -> Maybe AwsLambdaLayerVersionDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsLambdaLayerVersionDetails)
     (Maybe AwsLambdaLayerVersionDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsLambdaLayerVersionDetails
awsLambdaLayerVersion :: Maybe AwsLambdaLayerVersionDetails
$sel:awsLambdaLayerVersion:ResourceDetails' :: ResourceDetails -> Maybe AwsLambdaLayerVersionDetails
awsLambdaLayerVersion} -> Maybe AwsLambdaLayerVersionDetails
awsLambdaLayerVersion) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsLambdaLayerVersionDetails
a -> ResourceDetails
s {$sel:awsLambdaLayerVersion:ResourceDetails' :: Maybe AwsLambdaLayerVersionDetails
awsLambdaLayerVersion = Maybe AwsLambdaLayerVersionDetails
a} :: ResourceDetails)

-- | Details about an S3 bucket related to a finding.
resourceDetails_awsS3Bucket :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsS3BucketDetails)
resourceDetails_awsS3Bucket :: (Maybe AwsS3BucketDetails -> f (Maybe AwsS3BucketDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsS3Bucket = (ResourceDetails -> Maybe AwsS3BucketDetails)
-> (ResourceDetails -> Maybe AwsS3BucketDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsS3BucketDetails)
     (Maybe AwsS3BucketDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsS3BucketDetails
awsS3Bucket :: Maybe AwsS3BucketDetails
$sel:awsS3Bucket:ResourceDetails' :: ResourceDetails -> Maybe AwsS3BucketDetails
awsS3Bucket} -> Maybe AwsS3BucketDetails
awsS3Bucket) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsS3BucketDetails
a -> ResourceDetails
s {$sel:awsS3Bucket:ResourceDetails' :: Maybe AwsS3BucketDetails
awsS3Bucket = Maybe AwsS3BucketDetails
a} :: ResourceDetails)

-- | Details about an IAM access key related to a finding.
resourceDetails_awsIamAccessKey :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsIamAccessKeyDetails)
resourceDetails_awsIamAccessKey :: (Maybe AwsIamAccessKeyDetails -> f (Maybe AwsIamAccessKeyDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsIamAccessKey = (ResourceDetails -> Maybe AwsIamAccessKeyDetails)
-> (ResourceDetails
    -> Maybe AwsIamAccessKeyDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsIamAccessKeyDetails)
     (Maybe AwsIamAccessKeyDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsIamAccessKeyDetails
awsIamAccessKey :: Maybe AwsIamAccessKeyDetails
$sel:awsIamAccessKey:ResourceDetails' :: ResourceDetails -> Maybe AwsIamAccessKeyDetails
awsIamAccessKey} -> Maybe AwsIamAccessKeyDetails
awsIamAccessKey) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsIamAccessKeyDetails
a -> ResourceDetails
s {$sel:awsIamAccessKey:ResourceDetails' :: Maybe AwsIamAccessKeyDetails
awsIamAccessKey = Maybe AwsIamAccessKeyDetails
a} :: ResourceDetails)

-- | Details for an CodeBuild project.
resourceDetails_awsCodeBuildProject :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsCodeBuildProjectDetails)
resourceDetails_awsCodeBuildProject :: (Maybe AwsCodeBuildProjectDetails
 -> f (Maybe AwsCodeBuildProjectDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsCodeBuildProject = (ResourceDetails -> Maybe AwsCodeBuildProjectDetails)
-> (ResourceDetails
    -> Maybe AwsCodeBuildProjectDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsCodeBuildProjectDetails)
     (Maybe AwsCodeBuildProjectDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsCodeBuildProjectDetails
awsCodeBuildProject :: Maybe AwsCodeBuildProjectDetails
$sel:awsCodeBuildProject:ResourceDetails' :: ResourceDetails -> Maybe AwsCodeBuildProjectDetails
awsCodeBuildProject} -> Maybe AwsCodeBuildProjectDetails
awsCodeBuildProject) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsCodeBuildProjectDetails
a -> ResourceDetails
s {$sel:awsCodeBuildProject:ResourceDetails' :: Maybe AwsCodeBuildProjectDetails
awsCodeBuildProject = Maybe AwsCodeBuildProjectDetails
a} :: ResourceDetails)

-- | Provides information about a version 1 Amazon API Gateway stage.
resourceDetails_awsApiGatewayStage :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsApiGatewayStageDetails)
resourceDetails_awsApiGatewayStage :: (Maybe AwsApiGatewayStageDetails
 -> f (Maybe AwsApiGatewayStageDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsApiGatewayStage = (ResourceDetails -> Maybe AwsApiGatewayStageDetails)
-> (ResourceDetails
    -> Maybe AwsApiGatewayStageDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsApiGatewayStageDetails)
     (Maybe AwsApiGatewayStageDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsApiGatewayStageDetails
awsApiGatewayStage :: Maybe AwsApiGatewayStageDetails
$sel:awsApiGatewayStage:ResourceDetails' :: ResourceDetails -> Maybe AwsApiGatewayStageDetails
awsApiGatewayStage} -> Maybe AwsApiGatewayStageDetails
awsApiGatewayStage) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsApiGatewayStageDetails
a -> ResourceDetails
s {$sel:awsApiGatewayStage:ResourceDetails' :: Maybe AwsApiGatewayStageDetails
awsApiGatewayStage = Maybe AwsApiGatewayStageDetails
a} :: ResourceDetails)

-- | Details about an EC2 network access control list (ACL).
resourceDetails_awsEc2NetworkAcl :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsEc2NetworkAclDetails)
resourceDetails_awsEc2NetworkAcl :: (Maybe AwsEc2NetworkAclDetails
 -> f (Maybe AwsEc2NetworkAclDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsEc2NetworkAcl = (ResourceDetails -> Maybe AwsEc2NetworkAclDetails)
-> (ResourceDetails
    -> Maybe AwsEc2NetworkAclDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsEc2NetworkAclDetails)
     (Maybe AwsEc2NetworkAclDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsEc2NetworkAclDetails
awsEc2NetworkAcl :: Maybe AwsEc2NetworkAclDetails
$sel:awsEc2NetworkAcl:ResourceDetails' :: ResourceDetails -> Maybe AwsEc2NetworkAclDetails
awsEc2NetworkAcl} -> Maybe AwsEc2NetworkAclDetails
awsEc2NetworkAcl) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsEc2NetworkAclDetails
a -> ResourceDetails
s {$sel:awsEc2NetworkAcl:ResourceDetails' :: Maybe AwsEc2NetworkAclDetails
awsEc2NetworkAcl = Maybe AwsEc2NetworkAclDetails
a} :: ResourceDetails)

-- | Provides information about a version 2 API in Amazon API Gateway.
resourceDetails_awsApiGatewayV2Api :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsApiGatewayV2ApiDetails)
resourceDetails_awsApiGatewayV2Api :: (Maybe AwsApiGatewayV2ApiDetails
 -> f (Maybe AwsApiGatewayV2ApiDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsApiGatewayV2Api = (ResourceDetails -> Maybe AwsApiGatewayV2ApiDetails)
-> (ResourceDetails
    -> Maybe AwsApiGatewayV2ApiDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsApiGatewayV2ApiDetails)
     (Maybe AwsApiGatewayV2ApiDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsApiGatewayV2ApiDetails
awsApiGatewayV2Api :: Maybe AwsApiGatewayV2ApiDetails
$sel:awsApiGatewayV2Api:ResourceDetails' :: ResourceDetails -> Maybe AwsApiGatewayV2ApiDetails
awsApiGatewayV2Api} -> Maybe AwsApiGatewayV2ApiDetails
awsApiGatewayV2Api) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsApiGatewayV2ApiDetails
a -> ResourceDetails
s {$sel:awsApiGatewayV2Api:ResourceDetails' :: Maybe AwsApiGatewayV2ApiDetails
awsApiGatewayV2Api = Maybe AwsApiGatewayV2ApiDetails
a} :: ResourceDetails)

-- | Details about an Elastic Beanstalk environment.
resourceDetails_awsElasticBeanstalkEnvironment :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsElasticBeanstalkEnvironmentDetails)
resourceDetails_awsElasticBeanstalkEnvironment :: (Maybe AwsElasticBeanstalkEnvironmentDetails
 -> f (Maybe AwsElasticBeanstalkEnvironmentDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsElasticBeanstalkEnvironment = (ResourceDetails -> Maybe AwsElasticBeanstalkEnvironmentDetails)
-> (ResourceDetails
    -> Maybe AwsElasticBeanstalkEnvironmentDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsElasticBeanstalkEnvironmentDetails)
     (Maybe AwsElasticBeanstalkEnvironmentDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsElasticBeanstalkEnvironmentDetails
awsElasticBeanstalkEnvironment :: Maybe AwsElasticBeanstalkEnvironmentDetails
$sel:awsElasticBeanstalkEnvironment:ResourceDetails' :: ResourceDetails -> Maybe AwsElasticBeanstalkEnvironmentDetails
awsElasticBeanstalkEnvironment} -> Maybe AwsElasticBeanstalkEnvironmentDetails
awsElasticBeanstalkEnvironment) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsElasticBeanstalkEnvironmentDetails
a -> ResourceDetails
s {$sel:awsElasticBeanstalkEnvironment:ResourceDetails' :: Maybe AwsElasticBeanstalkEnvironmentDetails
awsElasticBeanstalkEnvironment = Maybe AwsElasticBeanstalkEnvironmentDetails
a} :: ResourceDetails)

-- | Details for an EC2 VPC.
resourceDetails_awsEc2Vpc :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsEc2VpcDetails)
resourceDetails_awsEc2Vpc :: (Maybe AwsEc2VpcDetails -> f (Maybe AwsEc2VpcDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsEc2Vpc = (ResourceDetails -> Maybe AwsEc2VpcDetails)
-> (ResourceDetails -> Maybe AwsEc2VpcDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsEc2VpcDetails)
     (Maybe AwsEc2VpcDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsEc2VpcDetails
awsEc2Vpc :: Maybe AwsEc2VpcDetails
$sel:awsEc2Vpc:ResourceDetails' :: ResourceDetails -> Maybe AwsEc2VpcDetails
awsEc2Vpc} -> Maybe AwsEc2VpcDetails
awsEc2Vpc) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsEc2VpcDetails
a -> ResourceDetails
s {$sel:awsEc2Vpc:ResourceDetails' :: Maybe AwsEc2VpcDetails
awsEc2Vpc = Maybe AwsEc2VpcDetails
a} :: ResourceDetails)

-- | Contains details about an Amazon Redshift cluster.
resourceDetails_awsRedshiftCluster :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsRedshiftClusterDetails)
resourceDetails_awsRedshiftCluster :: (Maybe AwsRedshiftClusterDetails
 -> f (Maybe AwsRedshiftClusterDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsRedshiftCluster = (ResourceDetails -> Maybe AwsRedshiftClusterDetails)
-> (ResourceDetails
    -> Maybe AwsRedshiftClusterDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsRedshiftClusterDetails)
     (Maybe AwsRedshiftClusterDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsRedshiftClusterDetails
awsRedshiftCluster :: Maybe AwsRedshiftClusterDetails
$sel:awsRedshiftCluster:ResourceDetails' :: ResourceDetails -> Maybe AwsRedshiftClusterDetails
awsRedshiftCluster} -> Maybe AwsRedshiftClusterDetails
awsRedshiftCluster) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsRedshiftClusterDetails
a -> ResourceDetails
s {$sel:awsRedshiftCluster:ResourceDetails' :: Maybe AwsRedshiftClusterDetails
awsRedshiftCluster = Maybe AwsRedshiftClusterDetails
a} :: ResourceDetails)

-- | Details about an Amazon RDS database instance.
resourceDetails_awsRdsDbInstance :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsRdsDbInstanceDetails)
resourceDetails_awsRdsDbInstance :: (Maybe AwsRdsDbInstanceDetails
 -> f (Maybe AwsRdsDbInstanceDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsRdsDbInstance = (ResourceDetails -> Maybe AwsRdsDbInstanceDetails)
-> (ResourceDetails
    -> Maybe AwsRdsDbInstanceDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsRdsDbInstanceDetails)
     (Maybe AwsRdsDbInstanceDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsRdsDbInstanceDetails
awsRdsDbInstance :: Maybe AwsRdsDbInstanceDetails
$sel:awsRdsDbInstance:ResourceDetails' :: ResourceDetails -> Maybe AwsRdsDbInstanceDetails
awsRdsDbInstance} -> Maybe AwsRdsDbInstanceDetails
awsRdsDbInstance) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsRdsDbInstanceDetails
a -> ResourceDetails
s {$sel:awsRdsDbInstance:ResourceDetails' :: Maybe AwsRdsDbInstanceDetails
awsRdsDbInstance = Maybe AwsRdsDbInstanceDetails
a} :: ResourceDetails)

-- | Details about an RDS event notification subscription.
resourceDetails_awsRdsEventSubscription :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsRdsEventSubscriptionDetails)
resourceDetails_awsRdsEventSubscription :: (Maybe AwsRdsEventSubscriptionDetails
 -> f (Maybe AwsRdsEventSubscriptionDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsRdsEventSubscription = (ResourceDetails -> Maybe AwsRdsEventSubscriptionDetails)
-> (ResourceDetails
    -> Maybe AwsRdsEventSubscriptionDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsRdsEventSubscriptionDetails)
     (Maybe AwsRdsEventSubscriptionDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsRdsEventSubscriptionDetails
awsRdsEventSubscription :: Maybe AwsRdsEventSubscriptionDetails
$sel:awsRdsEventSubscription:ResourceDetails' :: ResourceDetails -> Maybe AwsRdsEventSubscriptionDetails
awsRdsEventSubscription} -> Maybe AwsRdsEventSubscriptionDetails
awsRdsEventSubscription) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsRdsEventSubscriptionDetails
a -> ResourceDetails
s {$sel:awsRdsEventSubscription:ResourceDetails' :: Maybe AwsRdsEventSubscriptionDetails
awsRdsEventSubscription = Maybe AwsRdsEventSubscriptionDetails
a} :: ResourceDetails)

-- | Details about a container resource related to a finding.
resourceDetails_container :: Lens.Lens' ResourceDetails (Prelude.Maybe ContainerDetails)
resourceDetails_container :: (Maybe ContainerDetails -> f (Maybe ContainerDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_container = (ResourceDetails -> Maybe ContainerDetails)
-> (ResourceDetails -> Maybe ContainerDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe ContainerDetails)
     (Maybe ContainerDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe ContainerDetails
container :: Maybe ContainerDetails
$sel:container:ResourceDetails' :: ResourceDetails -> Maybe ContainerDetails
container} -> Maybe ContainerDetails
container) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe ContainerDetails
a -> ResourceDetails
s {$sel:container:ResourceDetails' :: Maybe ContainerDetails
container = Maybe ContainerDetails
a} :: ResourceDetails)

-- | Contains details about an IAM group.
resourceDetails_awsIamGroup :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsIamGroupDetails)
resourceDetails_awsIamGroup :: (Maybe AwsIamGroupDetails -> f (Maybe AwsIamGroupDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsIamGroup = (ResourceDetails -> Maybe AwsIamGroupDetails)
-> (ResourceDetails -> Maybe AwsIamGroupDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsIamGroupDetails)
     (Maybe AwsIamGroupDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsIamGroupDetails
awsIamGroup :: Maybe AwsIamGroupDetails
$sel:awsIamGroup:ResourceDetails' :: ResourceDetails -> Maybe AwsIamGroupDetails
awsIamGroup} -> Maybe AwsIamGroupDetails
awsIamGroup) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsIamGroupDetails
a -> ResourceDetails
s {$sel:awsIamGroup:ResourceDetails' :: Maybe AwsIamGroupDetails
awsIamGroup = Maybe AwsIamGroupDetails
a} :: ResourceDetails)

-- | Information about the encryption configuration for X-Ray.
resourceDetails_awsXrayEncryptionConfig :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsXrayEncryptionConfigDetails)
resourceDetails_awsXrayEncryptionConfig :: (Maybe AwsXrayEncryptionConfigDetails
 -> f (Maybe AwsXrayEncryptionConfigDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsXrayEncryptionConfig = (ResourceDetails -> Maybe AwsXrayEncryptionConfigDetails)
-> (ResourceDetails
    -> Maybe AwsXrayEncryptionConfigDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsXrayEncryptionConfigDetails)
     (Maybe AwsXrayEncryptionConfigDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsXrayEncryptionConfigDetails
awsXrayEncryptionConfig :: Maybe AwsXrayEncryptionConfigDetails
$sel:awsXrayEncryptionConfig:ResourceDetails' :: ResourceDetails -> Maybe AwsXrayEncryptionConfigDetails
awsXrayEncryptionConfig} -> Maybe AwsXrayEncryptionConfigDetails
awsXrayEncryptionConfig) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsXrayEncryptionConfigDetails
a -> ResourceDetails
s {$sel:awsXrayEncryptionConfig:ResourceDetails' :: Maybe AwsXrayEncryptionConfigDetails
awsXrayEncryptionConfig = Maybe AwsXrayEncryptionConfigDetails
a} :: ResourceDetails)

-- | Details about a subnet in Amazon EC2.
resourceDetails_awsEc2Subnet :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsEc2SubnetDetails)
resourceDetails_awsEc2Subnet :: (Maybe AwsEc2SubnetDetails -> f (Maybe AwsEc2SubnetDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsEc2Subnet = (ResourceDetails -> Maybe AwsEc2SubnetDetails)
-> (ResourceDetails
    -> Maybe AwsEc2SubnetDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsEc2SubnetDetails)
     (Maybe AwsEc2SubnetDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsEc2SubnetDetails
awsEc2Subnet :: Maybe AwsEc2SubnetDetails
$sel:awsEc2Subnet:ResourceDetails' :: ResourceDetails -> Maybe AwsEc2SubnetDetails
awsEc2Subnet} -> Maybe AwsEc2SubnetDetails
awsEc2Subnet) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsEc2SubnetDetails
a -> ResourceDetails
s {$sel:awsEc2Subnet:ResourceDetails' :: Maybe AwsEc2SubnetDetails
awsEc2Subnet = Maybe AwsEc2SubnetDetails
a} :: ResourceDetails)

-- | Details about an ECS cluster.
resourceDetails_awsEcsCluster :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsEcsClusterDetails)
resourceDetails_awsEcsCluster :: (Maybe AwsEcsClusterDetails -> f (Maybe AwsEcsClusterDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsEcsCluster = (ResourceDetails -> Maybe AwsEcsClusterDetails)
-> (ResourceDetails
    -> Maybe AwsEcsClusterDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsEcsClusterDetails)
     (Maybe AwsEcsClusterDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsEcsClusterDetails
awsEcsCluster :: Maybe AwsEcsClusterDetails
$sel:awsEcsCluster:ResourceDetails' :: ResourceDetails -> Maybe AwsEcsClusterDetails
awsEcsCluster} -> Maybe AwsEcsClusterDetails
awsEcsCluster) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsEcsClusterDetails
a -> ResourceDetails
s {$sel:awsEcsCluster:ResourceDetails' :: Maybe AwsEcsClusterDetails
awsEcsCluster = Maybe AwsEcsClusterDetails
a} :: ResourceDetails)

-- | Details about the service configuration for a VPC endpoint service.
resourceDetails_awsEc2VpcEndpointService :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsEc2VpcEndpointServiceDetails)
resourceDetails_awsEc2VpcEndpointService :: (Maybe AwsEc2VpcEndpointServiceDetails
 -> f (Maybe AwsEc2VpcEndpointServiceDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsEc2VpcEndpointService = (ResourceDetails -> Maybe AwsEc2VpcEndpointServiceDetails)
-> (ResourceDetails
    -> Maybe AwsEc2VpcEndpointServiceDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsEc2VpcEndpointServiceDetails)
     (Maybe AwsEc2VpcEndpointServiceDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsEc2VpcEndpointServiceDetails
awsEc2VpcEndpointService :: Maybe AwsEc2VpcEndpointServiceDetails
$sel:awsEc2VpcEndpointService:ResourceDetails' :: ResourceDetails -> Maybe AwsEc2VpcEndpointServiceDetails
awsEc2VpcEndpointService} -> Maybe AwsEc2VpcEndpointServiceDetails
awsEc2VpcEndpointService) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsEc2VpcEndpointServiceDetails
a -> ResourceDetails
s {$sel:awsEc2VpcEndpointService:ResourceDetails' :: Maybe AwsEc2VpcEndpointServiceDetails
awsEc2VpcEndpointService = Maybe AwsEc2VpcEndpointServiceDetails
a} :: ResourceDetails)

-- | Details for an autoscaling group.
resourceDetails_awsAutoScalingAutoScalingGroup :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsAutoScalingAutoScalingGroupDetails)
resourceDetails_awsAutoScalingAutoScalingGroup :: (Maybe AwsAutoScalingAutoScalingGroupDetails
 -> f (Maybe AwsAutoScalingAutoScalingGroupDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsAutoScalingAutoScalingGroup = (ResourceDetails -> Maybe AwsAutoScalingAutoScalingGroupDetails)
-> (ResourceDetails
    -> Maybe AwsAutoScalingAutoScalingGroupDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsAutoScalingAutoScalingGroupDetails)
     (Maybe AwsAutoScalingAutoScalingGroupDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsAutoScalingAutoScalingGroupDetails
awsAutoScalingAutoScalingGroup :: Maybe AwsAutoScalingAutoScalingGroupDetails
$sel:awsAutoScalingAutoScalingGroup:ResourceDetails' :: ResourceDetails -> Maybe AwsAutoScalingAutoScalingGroupDetails
awsAutoScalingAutoScalingGroup} -> Maybe AwsAutoScalingAutoScalingGroupDetails
awsAutoScalingAutoScalingGroup) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsAutoScalingAutoScalingGroupDetails
a -> ResourceDetails
s {$sel:awsAutoScalingAutoScalingGroup:ResourceDetails' :: Maybe AwsAutoScalingAutoScalingGroupDetails
awsAutoScalingAutoScalingGroup = Maybe AwsAutoScalingAutoScalingGroupDetails
a} :: ResourceDetails)

-- | Details about an SNS topic.
resourceDetails_awsSnsTopic :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsSnsTopicDetails)
resourceDetails_awsSnsTopic :: (Maybe AwsSnsTopicDetails -> f (Maybe AwsSnsTopicDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsSnsTopic = (ResourceDetails -> Maybe AwsSnsTopicDetails)
-> (ResourceDetails -> Maybe AwsSnsTopicDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsSnsTopicDetails)
     (Maybe AwsSnsTopicDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsSnsTopicDetails
awsSnsTopic :: Maybe AwsSnsTopicDetails
$sel:awsSnsTopic:ResourceDetails' :: ResourceDetails -> Maybe AwsSnsTopicDetails
awsSnsTopic} -> Maybe AwsSnsTopicDetails
awsSnsTopic) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsSnsTopicDetails
a -> ResourceDetails
s {$sel:awsSnsTopic:ResourceDetails' :: Maybe AwsSnsTopicDetails
awsSnsTopic = Maybe AwsSnsTopicDetails
a} :: ResourceDetails)

-- | Details for an EC2 network interface.
resourceDetails_awsEc2NetworkInterface :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsEc2NetworkInterfaceDetails)
resourceDetails_awsEc2NetworkInterface :: (Maybe AwsEc2NetworkInterfaceDetails
 -> f (Maybe AwsEc2NetworkInterfaceDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsEc2NetworkInterface = (ResourceDetails -> Maybe AwsEc2NetworkInterfaceDetails)
-> (ResourceDetails
    -> Maybe AwsEc2NetworkInterfaceDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsEc2NetworkInterfaceDetails)
     (Maybe AwsEc2NetworkInterfaceDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsEc2NetworkInterfaceDetails
awsEc2NetworkInterface :: Maybe AwsEc2NetworkInterfaceDetails
$sel:awsEc2NetworkInterface:ResourceDetails' :: ResourceDetails -> Maybe AwsEc2NetworkInterfaceDetails
awsEc2NetworkInterface} -> Maybe AwsEc2NetworkInterfaceDetails
awsEc2NetworkInterface) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsEc2NetworkInterfaceDetails
a -> ResourceDetails
s {$sel:awsEc2NetworkInterface:ResourceDetails' :: Maybe AwsEc2NetworkInterfaceDetails
awsEc2NetworkInterface = Maybe AwsEc2NetworkInterfaceDetails
a} :: ResourceDetails)

-- | Details about a service within an ECS cluster.
resourceDetails_awsEcsService :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsEcsServiceDetails)
resourceDetails_awsEcsService :: (Maybe AwsEcsServiceDetails -> f (Maybe AwsEcsServiceDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsEcsService = (ResourceDetails -> Maybe AwsEcsServiceDetails)
-> (ResourceDetails
    -> Maybe AwsEcsServiceDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsEcsServiceDetails)
     (Maybe AwsEcsServiceDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsEcsServiceDetails
awsEcsService :: Maybe AwsEcsServiceDetails
$sel:awsEcsService:ResourceDetails' :: ResourceDetails -> Maybe AwsEcsServiceDetails
awsEcsService} -> Maybe AwsEcsServiceDetails
awsEcsService) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsEcsServiceDetails
a -> ResourceDetails
s {$sel:awsEcsService:ResourceDetails' :: Maybe AwsEcsServiceDetails
awsEcsService = Maybe AwsEcsServiceDetails
a} :: ResourceDetails)

-- | Details about an Elastic IP address.
resourceDetails_awsEc2Eip :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsEc2EipDetails)
resourceDetails_awsEc2Eip :: (Maybe AwsEc2EipDetails -> f (Maybe AwsEc2EipDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsEc2Eip = (ResourceDetails -> Maybe AwsEc2EipDetails)
-> (ResourceDetails -> Maybe AwsEc2EipDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsEc2EipDetails)
     (Maybe AwsEc2EipDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsEc2EipDetails
awsEc2Eip :: Maybe AwsEc2EipDetails
$sel:awsEc2Eip:ResourceDetails' :: ResourceDetails -> Maybe AwsEc2EipDetails
awsEc2Eip} -> Maybe AwsEc2EipDetails
awsEc2Eip) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsEc2EipDetails
a -> ResourceDetails
s {$sel:awsEc2Eip:ResourceDetails' :: Maybe AwsEc2EipDetails
awsEc2Eip = Maybe AwsEc2EipDetails
a} :: ResourceDetails)

-- | Provides information about a version 2 stage for Amazon API Gateway.
resourceDetails_awsApiGatewayV2Stage :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsApiGatewayV2StageDetails)
resourceDetails_awsApiGatewayV2Stage :: (Maybe AwsApiGatewayV2StageDetails
 -> f (Maybe AwsApiGatewayV2StageDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsApiGatewayV2Stage = (ResourceDetails -> Maybe AwsApiGatewayV2StageDetails)
-> (ResourceDetails
    -> Maybe AwsApiGatewayV2StageDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsApiGatewayV2StageDetails)
     (Maybe AwsApiGatewayV2StageDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsApiGatewayV2StageDetails
awsApiGatewayV2Stage :: Maybe AwsApiGatewayV2StageDetails
$sel:awsApiGatewayV2Stage:ResourceDetails' :: ResourceDetails -> Maybe AwsApiGatewayV2StageDetails
awsApiGatewayV2Stage} -> Maybe AwsApiGatewayV2StageDetails
awsApiGatewayV2Stage) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsApiGatewayV2StageDetails
a -> ResourceDetails
s {$sel:awsApiGatewayV2Stage:ResourceDetails' :: Maybe AwsApiGatewayV2StageDetails
awsApiGatewayV2Stage = Maybe AwsApiGatewayV2StageDetails
a} :: ResourceDetails)

-- | Details about a Lambda function.
resourceDetails_awsLambdaFunction :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsLambdaFunctionDetails)
resourceDetails_awsLambdaFunction :: (Maybe AwsLambdaFunctionDetails
 -> f (Maybe AwsLambdaFunctionDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsLambdaFunction = (ResourceDetails -> Maybe AwsLambdaFunctionDetails)
-> (ResourceDetails
    -> Maybe AwsLambdaFunctionDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsLambdaFunctionDetails)
     (Maybe AwsLambdaFunctionDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsLambdaFunctionDetails
awsLambdaFunction :: Maybe AwsLambdaFunctionDetails
$sel:awsLambdaFunction:ResourceDetails' :: ResourceDetails -> Maybe AwsLambdaFunctionDetails
awsLambdaFunction} -> Maybe AwsLambdaFunctionDetails
awsLambdaFunction) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsLambdaFunctionDetails
a -> ResourceDetails
s {$sel:awsLambdaFunction:ResourceDetails' :: Maybe AwsLambdaFunctionDetails
awsLambdaFunction = Maybe AwsLambdaFunctionDetails
a} :: ResourceDetails)

-- | Details about a load balancer.
resourceDetails_awsElbv2LoadBalancer :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsElbv2LoadBalancerDetails)
resourceDetails_awsElbv2LoadBalancer :: (Maybe AwsElbv2LoadBalancerDetails
 -> f (Maybe AwsElbv2LoadBalancerDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsElbv2LoadBalancer = (ResourceDetails -> Maybe AwsElbv2LoadBalancerDetails)
-> (ResourceDetails
    -> Maybe AwsElbv2LoadBalancerDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsElbv2LoadBalancerDetails)
     (Maybe AwsElbv2LoadBalancerDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsElbv2LoadBalancerDetails
awsElbv2LoadBalancer :: Maybe AwsElbv2LoadBalancerDetails
$sel:awsElbv2LoadBalancer:ResourceDetails' :: ResourceDetails -> Maybe AwsElbv2LoadBalancerDetails
awsElbv2LoadBalancer} -> Maybe AwsElbv2LoadBalancerDetails
awsElbv2LoadBalancer) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsElbv2LoadBalancerDetails
a -> ResourceDetails
s {$sel:awsElbv2LoadBalancer:ResourceDetails' :: Maybe AwsElbv2LoadBalancerDetails
awsElbv2LoadBalancer = Maybe AwsElbv2LoadBalancerDetails
a} :: ResourceDetails)

-- | Details about a rate-based rule for global resources.
resourceDetails_awsWafRateBasedRule :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsWafRateBasedRuleDetails)
resourceDetails_awsWafRateBasedRule :: (Maybe AwsWafRateBasedRuleDetails
 -> f (Maybe AwsWafRateBasedRuleDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsWafRateBasedRule = (ResourceDetails -> Maybe AwsWafRateBasedRuleDetails)
-> (ResourceDetails
    -> Maybe AwsWafRateBasedRuleDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsWafRateBasedRuleDetails)
     (Maybe AwsWafRateBasedRuleDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsWafRateBasedRuleDetails
awsWafRateBasedRule :: Maybe AwsWafRateBasedRuleDetails
$sel:awsWafRateBasedRule:ResourceDetails' :: ResourceDetails -> Maybe AwsWafRateBasedRuleDetails
awsWafRateBasedRule} -> Maybe AwsWafRateBasedRuleDetails
awsWafRateBasedRule) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsWafRateBasedRuleDetails
a -> ResourceDetails
s {$sel:awsWafRateBasedRule:ResourceDetails' :: Maybe AwsWafRateBasedRuleDetails
awsWafRateBasedRule = Maybe AwsWafRateBasedRuleDetails
a} :: ResourceDetails)

-- | Information about an Amazon Elastic Container Registry repository.
resourceDetails_awsEcrRepository :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsEcrRepositoryDetails)
resourceDetails_awsEcrRepository :: (Maybe AwsEcrRepositoryDetails
 -> f (Maybe AwsEcrRepositoryDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsEcrRepository = (ResourceDetails -> Maybe AwsEcrRepositoryDetails)
-> (ResourceDetails
    -> Maybe AwsEcrRepositoryDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsEcrRepositoryDetails)
     (Maybe AwsEcrRepositoryDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsEcrRepositoryDetails
awsEcrRepository :: Maybe AwsEcrRepositoryDetails
$sel:awsEcrRepository:ResourceDetails' :: ResourceDetails -> Maybe AwsEcrRepositoryDetails
awsEcrRepository} -> Maybe AwsEcrRepositoryDetails
awsEcrRepository) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsEcrRepositoryDetails
a -> ResourceDetails
s {$sel:awsEcrRepository:ResourceDetails' :: Maybe AwsEcrRepositoryDetails
awsEcrRepository = Maybe AwsEcrRepositoryDetails
a} :: ResourceDetails)

-- | Details for an WAF WebACL.
resourceDetails_awsWafWebAcl :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsWafWebAclDetails)
resourceDetails_awsWafWebAcl :: (Maybe AwsWafWebAclDetails -> f (Maybe AwsWafWebAclDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsWafWebAcl = (ResourceDetails -> Maybe AwsWafWebAclDetails)
-> (ResourceDetails
    -> Maybe AwsWafWebAclDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsWafWebAclDetails)
     (Maybe AwsWafWebAclDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsWafWebAclDetails
awsWafWebAcl :: Maybe AwsWafWebAclDetails
$sel:awsWafWebAcl:ResourceDetails' :: ResourceDetails -> Maybe AwsWafWebAclDetails
awsWafWebAcl} -> Maybe AwsWafWebAclDetails
awsWafWebAcl) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsWafWebAclDetails
a -> ResourceDetails
s {$sel:awsWafWebAcl:ResourceDetails' :: Maybe AwsWafWebAclDetails
awsWafWebAcl = Maybe AwsWafWebAclDetails
a} :: ResourceDetails)

-- | Provides information about the state of a patch on an instance based on
-- the patch baseline that was used to patch the instance.
resourceDetails_awsSsmPatchCompliance :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsSsmPatchComplianceDetails)
resourceDetails_awsSsmPatchCompliance :: (Maybe AwsSsmPatchComplianceDetails
 -> f (Maybe AwsSsmPatchComplianceDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsSsmPatchCompliance = (ResourceDetails -> Maybe AwsSsmPatchComplianceDetails)
-> (ResourceDetails
    -> Maybe AwsSsmPatchComplianceDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsSsmPatchComplianceDetails)
     (Maybe AwsSsmPatchComplianceDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsSsmPatchComplianceDetails
awsSsmPatchCompliance :: Maybe AwsSsmPatchComplianceDetails
$sel:awsSsmPatchCompliance:ResourceDetails' :: ResourceDetails -> Maybe AwsSsmPatchComplianceDetails
awsSsmPatchCompliance} -> Maybe AwsSsmPatchComplianceDetails
awsSsmPatchCompliance) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsSsmPatchComplianceDetails
a -> ResourceDetails
s {$sel:awsSsmPatchCompliance:ResourceDetails' :: Maybe AwsSsmPatchComplianceDetails
awsSsmPatchCompliance = Maybe AwsSsmPatchComplianceDetails
a} :: ResourceDetails)

-- | Details for an Elasticsearch domain.
resourceDetails_awsElasticsearchDomain :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsElasticsearchDomainDetails)
resourceDetails_awsElasticsearchDomain :: (Maybe AwsElasticsearchDomainDetails
 -> f (Maybe AwsElasticsearchDomainDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsElasticsearchDomain = (ResourceDetails -> Maybe AwsElasticsearchDomainDetails)
-> (ResourceDetails
    -> Maybe AwsElasticsearchDomainDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsElasticsearchDomainDetails)
     (Maybe AwsElasticsearchDomainDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsElasticsearchDomainDetails
awsElasticsearchDomain :: Maybe AwsElasticsearchDomainDetails
$sel:awsElasticsearchDomain:ResourceDetails' :: ResourceDetails -> Maybe AwsElasticsearchDomainDetails
awsElasticsearchDomain} -> Maybe AwsElasticsearchDomainDetails
awsElasticsearchDomain) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsElasticsearchDomainDetails
a -> ResourceDetails
s {$sel:awsElasticsearchDomain:ResourceDetails' :: Maybe AwsElasticsearchDomainDetails
awsElasticsearchDomain = Maybe AwsElasticsearchDomainDetails
a} :: ResourceDetails)

-- | Provides details about an Certificate Manager certificate.
resourceDetails_awsCertificateManagerCertificate :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsCertificateManagerCertificateDetails)
resourceDetails_awsCertificateManagerCertificate :: (Maybe AwsCertificateManagerCertificateDetails
 -> f (Maybe AwsCertificateManagerCertificateDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsCertificateManagerCertificate = (ResourceDetails -> Maybe AwsCertificateManagerCertificateDetails)
-> (ResourceDetails
    -> Maybe AwsCertificateManagerCertificateDetails
    -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsCertificateManagerCertificateDetails)
     (Maybe AwsCertificateManagerCertificateDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificate :: Maybe AwsCertificateManagerCertificateDetails
$sel:awsCertificateManagerCertificate:ResourceDetails' :: ResourceDetails -> Maybe AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificate} -> Maybe AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificate) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsCertificateManagerCertificateDetails
a -> ResourceDetails
s {$sel:awsCertificateManagerCertificate:ResourceDetails' :: Maybe AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificate = Maybe AwsCertificateManagerCertificateDetails
a} :: ResourceDetails)

-- | Information about an Amazon ECR image.
resourceDetails_awsEcrContainerImage :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsEcrContainerImageDetails)
resourceDetails_awsEcrContainerImage :: (Maybe AwsEcrContainerImageDetails
 -> f (Maybe AwsEcrContainerImageDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsEcrContainerImage = (ResourceDetails -> Maybe AwsEcrContainerImageDetails)
-> (ResourceDetails
    -> Maybe AwsEcrContainerImageDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsEcrContainerImageDetails)
     (Maybe AwsEcrContainerImageDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsEcrContainerImageDetails
awsEcrContainerImage :: Maybe AwsEcrContainerImageDetails
$sel:awsEcrContainerImage:ResourceDetails' :: ResourceDetails -> Maybe AwsEcrContainerImageDetails
awsEcrContainerImage} -> Maybe AwsEcrContainerImageDetails
awsEcrContainerImage) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsEcrContainerImageDetails
a -> ResourceDetails
s {$sel:awsEcrContainerImage:ResourceDetails' :: Maybe AwsEcrContainerImageDetails
awsEcrContainerImage = Maybe AwsEcrContainerImageDetails
a} :: ResourceDetails)

-- | Details about an IAM user.
resourceDetails_awsIamUser :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsIamUserDetails)
resourceDetails_awsIamUser :: (Maybe AwsIamUserDetails -> f (Maybe AwsIamUserDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsIamUser = (ResourceDetails -> Maybe AwsIamUserDetails)
-> (ResourceDetails -> Maybe AwsIamUserDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsIamUserDetails)
     (Maybe AwsIamUserDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsIamUserDetails
awsIamUser :: Maybe AwsIamUserDetails
$sel:awsIamUser:ResourceDetails' :: ResourceDetails -> Maybe AwsIamUserDetails
awsIamUser} -> Maybe AwsIamUserDetails
awsIamUser) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsIamUserDetails
a -> ResourceDetails
s {$sel:awsIamUser:ResourceDetails' :: Maybe AwsIamUserDetails
awsIamUser = Maybe AwsIamUserDetails
a} :: ResourceDetails)

-- | Details for an EC2 volume.
resourceDetails_awsEc2Volume :: Lens.Lens' ResourceDetails (Prelude.Maybe AwsEc2VolumeDetails)
resourceDetails_awsEc2Volume :: (Maybe AwsEc2VolumeDetails -> f (Maybe AwsEc2VolumeDetails))
-> ResourceDetails -> f ResourceDetails
resourceDetails_awsEc2Volume = (ResourceDetails -> Maybe AwsEc2VolumeDetails)
-> (ResourceDetails
    -> Maybe AwsEc2VolumeDetails -> ResourceDetails)
-> Lens
     ResourceDetails
     ResourceDetails
     (Maybe AwsEc2VolumeDetails)
     (Maybe AwsEc2VolumeDetails)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceDetails' {Maybe AwsEc2VolumeDetails
awsEc2Volume :: Maybe AwsEc2VolumeDetails
$sel:awsEc2Volume:ResourceDetails' :: ResourceDetails -> Maybe AwsEc2VolumeDetails
awsEc2Volume} -> Maybe AwsEc2VolumeDetails
awsEc2Volume) (\s :: ResourceDetails
s@ResourceDetails' {} Maybe AwsEc2VolumeDetails
a -> ResourceDetails
s {$sel:awsEc2Volume:ResourceDetails' :: Maybe AwsEc2VolumeDetails
awsEc2Volume = Maybe AwsEc2VolumeDetails
a} :: ResourceDetails)

instance Core.FromJSON ResourceDetails where
  parseJSON :: Value -> Parser ResourceDetails
parseJSON =
    String
-> (Object -> Parser ResourceDetails)
-> Value
-> Parser ResourceDetails
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"ResourceDetails"
      ( \Object
x ->
          Maybe AwsCloudTrailTrailDetails
-> Maybe AwsRdsDbClusterDetails
-> Maybe (HashMap Text Text)
-> Maybe AwsIamRoleDetails
-> Maybe AwsElbLoadBalancerDetails
-> Maybe AwsEc2VpnConnectionDetails
-> Maybe AwsCloudFrontDistributionDetails
-> Maybe AwsKmsKeyDetails
-> Maybe AwsEksClusterDetails
-> Maybe AwsAutoScalingLaunchConfigurationDetails
-> Maybe AwsOpenSearchServiceDomainDetails
-> Maybe AwsRdsDbSnapshotDetails
-> Maybe AwsWafRegionalRateBasedRuleDetails
-> Maybe AwsApiGatewayRestApiDetails
-> Maybe AwsSqsQueueDetails
-> Maybe AwsSecretsManagerSecretDetails
-> Maybe AwsDynamoDbTableDetails
-> Maybe AwsS3AccountPublicAccessBlockDetails
-> Maybe AwsRdsDbClusterSnapshotDetails
-> Maybe AwsEc2SecurityGroupDetails
-> Maybe AwsEc2InstanceDetails
-> Maybe AwsIamPolicyDetails
-> Maybe AwsS3ObjectDetails
-> Maybe AwsEcsTaskDefinitionDetails
-> Maybe AwsLambdaLayerVersionDetails
-> Maybe AwsS3BucketDetails
-> Maybe AwsIamAccessKeyDetails
-> Maybe AwsCodeBuildProjectDetails
-> Maybe AwsApiGatewayStageDetails
-> Maybe AwsEc2NetworkAclDetails
-> Maybe AwsApiGatewayV2ApiDetails
-> Maybe AwsElasticBeanstalkEnvironmentDetails
-> Maybe AwsEc2VpcDetails
-> Maybe AwsRedshiftClusterDetails
-> Maybe AwsRdsDbInstanceDetails
-> Maybe AwsRdsEventSubscriptionDetails
-> Maybe ContainerDetails
-> Maybe AwsIamGroupDetails
-> Maybe AwsXrayEncryptionConfigDetails
-> Maybe AwsEc2SubnetDetails
-> Maybe AwsEcsClusterDetails
-> Maybe AwsEc2VpcEndpointServiceDetails
-> Maybe AwsAutoScalingAutoScalingGroupDetails
-> Maybe AwsSnsTopicDetails
-> Maybe AwsEc2NetworkInterfaceDetails
-> Maybe AwsEcsServiceDetails
-> Maybe AwsEc2EipDetails
-> Maybe AwsApiGatewayV2StageDetails
-> Maybe AwsLambdaFunctionDetails
-> Maybe AwsElbv2LoadBalancerDetails
-> Maybe AwsWafRateBasedRuleDetails
-> Maybe AwsEcrRepositoryDetails
-> Maybe AwsWafWebAclDetails
-> Maybe AwsSsmPatchComplianceDetails
-> Maybe AwsElasticsearchDomainDetails
-> Maybe AwsCertificateManagerCertificateDetails
-> Maybe AwsEcrContainerImageDetails
-> Maybe AwsIamUserDetails
-> Maybe AwsEc2VolumeDetails
-> ResourceDetails
ResourceDetails'
            (Maybe AwsCloudTrailTrailDetails
 -> Maybe AwsRdsDbClusterDetails
 -> Maybe (HashMap Text Text)
 -> Maybe AwsIamRoleDetails
 -> Maybe AwsElbLoadBalancerDetails
 -> Maybe AwsEc2VpnConnectionDetails
 -> Maybe AwsCloudFrontDistributionDetails
 -> Maybe AwsKmsKeyDetails
 -> Maybe AwsEksClusterDetails
 -> Maybe AwsAutoScalingLaunchConfigurationDetails
 -> Maybe AwsOpenSearchServiceDomainDetails
 -> Maybe AwsRdsDbSnapshotDetails
 -> Maybe AwsWafRegionalRateBasedRuleDetails
 -> Maybe AwsApiGatewayRestApiDetails
 -> Maybe AwsSqsQueueDetails
 -> Maybe AwsSecretsManagerSecretDetails
 -> Maybe AwsDynamoDbTableDetails
 -> Maybe AwsS3AccountPublicAccessBlockDetails
 -> Maybe AwsRdsDbClusterSnapshotDetails
 -> Maybe AwsEc2SecurityGroupDetails
 -> Maybe AwsEc2InstanceDetails
 -> Maybe AwsIamPolicyDetails
 -> Maybe AwsS3ObjectDetails
 -> Maybe AwsEcsTaskDefinitionDetails
 -> Maybe AwsLambdaLayerVersionDetails
 -> Maybe AwsS3BucketDetails
 -> Maybe AwsIamAccessKeyDetails
 -> Maybe AwsCodeBuildProjectDetails
 -> Maybe AwsApiGatewayStageDetails
 -> Maybe AwsEc2NetworkAclDetails
 -> Maybe AwsApiGatewayV2ApiDetails
 -> Maybe AwsElasticBeanstalkEnvironmentDetails
 -> Maybe AwsEc2VpcDetails
 -> Maybe AwsRedshiftClusterDetails
 -> Maybe AwsRdsDbInstanceDetails
 -> Maybe AwsRdsEventSubscriptionDetails
 -> Maybe ContainerDetails
 -> Maybe AwsIamGroupDetails
 -> Maybe AwsXrayEncryptionConfigDetails
 -> Maybe AwsEc2SubnetDetails
 -> Maybe AwsEcsClusterDetails
 -> Maybe AwsEc2VpcEndpointServiceDetails
 -> Maybe AwsAutoScalingAutoScalingGroupDetails
 -> Maybe AwsSnsTopicDetails
 -> Maybe AwsEc2NetworkInterfaceDetails
 -> Maybe AwsEcsServiceDetails
 -> Maybe AwsEc2EipDetails
 -> Maybe AwsApiGatewayV2StageDetails
 -> Maybe AwsLambdaFunctionDetails
 -> Maybe AwsElbv2LoadBalancerDetails
 -> Maybe AwsWafRateBasedRuleDetails
 -> Maybe AwsEcrRepositoryDetails
 -> Maybe AwsWafWebAclDetails
 -> Maybe AwsSsmPatchComplianceDetails
 -> Maybe AwsElasticsearchDomainDetails
 -> Maybe AwsCertificateManagerCertificateDetails
 -> Maybe AwsEcrContainerImageDetails
 -> Maybe AwsIamUserDetails
 -> Maybe AwsEc2VolumeDetails
 -> ResourceDetails)
-> Parser (Maybe AwsCloudTrailTrailDetails)
-> Parser
     (Maybe AwsRdsDbClusterDetails
      -> Maybe (HashMap Text Text)
      -> Maybe AwsIamRoleDetails
      -> Maybe AwsElbLoadBalancerDetails
      -> Maybe AwsEc2VpnConnectionDetails
      -> Maybe AwsCloudFrontDistributionDetails
      -> Maybe AwsKmsKeyDetails
      -> Maybe AwsEksClusterDetails
      -> Maybe AwsAutoScalingLaunchConfigurationDetails
      -> Maybe AwsOpenSearchServiceDomainDetails
      -> Maybe AwsRdsDbSnapshotDetails
      -> Maybe AwsWafRegionalRateBasedRuleDetails
      -> Maybe AwsApiGatewayRestApiDetails
      -> Maybe AwsSqsQueueDetails
      -> Maybe AwsSecretsManagerSecretDetails
      -> Maybe AwsDynamoDbTableDetails
      -> Maybe AwsS3AccountPublicAccessBlockDetails
      -> Maybe AwsRdsDbClusterSnapshotDetails
      -> Maybe AwsEc2SecurityGroupDetails
      -> Maybe AwsEc2InstanceDetails
      -> Maybe AwsIamPolicyDetails
      -> Maybe AwsS3ObjectDetails
      -> Maybe AwsEcsTaskDefinitionDetails
      -> Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe AwsCloudTrailTrailDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsCloudTrailTrail")
            Parser
  (Maybe AwsRdsDbClusterDetails
   -> Maybe (HashMap Text Text)
   -> Maybe AwsIamRoleDetails
   -> Maybe AwsElbLoadBalancerDetails
   -> Maybe AwsEc2VpnConnectionDetails
   -> Maybe AwsCloudFrontDistributionDetails
   -> Maybe AwsKmsKeyDetails
   -> Maybe AwsEksClusterDetails
   -> Maybe AwsAutoScalingLaunchConfigurationDetails
   -> Maybe AwsOpenSearchServiceDomainDetails
   -> Maybe AwsRdsDbSnapshotDetails
   -> Maybe AwsWafRegionalRateBasedRuleDetails
   -> Maybe AwsApiGatewayRestApiDetails
   -> Maybe AwsSqsQueueDetails
   -> Maybe AwsSecretsManagerSecretDetails
   -> Maybe AwsDynamoDbTableDetails
   -> Maybe AwsS3AccountPublicAccessBlockDetails
   -> Maybe AwsRdsDbClusterSnapshotDetails
   -> Maybe AwsEc2SecurityGroupDetails
   -> Maybe AwsEc2InstanceDetails
   -> Maybe AwsIamPolicyDetails
   -> Maybe AwsS3ObjectDetails
   -> Maybe AwsEcsTaskDefinitionDetails
   -> Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsRdsDbClusterDetails)
-> Parser
     (Maybe (HashMap Text Text)
      -> Maybe AwsIamRoleDetails
      -> Maybe AwsElbLoadBalancerDetails
      -> Maybe AwsEc2VpnConnectionDetails
      -> Maybe AwsCloudFrontDistributionDetails
      -> Maybe AwsKmsKeyDetails
      -> Maybe AwsEksClusterDetails
      -> Maybe AwsAutoScalingLaunchConfigurationDetails
      -> Maybe AwsOpenSearchServiceDomainDetails
      -> Maybe AwsRdsDbSnapshotDetails
      -> Maybe AwsWafRegionalRateBasedRuleDetails
      -> Maybe AwsApiGatewayRestApiDetails
      -> Maybe AwsSqsQueueDetails
      -> Maybe AwsSecretsManagerSecretDetails
      -> Maybe AwsDynamoDbTableDetails
      -> Maybe AwsS3AccountPublicAccessBlockDetails
      -> Maybe AwsRdsDbClusterSnapshotDetails
      -> Maybe AwsEc2SecurityGroupDetails
      -> Maybe AwsEc2InstanceDetails
      -> Maybe AwsIamPolicyDetails
      -> Maybe AwsS3ObjectDetails
      -> Maybe AwsEcsTaskDefinitionDetails
      -> Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsRdsDbClusterDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsRdsDbCluster")
            Parser
  (Maybe (HashMap Text Text)
   -> Maybe AwsIamRoleDetails
   -> Maybe AwsElbLoadBalancerDetails
   -> Maybe AwsEc2VpnConnectionDetails
   -> Maybe AwsCloudFrontDistributionDetails
   -> Maybe AwsKmsKeyDetails
   -> Maybe AwsEksClusterDetails
   -> Maybe AwsAutoScalingLaunchConfigurationDetails
   -> Maybe AwsOpenSearchServiceDomainDetails
   -> Maybe AwsRdsDbSnapshotDetails
   -> Maybe AwsWafRegionalRateBasedRuleDetails
   -> Maybe AwsApiGatewayRestApiDetails
   -> Maybe AwsSqsQueueDetails
   -> Maybe AwsSecretsManagerSecretDetails
   -> Maybe AwsDynamoDbTableDetails
   -> Maybe AwsS3AccountPublicAccessBlockDetails
   -> Maybe AwsRdsDbClusterSnapshotDetails
   -> Maybe AwsEc2SecurityGroupDetails
   -> Maybe AwsEc2InstanceDetails
   -> Maybe AwsIamPolicyDetails
   -> Maybe AwsS3ObjectDetails
   -> Maybe AwsEcsTaskDefinitionDetails
   -> Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe (HashMap Text Text))
-> Parser
     (Maybe AwsIamRoleDetails
      -> Maybe AwsElbLoadBalancerDetails
      -> Maybe AwsEc2VpnConnectionDetails
      -> Maybe AwsCloudFrontDistributionDetails
      -> Maybe AwsKmsKeyDetails
      -> Maybe AwsEksClusterDetails
      -> Maybe AwsAutoScalingLaunchConfigurationDetails
      -> Maybe AwsOpenSearchServiceDomainDetails
      -> Maybe AwsRdsDbSnapshotDetails
      -> Maybe AwsWafRegionalRateBasedRuleDetails
      -> Maybe AwsApiGatewayRestApiDetails
      -> Maybe AwsSqsQueueDetails
      -> Maybe AwsSecretsManagerSecretDetails
      -> Maybe AwsDynamoDbTableDetails
      -> Maybe AwsS3AccountPublicAccessBlockDetails
      -> Maybe AwsRdsDbClusterSnapshotDetails
      -> Maybe AwsEc2SecurityGroupDetails
      -> Maybe AwsEc2InstanceDetails
      -> Maybe AwsIamPolicyDetails
      -> Maybe AwsS3ObjectDetails
      -> Maybe AwsEcsTaskDefinitionDetails
      -> Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe (Maybe (HashMap Text Text)))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Other" Parser (Maybe (Maybe (HashMap Text Text)))
-> Maybe (HashMap Text Text) -> Parser (Maybe (HashMap Text Text))
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe (HashMap Text Text)
forall a. Monoid a => a
Prelude.mempty)
            Parser
  (Maybe AwsIamRoleDetails
   -> Maybe AwsElbLoadBalancerDetails
   -> Maybe AwsEc2VpnConnectionDetails
   -> Maybe AwsCloudFrontDistributionDetails
   -> Maybe AwsKmsKeyDetails
   -> Maybe AwsEksClusterDetails
   -> Maybe AwsAutoScalingLaunchConfigurationDetails
   -> Maybe AwsOpenSearchServiceDomainDetails
   -> Maybe AwsRdsDbSnapshotDetails
   -> Maybe AwsWafRegionalRateBasedRuleDetails
   -> Maybe AwsApiGatewayRestApiDetails
   -> Maybe AwsSqsQueueDetails
   -> Maybe AwsSecretsManagerSecretDetails
   -> Maybe AwsDynamoDbTableDetails
   -> Maybe AwsS3AccountPublicAccessBlockDetails
   -> Maybe AwsRdsDbClusterSnapshotDetails
   -> Maybe AwsEc2SecurityGroupDetails
   -> Maybe AwsEc2InstanceDetails
   -> Maybe AwsIamPolicyDetails
   -> Maybe AwsS3ObjectDetails
   -> Maybe AwsEcsTaskDefinitionDetails
   -> Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsIamRoleDetails)
-> Parser
     (Maybe AwsElbLoadBalancerDetails
      -> Maybe AwsEc2VpnConnectionDetails
      -> Maybe AwsCloudFrontDistributionDetails
      -> Maybe AwsKmsKeyDetails
      -> Maybe AwsEksClusterDetails
      -> Maybe AwsAutoScalingLaunchConfigurationDetails
      -> Maybe AwsOpenSearchServiceDomainDetails
      -> Maybe AwsRdsDbSnapshotDetails
      -> Maybe AwsWafRegionalRateBasedRuleDetails
      -> Maybe AwsApiGatewayRestApiDetails
      -> Maybe AwsSqsQueueDetails
      -> Maybe AwsSecretsManagerSecretDetails
      -> Maybe AwsDynamoDbTableDetails
      -> Maybe AwsS3AccountPublicAccessBlockDetails
      -> Maybe AwsRdsDbClusterSnapshotDetails
      -> Maybe AwsEc2SecurityGroupDetails
      -> Maybe AwsEc2InstanceDetails
      -> Maybe AwsIamPolicyDetails
      -> Maybe AwsS3ObjectDetails
      -> Maybe AwsEcsTaskDefinitionDetails
      -> Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsIamRoleDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsIamRole")
            Parser
  (Maybe AwsElbLoadBalancerDetails
   -> Maybe AwsEc2VpnConnectionDetails
   -> Maybe AwsCloudFrontDistributionDetails
   -> Maybe AwsKmsKeyDetails
   -> Maybe AwsEksClusterDetails
   -> Maybe AwsAutoScalingLaunchConfigurationDetails
   -> Maybe AwsOpenSearchServiceDomainDetails
   -> Maybe AwsRdsDbSnapshotDetails
   -> Maybe AwsWafRegionalRateBasedRuleDetails
   -> Maybe AwsApiGatewayRestApiDetails
   -> Maybe AwsSqsQueueDetails
   -> Maybe AwsSecretsManagerSecretDetails
   -> Maybe AwsDynamoDbTableDetails
   -> Maybe AwsS3AccountPublicAccessBlockDetails
   -> Maybe AwsRdsDbClusterSnapshotDetails
   -> Maybe AwsEc2SecurityGroupDetails
   -> Maybe AwsEc2InstanceDetails
   -> Maybe AwsIamPolicyDetails
   -> Maybe AwsS3ObjectDetails
   -> Maybe AwsEcsTaskDefinitionDetails
   -> Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsElbLoadBalancerDetails)
-> Parser
     (Maybe AwsEc2VpnConnectionDetails
      -> Maybe AwsCloudFrontDistributionDetails
      -> Maybe AwsKmsKeyDetails
      -> Maybe AwsEksClusterDetails
      -> Maybe AwsAutoScalingLaunchConfigurationDetails
      -> Maybe AwsOpenSearchServiceDomainDetails
      -> Maybe AwsRdsDbSnapshotDetails
      -> Maybe AwsWafRegionalRateBasedRuleDetails
      -> Maybe AwsApiGatewayRestApiDetails
      -> Maybe AwsSqsQueueDetails
      -> Maybe AwsSecretsManagerSecretDetails
      -> Maybe AwsDynamoDbTableDetails
      -> Maybe AwsS3AccountPublicAccessBlockDetails
      -> Maybe AwsRdsDbClusterSnapshotDetails
      -> Maybe AwsEc2SecurityGroupDetails
      -> Maybe AwsEc2InstanceDetails
      -> Maybe AwsIamPolicyDetails
      -> Maybe AwsS3ObjectDetails
      -> Maybe AwsEcsTaskDefinitionDetails
      -> Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsElbLoadBalancerDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsElbLoadBalancer")
            Parser
  (Maybe AwsEc2VpnConnectionDetails
   -> Maybe AwsCloudFrontDistributionDetails
   -> Maybe AwsKmsKeyDetails
   -> Maybe AwsEksClusterDetails
   -> Maybe AwsAutoScalingLaunchConfigurationDetails
   -> Maybe AwsOpenSearchServiceDomainDetails
   -> Maybe AwsRdsDbSnapshotDetails
   -> Maybe AwsWafRegionalRateBasedRuleDetails
   -> Maybe AwsApiGatewayRestApiDetails
   -> Maybe AwsSqsQueueDetails
   -> Maybe AwsSecretsManagerSecretDetails
   -> Maybe AwsDynamoDbTableDetails
   -> Maybe AwsS3AccountPublicAccessBlockDetails
   -> Maybe AwsRdsDbClusterSnapshotDetails
   -> Maybe AwsEc2SecurityGroupDetails
   -> Maybe AwsEc2InstanceDetails
   -> Maybe AwsIamPolicyDetails
   -> Maybe AwsS3ObjectDetails
   -> Maybe AwsEcsTaskDefinitionDetails
   -> Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsEc2VpnConnectionDetails)
-> Parser
     (Maybe AwsCloudFrontDistributionDetails
      -> Maybe AwsKmsKeyDetails
      -> Maybe AwsEksClusterDetails
      -> Maybe AwsAutoScalingLaunchConfigurationDetails
      -> Maybe AwsOpenSearchServiceDomainDetails
      -> Maybe AwsRdsDbSnapshotDetails
      -> Maybe AwsWafRegionalRateBasedRuleDetails
      -> Maybe AwsApiGatewayRestApiDetails
      -> Maybe AwsSqsQueueDetails
      -> Maybe AwsSecretsManagerSecretDetails
      -> Maybe AwsDynamoDbTableDetails
      -> Maybe AwsS3AccountPublicAccessBlockDetails
      -> Maybe AwsRdsDbClusterSnapshotDetails
      -> Maybe AwsEc2SecurityGroupDetails
      -> Maybe AwsEc2InstanceDetails
      -> Maybe AwsIamPolicyDetails
      -> Maybe AwsS3ObjectDetails
      -> Maybe AwsEcsTaskDefinitionDetails
      -> Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsEc2VpnConnectionDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsEc2VpnConnection")
            Parser
  (Maybe AwsCloudFrontDistributionDetails
   -> Maybe AwsKmsKeyDetails
   -> Maybe AwsEksClusterDetails
   -> Maybe AwsAutoScalingLaunchConfigurationDetails
   -> Maybe AwsOpenSearchServiceDomainDetails
   -> Maybe AwsRdsDbSnapshotDetails
   -> Maybe AwsWafRegionalRateBasedRuleDetails
   -> Maybe AwsApiGatewayRestApiDetails
   -> Maybe AwsSqsQueueDetails
   -> Maybe AwsSecretsManagerSecretDetails
   -> Maybe AwsDynamoDbTableDetails
   -> Maybe AwsS3AccountPublicAccessBlockDetails
   -> Maybe AwsRdsDbClusterSnapshotDetails
   -> Maybe AwsEc2SecurityGroupDetails
   -> Maybe AwsEc2InstanceDetails
   -> Maybe AwsIamPolicyDetails
   -> Maybe AwsS3ObjectDetails
   -> Maybe AwsEcsTaskDefinitionDetails
   -> Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsCloudFrontDistributionDetails)
-> Parser
     (Maybe AwsKmsKeyDetails
      -> Maybe AwsEksClusterDetails
      -> Maybe AwsAutoScalingLaunchConfigurationDetails
      -> Maybe AwsOpenSearchServiceDomainDetails
      -> Maybe AwsRdsDbSnapshotDetails
      -> Maybe AwsWafRegionalRateBasedRuleDetails
      -> Maybe AwsApiGatewayRestApiDetails
      -> Maybe AwsSqsQueueDetails
      -> Maybe AwsSecretsManagerSecretDetails
      -> Maybe AwsDynamoDbTableDetails
      -> Maybe AwsS3AccountPublicAccessBlockDetails
      -> Maybe AwsRdsDbClusterSnapshotDetails
      -> Maybe AwsEc2SecurityGroupDetails
      -> Maybe AwsEc2InstanceDetails
      -> Maybe AwsIamPolicyDetails
      -> Maybe AwsS3ObjectDetails
      -> Maybe AwsEcsTaskDefinitionDetails
      -> Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsCloudFrontDistributionDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsCloudFrontDistribution")
            Parser
  (Maybe AwsKmsKeyDetails
   -> Maybe AwsEksClusterDetails
   -> Maybe AwsAutoScalingLaunchConfigurationDetails
   -> Maybe AwsOpenSearchServiceDomainDetails
   -> Maybe AwsRdsDbSnapshotDetails
   -> Maybe AwsWafRegionalRateBasedRuleDetails
   -> Maybe AwsApiGatewayRestApiDetails
   -> Maybe AwsSqsQueueDetails
   -> Maybe AwsSecretsManagerSecretDetails
   -> Maybe AwsDynamoDbTableDetails
   -> Maybe AwsS3AccountPublicAccessBlockDetails
   -> Maybe AwsRdsDbClusterSnapshotDetails
   -> Maybe AwsEc2SecurityGroupDetails
   -> Maybe AwsEc2InstanceDetails
   -> Maybe AwsIamPolicyDetails
   -> Maybe AwsS3ObjectDetails
   -> Maybe AwsEcsTaskDefinitionDetails
   -> Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsKmsKeyDetails)
-> Parser
     (Maybe AwsEksClusterDetails
      -> Maybe AwsAutoScalingLaunchConfigurationDetails
      -> Maybe AwsOpenSearchServiceDomainDetails
      -> Maybe AwsRdsDbSnapshotDetails
      -> Maybe AwsWafRegionalRateBasedRuleDetails
      -> Maybe AwsApiGatewayRestApiDetails
      -> Maybe AwsSqsQueueDetails
      -> Maybe AwsSecretsManagerSecretDetails
      -> Maybe AwsDynamoDbTableDetails
      -> Maybe AwsS3AccountPublicAccessBlockDetails
      -> Maybe AwsRdsDbClusterSnapshotDetails
      -> Maybe AwsEc2SecurityGroupDetails
      -> Maybe AwsEc2InstanceDetails
      -> Maybe AwsIamPolicyDetails
      -> Maybe AwsS3ObjectDetails
      -> Maybe AwsEcsTaskDefinitionDetails
      -> Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsKmsKeyDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsKmsKey")
            Parser
  (Maybe AwsEksClusterDetails
   -> Maybe AwsAutoScalingLaunchConfigurationDetails
   -> Maybe AwsOpenSearchServiceDomainDetails
   -> Maybe AwsRdsDbSnapshotDetails
   -> Maybe AwsWafRegionalRateBasedRuleDetails
   -> Maybe AwsApiGatewayRestApiDetails
   -> Maybe AwsSqsQueueDetails
   -> Maybe AwsSecretsManagerSecretDetails
   -> Maybe AwsDynamoDbTableDetails
   -> Maybe AwsS3AccountPublicAccessBlockDetails
   -> Maybe AwsRdsDbClusterSnapshotDetails
   -> Maybe AwsEc2SecurityGroupDetails
   -> Maybe AwsEc2InstanceDetails
   -> Maybe AwsIamPolicyDetails
   -> Maybe AwsS3ObjectDetails
   -> Maybe AwsEcsTaskDefinitionDetails
   -> Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsEksClusterDetails)
-> Parser
     (Maybe AwsAutoScalingLaunchConfigurationDetails
      -> Maybe AwsOpenSearchServiceDomainDetails
      -> Maybe AwsRdsDbSnapshotDetails
      -> Maybe AwsWafRegionalRateBasedRuleDetails
      -> Maybe AwsApiGatewayRestApiDetails
      -> Maybe AwsSqsQueueDetails
      -> Maybe AwsSecretsManagerSecretDetails
      -> Maybe AwsDynamoDbTableDetails
      -> Maybe AwsS3AccountPublicAccessBlockDetails
      -> Maybe AwsRdsDbClusterSnapshotDetails
      -> Maybe AwsEc2SecurityGroupDetails
      -> Maybe AwsEc2InstanceDetails
      -> Maybe AwsIamPolicyDetails
      -> Maybe AwsS3ObjectDetails
      -> Maybe AwsEcsTaskDefinitionDetails
      -> Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsEksClusterDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsEksCluster")
            Parser
  (Maybe AwsAutoScalingLaunchConfigurationDetails
   -> Maybe AwsOpenSearchServiceDomainDetails
   -> Maybe AwsRdsDbSnapshotDetails
   -> Maybe AwsWafRegionalRateBasedRuleDetails
   -> Maybe AwsApiGatewayRestApiDetails
   -> Maybe AwsSqsQueueDetails
   -> Maybe AwsSecretsManagerSecretDetails
   -> Maybe AwsDynamoDbTableDetails
   -> Maybe AwsS3AccountPublicAccessBlockDetails
   -> Maybe AwsRdsDbClusterSnapshotDetails
   -> Maybe AwsEc2SecurityGroupDetails
   -> Maybe AwsEc2InstanceDetails
   -> Maybe AwsIamPolicyDetails
   -> Maybe AwsS3ObjectDetails
   -> Maybe AwsEcsTaskDefinitionDetails
   -> Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsAutoScalingLaunchConfigurationDetails)
-> Parser
     (Maybe AwsOpenSearchServiceDomainDetails
      -> Maybe AwsRdsDbSnapshotDetails
      -> Maybe AwsWafRegionalRateBasedRuleDetails
      -> Maybe AwsApiGatewayRestApiDetails
      -> Maybe AwsSqsQueueDetails
      -> Maybe AwsSecretsManagerSecretDetails
      -> Maybe AwsDynamoDbTableDetails
      -> Maybe AwsS3AccountPublicAccessBlockDetails
      -> Maybe AwsRdsDbClusterSnapshotDetails
      -> Maybe AwsEc2SecurityGroupDetails
      -> Maybe AwsEc2InstanceDetails
      -> Maybe AwsIamPolicyDetails
      -> Maybe AwsS3ObjectDetails
      -> Maybe AwsEcsTaskDefinitionDetails
      -> Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Parser (Maybe AwsAutoScalingLaunchConfigurationDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsAutoScalingLaunchConfiguration")
            Parser
  (Maybe AwsOpenSearchServiceDomainDetails
   -> Maybe AwsRdsDbSnapshotDetails
   -> Maybe AwsWafRegionalRateBasedRuleDetails
   -> Maybe AwsApiGatewayRestApiDetails
   -> Maybe AwsSqsQueueDetails
   -> Maybe AwsSecretsManagerSecretDetails
   -> Maybe AwsDynamoDbTableDetails
   -> Maybe AwsS3AccountPublicAccessBlockDetails
   -> Maybe AwsRdsDbClusterSnapshotDetails
   -> Maybe AwsEc2SecurityGroupDetails
   -> Maybe AwsEc2InstanceDetails
   -> Maybe AwsIamPolicyDetails
   -> Maybe AwsS3ObjectDetails
   -> Maybe AwsEcsTaskDefinitionDetails
   -> Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsOpenSearchServiceDomainDetails)
-> Parser
     (Maybe AwsRdsDbSnapshotDetails
      -> Maybe AwsWafRegionalRateBasedRuleDetails
      -> Maybe AwsApiGatewayRestApiDetails
      -> Maybe AwsSqsQueueDetails
      -> Maybe AwsSecretsManagerSecretDetails
      -> Maybe AwsDynamoDbTableDetails
      -> Maybe AwsS3AccountPublicAccessBlockDetails
      -> Maybe AwsRdsDbClusterSnapshotDetails
      -> Maybe AwsEc2SecurityGroupDetails
      -> Maybe AwsEc2InstanceDetails
      -> Maybe AwsIamPolicyDetails
      -> Maybe AwsS3ObjectDetails
      -> Maybe AwsEcsTaskDefinitionDetails
      -> Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsOpenSearchServiceDomainDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsOpenSearchServiceDomain")
            Parser
  (Maybe AwsRdsDbSnapshotDetails
   -> Maybe AwsWafRegionalRateBasedRuleDetails
   -> Maybe AwsApiGatewayRestApiDetails
   -> Maybe AwsSqsQueueDetails
   -> Maybe AwsSecretsManagerSecretDetails
   -> Maybe AwsDynamoDbTableDetails
   -> Maybe AwsS3AccountPublicAccessBlockDetails
   -> Maybe AwsRdsDbClusterSnapshotDetails
   -> Maybe AwsEc2SecurityGroupDetails
   -> Maybe AwsEc2InstanceDetails
   -> Maybe AwsIamPolicyDetails
   -> Maybe AwsS3ObjectDetails
   -> Maybe AwsEcsTaskDefinitionDetails
   -> Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsRdsDbSnapshotDetails)
-> Parser
     (Maybe AwsWafRegionalRateBasedRuleDetails
      -> Maybe AwsApiGatewayRestApiDetails
      -> Maybe AwsSqsQueueDetails
      -> Maybe AwsSecretsManagerSecretDetails
      -> Maybe AwsDynamoDbTableDetails
      -> Maybe AwsS3AccountPublicAccessBlockDetails
      -> Maybe AwsRdsDbClusterSnapshotDetails
      -> Maybe AwsEc2SecurityGroupDetails
      -> Maybe AwsEc2InstanceDetails
      -> Maybe AwsIamPolicyDetails
      -> Maybe AwsS3ObjectDetails
      -> Maybe AwsEcsTaskDefinitionDetails
      -> Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsRdsDbSnapshotDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsRdsDbSnapshot")
            Parser
  (Maybe AwsWafRegionalRateBasedRuleDetails
   -> Maybe AwsApiGatewayRestApiDetails
   -> Maybe AwsSqsQueueDetails
   -> Maybe AwsSecretsManagerSecretDetails
   -> Maybe AwsDynamoDbTableDetails
   -> Maybe AwsS3AccountPublicAccessBlockDetails
   -> Maybe AwsRdsDbClusterSnapshotDetails
   -> Maybe AwsEc2SecurityGroupDetails
   -> Maybe AwsEc2InstanceDetails
   -> Maybe AwsIamPolicyDetails
   -> Maybe AwsS3ObjectDetails
   -> Maybe AwsEcsTaskDefinitionDetails
   -> Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsWafRegionalRateBasedRuleDetails)
-> Parser
     (Maybe AwsApiGatewayRestApiDetails
      -> Maybe AwsSqsQueueDetails
      -> Maybe AwsSecretsManagerSecretDetails
      -> Maybe AwsDynamoDbTableDetails
      -> Maybe AwsS3AccountPublicAccessBlockDetails
      -> Maybe AwsRdsDbClusterSnapshotDetails
      -> Maybe AwsEc2SecurityGroupDetails
      -> Maybe AwsEc2InstanceDetails
      -> Maybe AwsIamPolicyDetails
      -> Maybe AwsS3ObjectDetails
      -> Maybe AwsEcsTaskDefinitionDetails
      -> Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsWafRegionalRateBasedRuleDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsWafRegionalRateBasedRule")
            Parser
  (Maybe AwsApiGatewayRestApiDetails
   -> Maybe AwsSqsQueueDetails
   -> Maybe AwsSecretsManagerSecretDetails
   -> Maybe AwsDynamoDbTableDetails
   -> Maybe AwsS3AccountPublicAccessBlockDetails
   -> Maybe AwsRdsDbClusterSnapshotDetails
   -> Maybe AwsEc2SecurityGroupDetails
   -> Maybe AwsEc2InstanceDetails
   -> Maybe AwsIamPolicyDetails
   -> Maybe AwsS3ObjectDetails
   -> Maybe AwsEcsTaskDefinitionDetails
   -> Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsApiGatewayRestApiDetails)
-> Parser
     (Maybe AwsSqsQueueDetails
      -> Maybe AwsSecretsManagerSecretDetails
      -> Maybe AwsDynamoDbTableDetails
      -> Maybe AwsS3AccountPublicAccessBlockDetails
      -> Maybe AwsRdsDbClusterSnapshotDetails
      -> Maybe AwsEc2SecurityGroupDetails
      -> Maybe AwsEc2InstanceDetails
      -> Maybe AwsIamPolicyDetails
      -> Maybe AwsS3ObjectDetails
      -> Maybe AwsEcsTaskDefinitionDetails
      -> Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsApiGatewayRestApiDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsApiGatewayRestApi")
            Parser
  (Maybe AwsSqsQueueDetails
   -> Maybe AwsSecretsManagerSecretDetails
   -> Maybe AwsDynamoDbTableDetails
   -> Maybe AwsS3AccountPublicAccessBlockDetails
   -> Maybe AwsRdsDbClusterSnapshotDetails
   -> Maybe AwsEc2SecurityGroupDetails
   -> Maybe AwsEc2InstanceDetails
   -> Maybe AwsIamPolicyDetails
   -> Maybe AwsS3ObjectDetails
   -> Maybe AwsEcsTaskDefinitionDetails
   -> Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsSqsQueueDetails)
-> Parser
     (Maybe AwsSecretsManagerSecretDetails
      -> Maybe AwsDynamoDbTableDetails
      -> Maybe AwsS3AccountPublicAccessBlockDetails
      -> Maybe AwsRdsDbClusterSnapshotDetails
      -> Maybe AwsEc2SecurityGroupDetails
      -> Maybe AwsEc2InstanceDetails
      -> Maybe AwsIamPolicyDetails
      -> Maybe AwsS3ObjectDetails
      -> Maybe AwsEcsTaskDefinitionDetails
      -> Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsSqsQueueDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsSqsQueue")
            Parser
  (Maybe AwsSecretsManagerSecretDetails
   -> Maybe AwsDynamoDbTableDetails
   -> Maybe AwsS3AccountPublicAccessBlockDetails
   -> Maybe AwsRdsDbClusterSnapshotDetails
   -> Maybe AwsEc2SecurityGroupDetails
   -> Maybe AwsEc2InstanceDetails
   -> Maybe AwsIamPolicyDetails
   -> Maybe AwsS3ObjectDetails
   -> Maybe AwsEcsTaskDefinitionDetails
   -> Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsSecretsManagerSecretDetails)
-> Parser
     (Maybe AwsDynamoDbTableDetails
      -> Maybe AwsS3AccountPublicAccessBlockDetails
      -> Maybe AwsRdsDbClusterSnapshotDetails
      -> Maybe AwsEc2SecurityGroupDetails
      -> Maybe AwsEc2InstanceDetails
      -> Maybe AwsIamPolicyDetails
      -> Maybe AwsS3ObjectDetails
      -> Maybe AwsEcsTaskDefinitionDetails
      -> Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsSecretsManagerSecretDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsSecretsManagerSecret")
            Parser
  (Maybe AwsDynamoDbTableDetails
   -> Maybe AwsS3AccountPublicAccessBlockDetails
   -> Maybe AwsRdsDbClusterSnapshotDetails
   -> Maybe AwsEc2SecurityGroupDetails
   -> Maybe AwsEc2InstanceDetails
   -> Maybe AwsIamPolicyDetails
   -> Maybe AwsS3ObjectDetails
   -> Maybe AwsEcsTaskDefinitionDetails
   -> Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsDynamoDbTableDetails)
-> Parser
     (Maybe AwsS3AccountPublicAccessBlockDetails
      -> Maybe AwsRdsDbClusterSnapshotDetails
      -> Maybe AwsEc2SecurityGroupDetails
      -> Maybe AwsEc2InstanceDetails
      -> Maybe AwsIamPolicyDetails
      -> Maybe AwsS3ObjectDetails
      -> Maybe AwsEcsTaskDefinitionDetails
      -> Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsDynamoDbTableDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsDynamoDbTable")
            Parser
  (Maybe AwsS3AccountPublicAccessBlockDetails
   -> Maybe AwsRdsDbClusterSnapshotDetails
   -> Maybe AwsEc2SecurityGroupDetails
   -> Maybe AwsEc2InstanceDetails
   -> Maybe AwsIamPolicyDetails
   -> Maybe AwsS3ObjectDetails
   -> Maybe AwsEcsTaskDefinitionDetails
   -> Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsS3AccountPublicAccessBlockDetails)
-> Parser
     (Maybe AwsRdsDbClusterSnapshotDetails
      -> Maybe AwsEc2SecurityGroupDetails
      -> Maybe AwsEc2InstanceDetails
      -> Maybe AwsIamPolicyDetails
      -> Maybe AwsS3ObjectDetails
      -> Maybe AwsEcsTaskDefinitionDetails
      -> Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Parser (Maybe AwsS3AccountPublicAccessBlockDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsS3AccountPublicAccessBlock")
            Parser
  (Maybe AwsRdsDbClusterSnapshotDetails
   -> Maybe AwsEc2SecurityGroupDetails
   -> Maybe AwsEc2InstanceDetails
   -> Maybe AwsIamPolicyDetails
   -> Maybe AwsS3ObjectDetails
   -> Maybe AwsEcsTaskDefinitionDetails
   -> Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsRdsDbClusterSnapshotDetails)
-> Parser
     (Maybe AwsEc2SecurityGroupDetails
      -> Maybe AwsEc2InstanceDetails
      -> Maybe AwsIamPolicyDetails
      -> Maybe AwsS3ObjectDetails
      -> Maybe AwsEcsTaskDefinitionDetails
      -> Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsRdsDbClusterSnapshotDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsRdsDbClusterSnapshot")
            Parser
  (Maybe AwsEc2SecurityGroupDetails
   -> Maybe AwsEc2InstanceDetails
   -> Maybe AwsIamPolicyDetails
   -> Maybe AwsS3ObjectDetails
   -> Maybe AwsEcsTaskDefinitionDetails
   -> Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsEc2SecurityGroupDetails)
-> Parser
     (Maybe AwsEc2InstanceDetails
      -> Maybe AwsIamPolicyDetails
      -> Maybe AwsS3ObjectDetails
      -> Maybe AwsEcsTaskDefinitionDetails
      -> Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsEc2SecurityGroupDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsEc2SecurityGroup")
            Parser
  (Maybe AwsEc2InstanceDetails
   -> Maybe AwsIamPolicyDetails
   -> Maybe AwsS3ObjectDetails
   -> Maybe AwsEcsTaskDefinitionDetails
   -> Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsEc2InstanceDetails)
-> Parser
     (Maybe AwsIamPolicyDetails
      -> Maybe AwsS3ObjectDetails
      -> Maybe AwsEcsTaskDefinitionDetails
      -> Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsEc2InstanceDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsEc2Instance")
            Parser
  (Maybe AwsIamPolicyDetails
   -> Maybe AwsS3ObjectDetails
   -> Maybe AwsEcsTaskDefinitionDetails
   -> Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsIamPolicyDetails)
-> Parser
     (Maybe AwsS3ObjectDetails
      -> Maybe AwsEcsTaskDefinitionDetails
      -> Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsIamPolicyDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsIamPolicy")
            Parser
  (Maybe AwsS3ObjectDetails
   -> Maybe AwsEcsTaskDefinitionDetails
   -> Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsS3ObjectDetails)
-> Parser
     (Maybe AwsEcsTaskDefinitionDetails
      -> Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsS3ObjectDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsS3Object")
            Parser
  (Maybe AwsEcsTaskDefinitionDetails
   -> Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsEcsTaskDefinitionDetails)
-> Parser
     (Maybe AwsLambdaLayerVersionDetails
      -> Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsEcsTaskDefinitionDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsEcsTaskDefinition")
            Parser
  (Maybe AwsLambdaLayerVersionDetails
   -> Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsLambdaLayerVersionDetails)
-> Parser
     (Maybe AwsS3BucketDetails
      -> Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsLambdaLayerVersionDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsLambdaLayerVersion")
            Parser
  (Maybe AwsS3BucketDetails
   -> Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsS3BucketDetails)
-> Parser
     (Maybe AwsIamAccessKeyDetails
      -> Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsS3BucketDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsS3Bucket")
            Parser
  (Maybe AwsIamAccessKeyDetails
   -> Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsIamAccessKeyDetails)
-> Parser
     (Maybe AwsCodeBuildProjectDetails
      -> Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsIamAccessKeyDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsIamAccessKey")
            Parser
  (Maybe AwsCodeBuildProjectDetails
   -> Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsCodeBuildProjectDetails)
-> Parser
     (Maybe AwsApiGatewayStageDetails
      -> Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsCodeBuildProjectDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsCodeBuildProject")
            Parser
  (Maybe AwsApiGatewayStageDetails
   -> Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsApiGatewayStageDetails)
-> Parser
     (Maybe AwsEc2NetworkAclDetails
      -> Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsApiGatewayStageDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsApiGatewayStage")
            Parser
  (Maybe AwsEc2NetworkAclDetails
   -> Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsEc2NetworkAclDetails)
-> Parser
     (Maybe AwsApiGatewayV2ApiDetails
      -> Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsEc2NetworkAclDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsEc2NetworkAcl")
            Parser
  (Maybe AwsApiGatewayV2ApiDetails
   -> Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsApiGatewayV2ApiDetails)
-> Parser
     (Maybe AwsElasticBeanstalkEnvironmentDetails
      -> Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsApiGatewayV2ApiDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsApiGatewayV2Api")
            Parser
  (Maybe AwsElasticBeanstalkEnvironmentDetails
   -> Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsElasticBeanstalkEnvironmentDetails)
-> Parser
     (Maybe AwsEc2VpcDetails
      -> Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Parser (Maybe AwsElasticBeanstalkEnvironmentDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsElasticBeanstalkEnvironment")
            Parser
  (Maybe AwsEc2VpcDetails
   -> Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsEc2VpcDetails)
-> Parser
     (Maybe AwsRedshiftClusterDetails
      -> Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsEc2VpcDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsEc2Vpc")
            Parser
  (Maybe AwsRedshiftClusterDetails
   -> Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsRedshiftClusterDetails)
-> Parser
     (Maybe AwsRdsDbInstanceDetails
      -> Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsRedshiftClusterDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsRedshiftCluster")
            Parser
  (Maybe AwsRdsDbInstanceDetails
   -> Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsRdsDbInstanceDetails)
-> Parser
     (Maybe AwsRdsEventSubscriptionDetails
      -> Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsRdsDbInstanceDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsRdsDbInstance")
            Parser
  (Maybe AwsRdsEventSubscriptionDetails
   -> Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsRdsEventSubscriptionDetails)
-> Parser
     (Maybe ContainerDetails
      -> Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsRdsEventSubscriptionDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsRdsEventSubscription")
            Parser
  (Maybe ContainerDetails
   -> Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe ContainerDetails)
-> Parser
     (Maybe AwsIamGroupDetails
      -> Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe ContainerDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Container")
            Parser
  (Maybe AwsIamGroupDetails
   -> Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsIamGroupDetails)
-> Parser
     (Maybe AwsXrayEncryptionConfigDetails
      -> Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsIamGroupDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsIamGroup")
            Parser
  (Maybe AwsXrayEncryptionConfigDetails
   -> Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsXrayEncryptionConfigDetails)
-> Parser
     (Maybe AwsEc2SubnetDetails
      -> Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsXrayEncryptionConfigDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsXrayEncryptionConfig")
            Parser
  (Maybe AwsEc2SubnetDetails
   -> Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsEc2SubnetDetails)
-> Parser
     (Maybe AwsEcsClusterDetails
      -> Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsEc2SubnetDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsEc2Subnet")
            Parser
  (Maybe AwsEcsClusterDetails
   -> Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsEcsClusterDetails)
-> Parser
     (Maybe AwsEc2VpcEndpointServiceDetails
      -> Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsEcsClusterDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsEcsCluster")
            Parser
  (Maybe AwsEc2VpcEndpointServiceDetails
   -> Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsEc2VpcEndpointServiceDetails)
-> Parser
     (Maybe AwsAutoScalingAutoScalingGroupDetails
      -> Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsEc2VpcEndpointServiceDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsEc2VpcEndpointService")
            Parser
  (Maybe AwsAutoScalingAutoScalingGroupDetails
   -> Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsAutoScalingAutoScalingGroupDetails)
-> Parser
     (Maybe AwsSnsTopicDetails
      -> Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Parser (Maybe AwsAutoScalingAutoScalingGroupDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsAutoScalingAutoScalingGroup")
            Parser
  (Maybe AwsSnsTopicDetails
   -> Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsSnsTopicDetails)
-> Parser
     (Maybe AwsEc2NetworkInterfaceDetails
      -> Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsSnsTopicDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsSnsTopic")
            Parser
  (Maybe AwsEc2NetworkInterfaceDetails
   -> Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsEc2NetworkInterfaceDetails)
-> Parser
     (Maybe AwsEcsServiceDetails
      -> Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsEc2NetworkInterfaceDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsEc2NetworkInterface")
            Parser
  (Maybe AwsEcsServiceDetails
   -> Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsEcsServiceDetails)
-> Parser
     (Maybe AwsEc2EipDetails
      -> Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsEcsServiceDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsEcsService")
            Parser
  (Maybe AwsEc2EipDetails
   -> Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsEc2EipDetails)
-> Parser
     (Maybe AwsApiGatewayV2StageDetails
      -> Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsEc2EipDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsEc2Eip")
            Parser
  (Maybe AwsApiGatewayV2StageDetails
   -> Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsApiGatewayV2StageDetails)
-> Parser
     (Maybe AwsLambdaFunctionDetails
      -> Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsApiGatewayV2StageDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsApiGatewayV2Stage")
            Parser
  (Maybe AwsLambdaFunctionDetails
   -> Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsLambdaFunctionDetails)
-> Parser
     (Maybe AwsElbv2LoadBalancerDetails
      -> Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsLambdaFunctionDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsLambdaFunction")
            Parser
  (Maybe AwsElbv2LoadBalancerDetails
   -> Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsElbv2LoadBalancerDetails)
-> Parser
     (Maybe AwsWafRateBasedRuleDetails
      -> Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsElbv2LoadBalancerDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsElbv2LoadBalancer")
            Parser
  (Maybe AwsWafRateBasedRuleDetails
   -> Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsWafRateBasedRuleDetails)
-> Parser
     (Maybe AwsEcrRepositoryDetails
      -> Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsWafRateBasedRuleDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsWafRateBasedRule")
            Parser
  (Maybe AwsEcrRepositoryDetails
   -> Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsEcrRepositoryDetails)
-> Parser
     (Maybe AwsWafWebAclDetails
      -> Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsEcrRepositoryDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsEcrRepository")
            Parser
  (Maybe AwsWafWebAclDetails
   -> Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsWafWebAclDetails)
-> Parser
     (Maybe AwsSsmPatchComplianceDetails
      -> Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsWafWebAclDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsWafWebAcl")
            Parser
  (Maybe AwsSsmPatchComplianceDetails
   -> Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsSsmPatchComplianceDetails)
-> Parser
     (Maybe AwsElasticsearchDomainDetails
      -> Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsSsmPatchComplianceDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsSsmPatchCompliance")
            Parser
  (Maybe AwsElasticsearchDomainDetails
   -> Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsElasticsearchDomainDetails)
-> Parser
     (Maybe AwsCertificateManagerCertificateDetails
      -> Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsElasticsearchDomainDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsElasticsearchDomain")
            Parser
  (Maybe AwsCertificateManagerCertificateDetails
   -> Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsCertificateManagerCertificateDetails)
-> Parser
     (Maybe AwsEcrContainerImageDetails
      -> Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails
      -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Parser (Maybe AwsCertificateManagerCertificateDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsCertificateManagerCertificate")
            Parser
  (Maybe AwsEcrContainerImageDetails
   -> Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails
   -> ResourceDetails)
-> Parser (Maybe AwsEcrContainerImageDetails)
-> Parser
     (Maybe AwsIamUserDetails
      -> Maybe AwsEc2VolumeDetails -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsEcrContainerImageDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsEcrContainerImage")
            Parser
  (Maybe AwsIamUserDetails
   -> Maybe AwsEc2VolumeDetails -> ResourceDetails)
-> Parser (Maybe AwsIamUserDetails)
-> Parser (Maybe AwsEc2VolumeDetails -> ResourceDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsIamUserDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsIamUser")
            Parser (Maybe AwsEc2VolumeDetails -> ResourceDetails)
-> Parser (Maybe AwsEc2VolumeDetails) -> Parser ResourceDetails
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe AwsEc2VolumeDetails)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsEc2Volume")
      )

instance Prelude.Hashable ResourceDetails

instance Prelude.NFData ResourceDetails

instance Core.ToJSON ResourceDetails where
  toJSON :: ResourceDetails -> Value
toJSON ResourceDetails' {Maybe (HashMap Text Text)
Maybe AwsApiGatewayRestApiDetails
Maybe AwsApiGatewayStageDetails
Maybe AwsApiGatewayV2StageDetails
Maybe AwsAutoScalingAutoScalingGroupDetails
Maybe AwsAutoScalingLaunchConfigurationDetails
Maybe AwsCertificateManagerCertificateDetails
Maybe AwsCloudFrontDistributionDetails
Maybe AwsCloudTrailTrailDetails
Maybe AwsCodeBuildProjectDetails
Maybe AwsApiGatewayV2ApiDetails
Maybe AwsDynamoDbTableDetails
Maybe AwsEc2EipDetails
Maybe AwsEc2InstanceDetails
Maybe AwsEc2NetworkInterfaceDetails
Maybe AwsEc2SecurityGroupDetails
Maybe AwsEc2VolumeDetails
Maybe AwsEc2VpcEndpointServiceDetails
Maybe AwsEc2VpnConnectionDetails
Maybe AwsEcrContainerImageDetails
Maybe AwsEcrRepositoryDetails
Maybe AwsEcsClusterDetails
Maybe AwsEcsServiceDetails
Maybe AwsEcsTaskDefinitionDetails
Maybe AwsEksClusterDetails
Maybe AwsElasticBeanstalkEnvironmentDetails
Maybe AwsElasticsearchDomainDetails
Maybe AwsElbLoadBalancerDetails
Maybe AwsIamAccessKeyDetails
Maybe AwsIamGroupDetails
Maybe AwsIamPolicyDetails
Maybe AwsIamRoleDetails
Maybe AwsIamUserDetails
Maybe AwsKmsKeyDetails
Maybe AwsLambdaFunctionDetails
Maybe AwsLambdaLayerVersionDetails
Maybe AwsOpenSearchServiceDomainDetails
Maybe AwsRdsDbClusterSnapshotDetails
Maybe AwsRdsDbClusterDetails
Maybe AwsRdsDbSnapshotDetails
Maybe AwsRdsEventSubscriptionDetails
Maybe AwsRdsDbInstanceDetails
Maybe AwsRedshiftClusterDetails
Maybe AwsS3AccountPublicAccessBlockDetails
Maybe AwsS3BucketDetails
Maybe AwsS3ObjectDetails
Maybe AwsSecretsManagerSecretDetails
Maybe AwsSnsTopicDetails
Maybe AwsSqsQueueDetails
Maybe AwsSsmPatchComplianceDetails
Maybe AwsWafRateBasedRuleDetails
Maybe AwsWafRegionalRateBasedRuleDetails
Maybe AwsXrayEncryptionConfigDetails
Maybe ContainerDetails
Maybe AwsEc2VpcDetails
Maybe AwsEc2SubnetDetails
Maybe AwsElbv2LoadBalancerDetails
Maybe AwsEc2NetworkAclDetails
Maybe AwsWafWebAclDetails
awsEc2Volume :: Maybe AwsEc2VolumeDetails
awsIamUser :: Maybe AwsIamUserDetails
awsEcrContainerImage :: Maybe AwsEcrContainerImageDetails
awsCertificateManagerCertificate :: Maybe AwsCertificateManagerCertificateDetails
awsElasticsearchDomain :: Maybe AwsElasticsearchDomainDetails
awsSsmPatchCompliance :: Maybe AwsSsmPatchComplianceDetails
awsWafWebAcl :: Maybe AwsWafWebAclDetails
awsEcrRepository :: Maybe AwsEcrRepositoryDetails
awsWafRateBasedRule :: Maybe AwsWafRateBasedRuleDetails
awsElbv2LoadBalancer :: Maybe AwsElbv2LoadBalancerDetails
awsLambdaFunction :: Maybe AwsLambdaFunctionDetails
awsApiGatewayV2Stage :: Maybe AwsApiGatewayV2StageDetails
awsEc2Eip :: Maybe AwsEc2EipDetails
awsEcsService :: Maybe AwsEcsServiceDetails
awsEc2NetworkInterface :: Maybe AwsEc2NetworkInterfaceDetails
awsSnsTopic :: Maybe AwsSnsTopicDetails
awsAutoScalingAutoScalingGroup :: Maybe AwsAutoScalingAutoScalingGroupDetails
awsEc2VpcEndpointService :: Maybe AwsEc2VpcEndpointServiceDetails
awsEcsCluster :: Maybe AwsEcsClusterDetails
awsEc2Subnet :: Maybe AwsEc2SubnetDetails
awsXrayEncryptionConfig :: Maybe AwsXrayEncryptionConfigDetails
awsIamGroup :: Maybe AwsIamGroupDetails
container :: Maybe ContainerDetails
awsRdsEventSubscription :: Maybe AwsRdsEventSubscriptionDetails
awsRdsDbInstance :: Maybe AwsRdsDbInstanceDetails
awsRedshiftCluster :: Maybe AwsRedshiftClusterDetails
awsEc2Vpc :: Maybe AwsEc2VpcDetails
awsElasticBeanstalkEnvironment :: Maybe AwsElasticBeanstalkEnvironmentDetails
awsApiGatewayV2Api :: Maybe AwsApiGatewayV2ApiDetails
awsEc2NetworkAcl :: Maybe AwsEc2NetworkAclDetails
awsApiGatewayStage :: Maybe AwsApiGatewayStageDetails
awsCodeBuildProject :: Maybe AwsCodeBuildProjectDetails
awsIamAccessKey :: Maybe AwsIamAccessKeyDetails
awsS3Bucket :: Maybe AwsS3BucketDetails
awsLambdaLayerVersion :: Maybe AwsLambdaLayerVersionDetails
awsEcsTaskDefinition :: Maybe AwsEcsTaskDefinitionDetails
awsS3Object :: Maybe AwsS3ObjectDetails
awsIamPolicy :: Maybe AwsIamPolicyDetails
awsEc2Instance :: Maybe AwsEc2InstanceDetails
awsEc2SecurityGroup :: Maybe AwsEc2SecurityGroupDetails
awsRdsDbClusterSnapshot :: Maybe AwsRdsDbClusterSnapshotDetails
awsS3AccountPublicAccessBlock :: Maybe AwsS3AccountPublicAccessBlockDetails
awsDynamoDbTable :: Maybe AwsDynamoDbTableDetails
awsSecretsManagerSecret :: Maybe AwsSecretsManagerSecretDetails
awsSqsQueue :: Maybe AwsSqsQueueDetails
awsApiGatewayRestApi :: Maybe AwsApiGatewayRestApiDetails
awsWafRegionalRateBasedRule :: Maybe AwsWafRegionalRateBasedRuleDetails
awsRdsDbSnapshot :: Maybe AwsRdsDbSnapshotDetails
awsOpenSearchServiceDomain :: Maybe AwsOpenSearchServiceDomainDetails
awsAutoScalingLaunchConfiguration :: Maybe AwsAutoScalingLaunchConfigurationDetails
awsEksCluster :: Maybe AwsEksClusterDetails
awsKmsKey :: Maybe AwsKmsKeyDetails
awsCloudFrontDistribution :: Maybe AwsCloudFrontDistributionDetails
awsEc2VpnConnection :: Maybe AwsEc2VpnConnectionDetails
awsElbLoadBalancer :: Maybe AwsElbLoadBalancerDetails
awsIamRole :: Maybe AwsIamRoleDetails
other :: Maybe (HashMap Text Text)
awsRdsDbCluster :: Maybe AwsRdsDbClusterDetails
awsCloudTrailTrail :: Maybe AwsCloudTrailTrailDetails
$sel:awsEc2Volume:ResourceDetails' :: ResourceDetails -> Maybe AwsEc2VolumeDetails
$sel:awsIamUser:ResourceDetails' :: ResourceDetails -> Maybe AwsIamUserDetails
$sel:awsEcrContainerImage:ResourceDetails' :: ResourceDetails -> Maybe AwsEcrContainerImageDetails
$sel:awsCertificateManagerCertificate:ResourceDetails' :: ResourceDetails -> Maybe AwsCertificateManagerCertificateDetails
$sel:awsElasticsearchDomain:ResourceDetails' :: ResourceDetails -> Maybe AwsElasticsearchDomainDetails
$sel:awsSsmPatchCompliance:ResourceDetails' :: ResourceDetails -> Maybe AwsSsmPatchComplianceDetails
$sel:awsWafWebAcl:ResourceDetails' :: ResourceDetails -> Maybe AwsWafWebAclDetails
$sel:awsEcrRepository:ResourceDetails' :: ResourceDetails -> Maybe AwsEcrRepositoryDetails
$sel:awsWafRateBasedRule:ResourceDetails' :: ResourceDetails -> Maybe AwsWafRateBasedRuleDetails
$sel:awsElbv2LoadBalancer:ResourceDetails' :: ResourceDetails -> Maybe AwsElbv2LoadBalancerDetails
$sel:awsLambdaFunction:ResourceDetails' :: ResourceDetails -> Maybe AwsLambdaFunctionDetails
$sel:awsApiGatewayV2Stage:ResourceDetails' :: ResourceDetails -> Maybe AwsApiGatewayV2StageDetails
$sel:awsEc2Eip:ResourceDetails' :: ResourceDetails -> Maybe AwsEc2EipDetails
$sel:awsEcsService:ResourceDetails' :: ResourceDetails -> Maybe AwsEcsServiceDetails
$sel:awsEc2NetworkInterface:ResourceDetails' :: ResourceDetails -> Maybe AwsEc2NetworkInterfaceDetails
$sel:awsSnsTopic:ResourceDetails' :: ResourceDetails -> Maybe AwsSnsTopicDetails
$sel:awsAutoScalingAutoScalingGroup:ResourceDetails' :: ResourceDetails -> Maybe AwsAutoScalingAutoScalingGroupDetails
$sel:awsEc2VpcEndpointService:ResourceDetails' :: ResourceDetails -> Maybe AwsEc2VpcEndpointServiceDetails
$sel:awsEcsCluster:ResourceDetails' :: ResourceDetails -> Maybe AwsEcsClusterDetails
$sel:awsEc2Subnet:ResourceDetails' :: ResourceDetails -> Maybe AwsEc2SubnetDetails
$sel:awsXrayEncryptionConfig:ResourceDetails' :: ResourceDetails -> Maybe AwsXrayEncryptionConfigDetails
$sel:awsIamGroup:ResourceDetails' :: ResourceDetails -> Maybe AwsIamGroupDetails
$sel:container:ResourceDetails' :: ResourceDetails -> Maybe ContainerDetails
$sel:awsRdsEventSubscription:ResourceDetails' :: ResourceDetails -> Maybe AwsRdsEventSubscriptionDetails
$sel:awsRdsDbInstance:ResourceDetails' :: ResourceDetails -> Maybe AwsRdsDbInstanceDetails
$sel:awsRedshiftCluster:ResourceDetails' :: ResourceDetails -> Maybe AwsRedshiftClusterDetails
$sel:awsEc2Vpc:ResourceDetails' :: ResourceDetails -> Maybe AwsEc2VpcDetails
$sel:awsElasticBeanstalkEnvironment:ResourceDetails' :: ResourceDetails -> Maybe AwsElasticBeanstalkEnvironmentDetails
$sel:awsApiGatewayV2Api:ResourceDetails' :: ResourceDetails -> Maybe AwsApiGatewayV2ApiDetails
$sel:awsEc2NetworkAcl:ResourceDetails' :: ResourceDetails -> Maybe AwsEc2NetworkAclDetails
$sel:awsApiGatewayStage:ResourceDetails' :: ResourceDetails -> Maybe AwsApiGatewayStageDetails
$sel:awsCodeBuildProject:ResourceDetails' :: ResourceDetails -> Maybe AwsCodeBuildProjectDetails
$sel:awsIamAccessKey:ResourceDetails' :: ResourceDetails -> Maybe AwsIamAccessKeyDetails
$sel:awsS3Bucket:ResourceDetails' :: ResourceDetails -> Maybe AwsS3BucketDetails
$sel:awsLambdaLayerVersion:ResourceDetails' :: ResourceDetails -> Maybe AwsLambdaLayerVersionDetails
$sel:awsEcsTaskDefinition:ResourceDetails' :: ResourceDetails -> Maybe AwsEcsTaskDefinitionDetails
$sel:awsS3Object:ResourceDetails' :: ResourceDetails -> Maybe AwsS3ObjectDetails
$sel:awsIamPolicy:ResourceDetails' :: ResourceDetails -> Maybe AwsIamPolicyDetails
$sel:awsEc2Instance:ResourceDetails' :: ResourceDetails -> Maybe AwsEc2InstanceDetails
$sel:awsEc2SecurityGroup:ResourceDetails' :: ResourceDetails -> Maybe AwsEc2SecurityGroupDetails
$sel:awsRdsDbClusterSnapshot:ResourceDetails' :: ResourceDetails -> Maybe AwsRdsDbClusterSnapshotDetails
$sel:awsS3AccountPublicAccessBlock:ResourceDetails' :: ResourceDetails -> Maybe AwsS3AccountPublicAccessBlockDetails
$sel:awsDynamoDbTable:ResourceDetails' :: ResourceDetails -> Maybe AwsDynamoDbTableDetails
$sel:awsSecretsManagerSecret:ResourceDetails' :: ResourceDetails -> Maybe AwsSecretsManagerSecretDetails
$sel:awsSqsQueue:ResourceDetails' :: ResourceDetails -> Maybe AwsSqsQueueDetails
$sel:awsApiGatewayRestApi:ResourceDetails' :: ResourceDetails -> Maybe AwsApiGatewayRestApiDetails
$sel:awsWafRegionalRateBasedRule:ResourceDetails' :: ResourceDetails -> Maybe AwsWafRegionalRateBasedRuleDetails
$sel:awsRdsDbSnapshot:ResourceDetails' :: ResourceDetails -> Maybe AwsRdsDbSnapshotDetails
$sel:awsOpenSearchServiceDomain:ResourceDetails' :: ResourceDetails -> Maybe AwsOpenSearchServiceDomainDetails
$sel:awsAutoScalingLaunchConfiguration:ResourceDetails' :: ResourceDetails -> Maybe AwsAutoScalingLaunchConfigurationDetails
$sel:awsEksCluster:ResourceDetails' :: ResourceDetails -> Maybe AwsEksClusterDetails
$sel:awsKmsKey:ResourceDetails' :: ResourceDetails -> Maybe AwsKmsKeyDetails
$sel:awsCloudFrontDistribution:ResourceDetails' :: ResourceDetails -> Maybe AwsCloudFrontDistributionDetails
$sel:awsEc2VpnConnection:ResourceDetails' :: ResourceDetails -> Maybe AwsEc2VpnConnectionDetails
$sel:awsElbLoadBalancer:ResourceDetails' :: ResourceDetails -> Maybe AwsElbLoadBalancerDetails
$sel:awsIamRole:ResourceDetails' :: ResourceDetails -> Maybe AwsIamRoleDetails
$sel:other:ResourceDetails' :: ResourceDetails -> Maybe (HashMap Text Text)
$sel:awsRdsDbCluster:ResourceDetails' :: ResourceDetails -> Maybe AwsRdsDbClusterDetails
$sel:awsCloudTrailTrail:ResourceDetails' :: ResourceDetails -> Maybe AwsCloudTrailTrailDetails
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Text
"AwsCloudTrailTrail" Text -> AwsCloudTrailTrailDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsCloudTrailTrailDetails -> Pair)
-> Maybe AwsCloudTrailTrailDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsCloudTrailTrailDetails
awsCloudTrailTrail,
            (Text
"AwsRdsDbCluster" Text -> AwsRdsDbClusterDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsRdsDbClusterDetails -> Pair)
-> Maybe AwsRdsDbClusterDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsRdsDbClusterDetails
awsRdsDbCluster,
            (Text
"Other" Text -> HashMap Text Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (HashMap Text Text -> Pair)
-> Maybe (HashMap Text Text) -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (HashMap Text Text)
other,
            (Text
"AwsIamRole" Text -> AwsIamRoleDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AwsIamRoleDetails -> Pair)
-> Maybe AwsIamRoleDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsIamRoleDetails
awsIamRole,
            (Text
"AwsElbLoadBalancer" Text -> AwsElbLoadBalancerDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsElbLoadBalancerDetails -> Pair)
-> Maybe AwsElbLoadBalancerDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsElbLoadBalancerDetails
awsElbLoadBalancer,
            (Text
"AwsEc2VpnConnection" Text -> AwsEc2VpnConnectionDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsEc2VpnConnectionDetails -> Pair)
-> Maybe AwsEc2VpnConnectionDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsEc2VpnConnectionDetails
awsEc2VpnConnection,
            (Text
"AwsCloudFrontDistribution" Text -> AwsCloudFrontDistributionDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsCloudFrontDistributionDetails -> Pair)
-> Maybe AwsCloudFrontDistributionDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsCloudFrontDistributionDetails
awsCloudFrontDistribution,
            (Text
"AwsKmsKey" Text -> AwsKmsKeyDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AwsKmsKeyDetails -> Pair) -> Maybe AwsKmsKeyDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsKmsKeyDetails
awsKmsKey,
            (Text
"AwsEksCluster" Text -> AwsEksClusterDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AwsEksClusterDetails -> Pair)
-> Maybe AwsEksClusterDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsEksClusterDetails
awsEksCluster,
            (Text
"AwsAutoScalingLaunchConfiguration" Text -> AwsAutoScalingLaunchConfigurationDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsAutoScalingLaunchConfigurationDetails -> Pair)
-> Maybe AwsAutoScalingLaunchConfigurationDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsAutoScalingLaunchConfigurationDetails
awsAutoScalingLaunchConfiguration,
            (Text
"AwsOpenSearchServiceDomain" Text -> AwsOpenSearchServiceDomainDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsOpenSearchServiceDomainDetails -> Pair)
-> Maybe AwsOpenSearchServiceDomainDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsOpenSearchServiceDomainDetails
awsOpenSearchServiceDomain,
            (Text
"AwsRdsDbSnapshot" Text -> AwsRdsDbSnapshotDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsRdsDbSnapshotDetails -> Pair)
-> Maybe AwsRdsDbSnapshotDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsRdsDbSnapshotDetails
awsRdsDbSnapshot,
            (Text
"AwsWafRegionalRateBasedRule" Text -> AwsWafRegionalRateBasedRuleDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsWafRegionalRateBasedRuleDetails -> Pair)
-> Maybe AwsWafRegionalRateBasedRuleDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsWafRegionalRateBasedRuleDetails
awsWafRegionalRateBasedRule,
            (Text
"AwsApiGatewayRestApi" Text -> AwsApiGatewayRestApiDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsApiGatewayRestApiDetails -> Pair)
-> Maybe AwsApiGatewayRestApiDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsApiGatewayRestApiDetails
awsApiGatewayRestApi,
            (Text
"AwsSqsQueue" Text -> AwsSqsQueueDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AwsSqsQueueDetails -> Pair)
-> Maybe AwsSqsQueueDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsSqsQueueDetails
awsSqsQueue,
            (Text
"AwsSecretsManagerSecret" Text -> AwsSecretsManagerSecretDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsSecretsManagerSecretDetails -> Pair)
-> Maybe AwsSecretsManagerSecretDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsSecretsManagerSecretDetails
awsSecretsManagerSecret,
            (Text
"AwsDynamoDbTable" Text -> AwsDynamoDbTableDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsDynamoDbTableDetails -> Pair)
-> Maybe AwsDynamoDbTableDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsDynamoDbTableDetails
awsDynamoDbTable,
            (Text
"AwsS3AccountPublicAccessBlock" Text -> AwsS3AccountPublicAccessBlockDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsS3AccountPublicAccessBlockDetails -> Pair)
-> Maybe AwsS3AccountPublicAccessBlockDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsS3AccountPublicAccessBlockDetails
awsS3AccountPublicAccessBlock,
            (Text
"AwsRdsDbClusterSnapshot" Text -> AwsRdsDbClusterSnapshotDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsRdsDbClusterSnapshotDetails -> Pair)
-> Maybe AwsRdsDbClusterSnapshotDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsRdsDbClusterSnapshotDetails
awsRdsDbClusterSnapshot,
            (Text
"AwsEc2SecurityGroup" Text -> AwsEc2SecurityGroupDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsEc2SecurityGroupDetails -> Pair)
-> Maybe AwsEc2SecurityGroupDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsEc2SecurityGroupDetails
awsEc2SecurityGroup,
            (Text
"AwsEc2Instance" Text -> AwsEc2InstanceDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsEc2InstanceDetails -> Pair)
-> Maybe AwsEc2InstanceDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsEc2InstanceDetails
awsEc2Instance,
            (Text
"AwsIamPolicy" Text -> AwsIamPolicyDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AwsIamPolicyDetails -> Pair)
-> Maybe AwsIamPolicyDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsIamPolicyDetails
awsIamPolicy,
            (Text
"AwsS3Object" Text -> AwsS3ObjectDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AwsS3ObjectDetails -> Pair)
-> Maybe AwsS3ObjectDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsS3ObjectDetails
awsS3Object,
            (Text
"AwsEcsTaskDefinition" Text -> AwsEcsTaskDefinitionDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsEcsTaskDefinitionDetails -> Pair)
-> Maybe AwsEcsTaskDefinitionDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsEcsTaskDefinitionDetails
awsEcsTaskDefinition,
            (Text
"AwsLambdaLayerVersion" Text -> AwsLambdaLayerVersionDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsLambdaLayerVersionDetails -> Pair)
-> Maybe AwsLambdaLayerVersionDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsLambdaLayerVersionDetails
awsLambdaLayerVersion,
            (Text
"AwsS3Bucket" Text -> AwsS3BucketDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AwsS3BucketDetails -> Pair)
-> Maybe AwsS3BucketDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsS3BucketDetails
awsS3Bucket,
            (Text
"AwsIamAccessKey" Text -> AwsIamAccessKeyDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsIamAccessKeyDetails -> Pair)
-> Maybe AwsIamAccessKeyDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsIamAccessKeyDetails
awsIamAccessKey,
            (Text
"AwsCodeBuildProject" Text -> AwsCodeBuildProjectDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsCodeBuildProjectDetails -> Pair)
-> Maybe AwsCodeBuildProjectDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsCodeBuildProjectDetails
awsCodeBuildProject,
            (Text
"AwsApiGatewayStage" Text -> AwsApiGatewayStageDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsApiGatewayStageDetails -> Pair)
-> Maybe AwsApiGatewayStageDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsApiGatewayStageDetails
awsApiGatewayStage,
            (Text
"AwsEc2NetworkAcl" Text -> AwsEc2NetworkAclDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsEc2NetworkAclDetails -> Pair)
-> Maybe AwsEc2NetworkAclDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsEc2NetworkAclDetails
awsEc2NetworkAcl,
            (Text
"AwsApiGatewayV2Api" Text -> AwsApiGatewayV2ApiDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsApiGatewayV2ApiDetails -> Pair)
-> Maybe AwsApiGatewayV2ApiDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsApiGatewayV2ApiDetails
awsApiGatewayV2Api,
            (Text
"AwsElasticBeanstalkEnvironment" Text -> AwsElasticBeanstalkEnvironmentDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsElasticBeanstalkEnvironmentDetails -> Pair)
-> Maybe AwsElasticBeanstalkEnvironmentDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsElasticBeanstalkEnvironmentDetails
awsElasticBeanstalkEnvironment,
            (Text
"AwsEc2Vpc" Text -> AwsEc2VpcDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AwsEc2VpcDetails -> Pair) -> Maybe AwsEc2VpcDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsEc2VpcDetails
awsEc2Vpc,
            (Text
"AwsRedshiftCluster" Text -> AwsRedshiftClusterDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsRedshiftClusterDetails -> Pair)
-> Maybe AwsRedshiftClusterDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsRedshiftClusterDetails
awsRedshiftCluster,
            (Text
"AwsRdsDbInstance" Text -> AwsRdsDbInstanceDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsRdsDbInstanceDetails -> Pair)
-> Maybe AwsRdsDbInstanceDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsRdsDbInstanceDetails
awsRdsDbInstance,
            (Text
"AwsRdsEventSubscription" Text -> AwsRdsEventSubscriptionDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsRdsEventSubscriptionDetails -> Pair)
-> Maybe AwsRdsEventSubscriptionDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsRdsEventSubscriptionDetails
awsRdsEventSubscription,
            (Text
"Container" Text -> ContainerDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (ContainerDetails -> Pair) -> Maybe ContainerDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ContainerDetails
container,
            (Text
"AwsIamGroup" Text -> AwsIamGroupDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AwsIamGroupDetails -> Pair)
-> Maybe AwsIamGroupDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsIamGroupDetails
awsIamGroup,
            (Text
"AwsXrayEncryptionConfig" Text -> AwsXrayEncryptionConfigDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsXrayEncryptionConfigDetails -> Pair)
-> Maybe AwsXrayEncryptionConfigDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsXrayEncryptionConfigDetails
awsXrayEncryptionConfig,
            (Text
"AwsEc2Subnet" Text -> AwsEc2SubnetDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AwsEc2SubnetDetails -> Pair)
-> Maybe AwsEc2SubnetDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsEc2SubnetDetails
awsEc2Subnet,
            (Text
"AwsEcsCluster" Text -> AwsEcsClusterDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AwsEcsClusterDetails -> Pair)
-> Maybe AwsEcsClusterDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsEcsClusterDetails
awsEcsCluster,
            (Text
"AwsEc2VpcEndpointService" Text -> AwsEc2VpcEndpointServiceDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsEc2VpcEndpointServiceDetails -> Pair)
-> Maybe AwsEc2VpcEndpointServiceDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsEc2VpcEndpointServiceDetails
awsEc2VpcEndpointService,
            (Text
"AwsAutoScalingAutoScalingGroup" Text -> AwsAutoScalingAutoScalingGroupDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsAutoScalingAutoScalingGroupDetails -> Pair)
-> Maybe AwsAutoScalingAutoScalingGroupDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsAutoScalingAutoScalingGroupDetails
awsAutoScalingAutoScalingGroup,
            (Text
"AwsSnsTopic" Text -> AwsSnsTopicDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AwsSnsTopicDetails -> Pair)
-> Maybe AwsSnsTopicDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsSnsTopicDetails
awsSnsTopic,
            (Text
"AwsEc2NetworkInterface" Text -> AwsEc2NetworkInterfaceDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsEc2NetworkInterfaceDetails -> Pair)
-> Maybe AwsEc2NetworkInterfaceDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsEc2NetworkInterfaceDetails
awsEc2NetworkInterface,
            (Text
"AwsEcsService" Text -> AwsEcsServiceDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AwsEcsServiceDetails -> Pair)
-> Maybe AwsEcsServiceDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsEcsServiceDetails
awsEcsService,
            (Text
"AwsEc2Eip" Text -> AwsEc2EipDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AwsEc2EipDetails -> Pair) -> Maybe AwsEc2EipDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsEc2EipDetails
awsEc2Eip,
            (Text
"AwsApiGatewayV2Stage" Text -> AwsApiGatewayV2StageDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsApiGatewayV2StageDetails -> Pair)
-> Maybe AwsApiGatewayV2StageDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsApiGatewayV2StageDetails
awsApiGatewayV2Stage,
            (Text
"AwsLambdaFunction" Text -> AwsLambdaFunctionDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsLambdaFunctionDetails -> Pair)
-> Maybe AwsLambdaFunctionDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsLambdaFunctionDetails
awsLambdaFunction,
            (Text
"AwsElbv2LoadBalancer" Text -> AwsElbv2LoadBalancerDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsElbv2LoadBalancerDetails -> Pair)
-> Maybe AwsElbv2LoadBalancerDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsElbv2LoadBalancerDetails
awsElbv2LoadBalancer,
            (Text
"AwsWafRateBasedRule" Text -> AwsWafRateBasedRuleDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsWafRateBasedRuleDetails -> Pair)
-> Maybe AwsWafRateBasedRuleDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsWafRateBasedRuleDetails
awsWafRateBasedRule,
            (Text
"AwsEcrRepository" Text -> AwsEcrRepositoryDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsEcrRepositoryDetails -> Pair)
-> Maybe AwsEcrRepositoryDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsEcrRepositoryDetails
awsEcrRepository,
            (Text
"AwsWafWebAcl" Text -> AwsWafWebAclDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AwsWafWebAclDetails -> Pair)
-> Maybe AwsWafWebAclDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsWafWebAclDetails
awsWafWebAcl,
            (Text
"AwsSsmPatchCompliance" Text -> AwsSsmPatchComplianceDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsSsmPatchComplianceDetails -> Pair)
-> Maybe AwsSsmPatchComplianceDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsSsmPatchComplianceDetails
awsSsmPatchCompliance,
            (Text
"AwsElasticsearchDomain" Text -> AwsElasticsearchDomainDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsElasticsearchDomainDetails -> Pair)
-> Maybe AwsElasticsearchDomainDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsElasticsearchDomainDetails
awsElasticsearchDomain,
            (Text
"AwsCertificateManagerCertificate" Text -> AwsCertificateManagerCertificateDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsCertificateManagerCertificateDetails -> Pair)
-> Maybe AwsCertificateManagerCertificateDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsCertificateManagerCertificateDetails
awsCertificateManagerCertificate,
            (Text
"AwsEcrContainerImage" Text -> AwsEcrContainerImageDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (AwsEcrContainerImageDetails -> Pair)
-> Maybe AwsEcrContainerImageDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsEcrContainerImageDetails
awsEcrContainerImage,
            (Text
"AwsIamUser" Text -> AwsIamUserDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AwsIamUserDetails -> Pair)
-> Maybe AwsIamUserDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsIamUserDetails
awsIamUser,
            (Text
"AwsEc2Volume" Text -> AwsEc2VolumeDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (AwsEc2VolumeDetails -> Pair)
-> Maybe AwsEc2VolumeDetails -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AwsEc2VolumeDetails
awsEc2Volume
          ]
      )