-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Amazon Config SDK.
--   
--   The types from this library are intended to be used with
--   <a>amazonka</a>, which provides mechanisms for specifying AuthN/AuthZ
--   information, sending requests, and receiving responses.
--   
--   Lenses are used for constructing and manipulating types, due to the
--   depth of nesting of AWS types and transparency regarding
--   de/serialisation into more palatable Haskell values. The provided
--   lenses should be compatible with any of the major lens libraries such
--   as <a>lens</a> or <a>lens-family-core</a>.
--   
--   See <a>Network.AWS.Config</a> or <a>the AWS documentation</a> to get
--   started.
@package amazonka-config
@version 1.6.1


module Network.AWS.Config.Types

-- | API version <tt>2014-11-12</tt> of the Amazon Config SDK
--   configuration.
config :: Service

-- | The specified time range is not valid. The earlier time is not
--   chronologically before the later time.
_InvalidTimeRangeException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified Amazon SNS topic does not exist.
_InvalidSNSTopicARNException :: AsError a => Getting (First ServiceError) a ServiceError

-- | AWS Config throws an exception if the recording group does not contain
--   a valid list of resource types. Invalid values might also be
--   incorrectly formatted.
_InvalidRecordingGroupException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Organization does is no longer available.
_NoAvailableOrganizationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The requested action is not valid.
_ValidationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | No permission to call the EnableAWSServiceAccess API.
_OrganizationAccessDeniedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have specified a configuration aggregator that does not exist.
_NoSuchConfigurationAggregatorException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have provided a null or empty role ARN.
_InvalidRoleException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You cannot delete the delivery channel you specified because the
--   configuration recorder is running.
_LastDeliveryChannelDeleteFailedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified limit is outside the allowable range.
_InvalidLimitException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified delivery channel name is not valid.
_InvalidDeliveryChannelNameException :: AsError a => Getting (First ServiceError) a ServiceError

-- | One or more of the specified parameters are invalid. Verify that your
--   parameters are valid and try again.
_InvalidParameterValueException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified <tt>ResultToken</tt> is invalid.
_InvalidResultTokenException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have specified a delivery channel that does not exist.
_NoSuchDeliveryChannelException :: AsError a => Getting (First ServiceError) a ServiceError

-- | One or more AWS Config rules in the request are invalid. Verify that
--   the rule names are correct and try again.
_NoSuchConfigRuleException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The configuration aggregator cannot be created because organization
--   does not have all features enabled.
_OrganizationAllFeaturesNotEnabledException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Indicates one of the following errors:
--   
--   <ul>
--   <li>The rule cannot be created because the IAM role assigned to AWS
--   Config lacks permissions to perform the config:Put* action.</li>
--   <li>The AWS Lambda function cannot be invoked. Check the function ARN,
--   and check the function's permissions.</li>
--   </ul>
_InsufficientPermissionsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have specified a resource that is either unknown or has not been
--   discovered.
_ResourceNotDiscoveredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified next token is invalid. Specify the <tt>nextToken</tt>
--   string that was returned in the previous response to get the next page
--   of results.
_InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Failed to add the AWS Config rule because the account already contains
--   the maximum number of 50 rules. Consider deleting any deactivated
--   rules before you add new rules.
_MaxNumberOfConfigRulesExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | There are no configuration recorders available to provide the role
--   needed to describe your resources. Create a configuration recorder.
_NoAvailableConfigurationRecorderException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified Amazon S3 bucket does not exist.
_NoSuchBucketException :: AsError a => Getting (First ServiceError) a ServiceError

-- | There is no delivery channel available to record configurations.
_NoAvailableDeliveryChannelException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have provided a configuration recorder name that is not valid.
_InvalidConfigurationRecorderNameException :: AsError a => Getting (First ServiceError) a ServiceError

-- | There is no configuration recorder running.
_NoRunningConfigurationRecorderException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have reached the limit of the number of recorders you can create.
_MaxNumberOfConfigurationRecordersExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Your Amazon S3 bucket policy does not permit AWS Config to write to
--   it.
_InsufficientDeliveryPolicyException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have reached the limit of the number of delivery channels you can
--   create.
_MaxNumberOfDeliveryChannelsExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have specified a configuration recorder that does not exist.
_NoSuchConfigurationRecorderException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified Amazon S3 key prefix is not valid.
_InvalidS3KeyPrefixException :: AsError a => Getting (First ServiceError) a ServiceError

-- | This exception is thrown if an evaluation is in progress or if you
--   call the <tt>StartConfigRulesEvaluation</tt> API more than once per
--   minute.
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The rule is currently being deleted or the rule is deleting your
--   evaluation results. Try your request again later.
_ResourceInUseException :: AsError a => Getting (First ServiceError) a ServiceError
data AggregatedSourceStatusType
Failed :: AggregatedSourceStatusType
Outdated :: AggregatedSourceStatusType
Succeeded :: AggregatedSourceStatusType
data AggregatedSourceType
Account :: AggregatedSourceType
Organization :: AggregatedSourceType
data ChronologicalOrder
Forward :: ChronologicalOrder
Reverse :: ChronologicalOrder
data ComplianceType
Compliant :: ComplianceType
InsufficientData :: ComplianceType
NonCompliant :: ComplianceType
NotApplicable :: ComplianceType
data ConfigRuleComplianceSummaryGroupKey
AWSRegion :: ConfigRuleComplianceSummaryGroupKey
AccountId :: ConfigRuleComplianceSummaryGroupKey
data ConfigRuleState
Active :: ConfigRuleState
Deleting :: ConfigRuleState
DeletingResults :: ConfigRuleState
Evaluating :: ConfigRuleState
data ConfigurationItemStatus
OK :: ConfigurationItemStatus
ResourceDeleted :: ConfigurationItemStatus
ResourceDeletedNotRecorded :: ConfigurationItemStatus
ResourceDiscovered :: ConfigurationItemStatus
ResourceNotRecorded :: ConfigurationItemStatus
data DeliveryStatus
DSFailure :: DeliveryStatus
DSNotApplicable :: DeliveryStatus
DSSuccess :: DeliveryStatus
data EventSource
AWS_Config :: EventSource
data MaximumExecutionFrequency
OneHour :: MaximumExecutionFrequency
SixHours :: MaximumExecutionFrequency
ThreeHours :: MaximumExecutionFrequency
TwelveHours :: MaximumExecutionFrequency
TwentyFourHours :: MaximumExecutionFrequency
data MessageType
ConfigurationItemChangeNotification :: MessageType
ConfigurationSnapshotDeliveryCompleted :: MessageType
OversizedConfigurationItemChangeNotification :: MessageType
ScheduledNotification :: MessageType
data Owner
AWS :: Owner
CustomLambda :: Owner
data RecorderStatus
Failure :: RecorderStatus
Pending :: RecorderStatus
Success :: RecorderStatus
data ResourceType
AWSAcmCertificate :: ResourceType
AWSAutoScalingAutoScalingGroup :: ResourceType
AWSAutoScalingLaunchConfiguration :: ResourceType
AWSAutoScalingScalingPolicy :: ResourceType
AWSAutoScalingScheduledAction :: ResourceType
AWSCloudFormationStack :: ResourceType
AWSCloudFrontDistribution :: ResourceType
AWSCloudFrontStreamingDistribution :: ResourceType
AWSCloudTrailTrail :: ResourceType
AWSCloudWatchAlarm :: ResourceType
AWSCodeBuildProject :: ResourceType
AWSDynamoDBTable :: ResourceType
AWSEC2CustomerGateway :: ResourceType
AWSEC2EIP :: ResourceType
AWSEC2Host :: ResourceType
AWSEC2Instance :: ResourceType
AWSEC2InternetGateway :: ResourceType
AWSEC2NetworkACL :: ResourceType
AWSEC2NetworkInterface :: ResourceType
AWSEC2RouteTable :: ResourceType
AWSEC2SecurityGroup :: ResourceType
AWSEC2Subnet :: ResourceType
AWSEC2VPC :: ResourceType
AWSEC2VPNConnection :: ResourceType
AWSEC2VPNGateway :: ResourceType
AWSEC2Volume :: ResourceType
AWSELASTICLOADBALANCINGV2LoadBalancer :: ResourceType
AWSElasticBeanstalkApplication :: ResourceType
AWSElasticBeanstalkApplicationVersion :: ResourceType
AWSElasticBeanstalkEnvironment :: ResourceType
AWSElasticLoadBalancingLoadBalancer :: ResourceType
AWSIAMGroup :: ResourceType
AWSIAMPolicy :: ResourceType
AWSIAMRole :: ResourceType
AWSIAMUser :: ResourceType
AWSLambdaFunction :: ResourceType
AWSRDSDBInstance :: ResourceType
AWSRDSDBSecurityGroup :: ResourceType
AWSRDSDBSnapshot :: ResourceType
AWSRDSDBSubnetGroup :: ResourceType
AWSRDSEventSubscription :: ResourceType
AWSRedshiftCluster :: ResourceType
AWSRedshiftClusterParameterGroup :: ResourceType
AWSRedshiftClusterSecurityGroup :: ResourceType
AWSRedshiftClusterSnapshot :: ResourceType
AWSRedshiftClusterSubnetGroup :: ResourceType
AWSRedshiftEventSubscription :: ResourceType
AWSS3Bucket :: ResourceType
AWSSsmManagedInstanceInventory :: ResourceType
AWSWAFRegionalRateBasedRule :: ResourceType
AWSWAFRegionalRule :: ResourceType
AWSWAFRegionalRuleGroup :: ResourceType
AWSWAFRegionalWebACL :: ResourceType
AWSWafRateBasedRule :: ResourceType
AWSWafRule :: ResourceType
AWSWafRuleGroup :: ResourceType
AWSWafWebACL :: ResourceType

-- | A collection of accounts and regions.
--   
--   <i>See:</i> <a>accountAggregationSource</a> smart constructor.
data AccountAggregationSource

-- | Creates a value of <a>AccountAggregationSource</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aasAWSRegions</a> - The source regions being aggregated.</li>
--   <li><a>aasAllAWSRegions</a> - If true, aggreagate existing AWS Config
--   regions and future regions.</li>
--   <li><a>aasAccountIds</a> - The 12-digit account ID of the account
--   being aggregated.</li>
--   </ul>
accountAggregationSource :: NonEmpty Text -> AccountAggregationSource

-- | The source regions being aggregated.
aasAWSRegions :: Lens' AccountAggregationSource (Maybe (NonEmpty Text))

-- | If true, aggreagate existing AWS Config regions and future regions.
aasAllAWSRegions :: Lens' AccountAggregationSource (Maybe Bool)

-- | The 12-digit account ID of the account being aggregated.
aasAccountIds :: Lens' AccountAggregationSource (NonEmpty Text)

-- | Indicates whether an AWS Config rule is compliant based on account ID,
--   region, compliance, and rule name.
--   
--   A rule is compliant if all of the resources that the rule evaluated
--   comply with it. It is noncompliant if any of these resources do not
--   comply.
--   
--   <i>See:</i> <a>aggregateComplianceByConfigRule</a> smart constructor.
data AggregateComplianceByConfigRule

-- | Creates a value of <a>AggregateComplianceByConfigRule</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acbcrCompliance</a> - Indicates whether an AWS resource or AWS
--   Config rule is compliant and provides the number of contributors that
--   affect the compliance.</li>
--   <li><a>acbcrConfigRuleName</a> - The name of the AWS Config rule.</li>
--   <li><a>acbcrAccountId</a> - The 12-digit account ID of the source
--   account.</li>
--   <li><a>acbcrAWSRegion</a> - The source region from where the data is
--   aggregated.</li>
--   </ul>
aggregateComplianceByConfigRule :: AggregateComplianceByConfigRule

-- | Indicates whether an AWS resource or AWS Config rule is compliant and
--   provides the number of contributors that affect the compliance.
acbcrCompliance :: Lens' AggregateComplianceByConfigRule (Maybe Compliance)

-- | The name of the AWS Config rule.
acbcrConfigRuleName :: Lens' AggregateComplianceByConfigRule (Maybe Text)

-- | The 12-digit account ID of the source account.
acbcrAccountId :: Lens' AggregateComplianceByConfigRule (Maybe Text)

-- | The source region from where the data is aggregated.
acbcrAWSRegion :: Lens' AggregateComplianceByConfigRule (Maybe Text)

-- | Returns the number of compliant and noncompliant rules for one or more
--   accounts and regions in an aggregator.
--   
--   <i>See:</i> <a>aggregateComplianceCount</a> smart constructor.
data AggregateComplianceCount

-- | Creates a value of <a>AggregateComplianceCount</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>accGroupName</a> - The 12-digit account ID or region based on
--   the GroupByKey value.</li>
--   <li><a>accComplianceSummary</a> - The number of compliant and
--   noncompliant AWS Config rules.</li>
--   </ul>
aggregateComplianceCount :: AggregateComplianceCount

-- | The 12-digit account ID or region based on the GroupByKey value.
accGroupName :: Lens' AggregateComplianceCount (Maybe Text)

-- | The number of compliant and noncompliant AWS Config rules.
accComplianceSummary :: Lens' AggregateComplianceCount (Maybe ComplianceSummary)

-- | The details of an AWS Config evaluation for an account ID and region
--   in an aggregator. Provides the AWS resource that was evaluated, the
--   compliance of the resource, related time stamps, and supplementary
--   information.
--   
--   <i>See:</i> <a>aggregateEvaluationResult</a> smart constructor.
data AggregateEvaluationResult

-- | Creates a value of <a>AggregateEvaluationResult</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aerEvaluationResultIdentifier</a> - Uniquely identifies the
--   evaluation result.</li>
--   <li><a>aerAnnotation</a> - Supplementary information about how the
--   agrregate evaluation determined the compliance.</li>
--   <li><a>aerConfigRuleInvokedTime</a> - The time when the AWS Config
--   rule evaluated the AWS resource.</li>
--   <li><a>aerResultRecordedTime</a> - The time when AWS Config recorded
--   the aggregate evaluation result.</li>
--   <li><a>aerAccountId</a> - The 12-digit account ID of the source
--   account.</li>
--   <li><a>aerComplianceType</a> - The resource compliance status. For the
--   <tt>AggregationEvaluationResult</tt> data type, AWS Config supports
--   only the <tt>COMPLIANT</tt> and <tt>NON_COMPLIANT</tt> . AWS Config
--   does not support the <tt>NOT_APPLICABLE</tt> and
--   <tt>INSUFFICIENT_DATA</tt> value.</li>
--   <li><a>aerAWSRegion</a> - The source region from where the data is
--   aggregated.</li>
--   </ul>
aggregateEvaluationResult :: AggregateEvaluationResult

-- | Uniquely identifies the evaluation result.
aerEvaluationResultIdentifier :: Lens' AggregateEvaluationResult (Maybe EvaluationResultIdentifier)

-- | Supplementary information about how the agrregate evaluation
--   determined the compliance.
aerAnnotation :: Lens' AggregateEvaluationResult (Maybe Text)

-- | The time when the AWS Config rule evaluated the AWS resource.
aerConfigRuleInvokedTime :: Lens' AggregateEvaluationResult (Maybe UTCTime)

-- | The time when AWS Config recorded the aggregate evaluation result.
aerResultRecordedTime :: Lens' AggregateEvaluationResult (Maybe UTCTime)

-- | The 12-digit account ID of the source account.
aerAccountId :: Lens' AggregateEvaluationResult (Maybe Text)

-- | The resource compliance status. For the
--   <tt>AggregationEvaluationResult</tt> data type, AWS Config supports
--   only the <tt>COMPLIANT</tt> and <tt>NON_COMPLIANT</tt> . AWS Config
--   does not support the <tt>NOT_APPLICABLE</tt> and
--   <tt>INSUFFICIENT_DATA</tt> value.
aerComplianceType :: Lens' AggregateEvaluationResult (Maybe ComplianceType)

-- | The source region from where the data is aggregated.
aerAWSRegion :: Lens' AggregateEvaluationResult (Maybe Text)

-- | The current sync status between the source and the aggregator account.
--   
--   <i>See:</i> <a>aggregatedSourceStatus</a> smart constructor.
data AggregatedSourceStatus

-- | Creates a value of <a>AggregatedSourceStatus</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>assLastErrorCode</a> - The error code that AWS Config returned
--   when the source account aggregation last failed.</li>
--   <li><a>assLastUpdateStatus</a> - Filters the last updated status type.
--   * Valid value FAILED indicates errors while moving data. * Valid value
--   SUCCEEDED indicates the data was successfully moved. * Valid value
--   OUTDATED indicates the data is not the most recent.</li>
--   <li><a>assSourceType</a> - The source account or an organization.</li>
--   <li><a>assSourceId</a> - The source account ID or an
--   organization.</li>
--   <li><a>assLastErrorMessage</a> - The message indicating that the
--   source account aggregation failed due to an error.</li>
--   <li><a>assAWSRegion</a> - The region authorized to collect aggregated
--   data.</li>
--   <li><a>assLastUpdateTime</a> - The time of the last update.</li>
--   </ul>
aggregatedSourceStatus :: AggregatedSourceStatus

-- | The error code that AWS Config returned when the source account
--   aggregation last failed.
assLastErrorCode :: Lens' AggregatedSourceStatus (Maybe Text)

-- | Filters the last updated status type. * Valid value FAILED indicates
--   errors while moving data. * Valid value SUCCEEDED indicates the data
--   was successfully moved. * Valid value OUTDATED indicates the data is
--   not the most recent.
assLastUpdateStatus :: Lens' AggregatedSourceStatus (Maybe AggregatedSourceStatusType)

-- | The source account or an organization.
assSourceType :: Lens' AggregatedSourceStatus (Maybe AggregatedSourceType)

-- | The source account ID or an organization.
assSourceId :: Lens' AggregatedSourceStatus (Maybe Text)

-- | The message indicating that the source account aggregation failed due
--   to an error.
assLastErrorMessage :: Lens' AggregatedSourceStatus (Maybe Text)

-- | The region authorized to collect aggregated data.
assAWSRegion :: Lens' AggregatedSourceStatus (Maybe Text)

-- | The time of the last update.
assLastUpdateTime :: Lens' AggregatedSourceStatus (Maybe UTCTime)

-- | An object that represents the authorizations granted to aggregator
--   accounts and regions.
--   
--   <i>See:</i> <a>aggregationAuthorization</a> smart constructor.
data AggregationAuthorization

-- | Creates a value of <a>AggregationAuthorization</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaCreationTime</a> - The time stamp when the aggregation
--   authorization was created.</li>
--   <li><a>aaAuthorizedAWSRegion</a> - The region authorized to collect
--   aggregated data.</li>
--   <li><a>aaAggregationAuthorizationARN</a> - The Amazon Resource Name
--   (ARN) of the aggregation object.</li>
--   <li><a>aaAuthorizedAccountId</a> - The 12-digit account ID of the
--   account authorized to aggregate data.</li>
--   </ul>
aggregationAuthorization :: AggregationAuthorization

-- | The time stamp when the aggregation authorization was created.
aaCreationTime :: Lens' AggregationAuthorization (Maybe UTCTime)

-- | The region authorized to collect aggregated data.
aaAuthorizedAWSRegion :: Lens' AggregationAuthorization (Maybe Text)

-- | The Amazon Resource Name (ARN) of the aggregation object.
aaAggregationAuthorizationARN :: Lens' AggregationAuthorization (Maybe Text)

-- | The 12-digit account ID of the account authorized to aggregate data.
aaAuthorizedAccountId :: Lens' AggregationAuthorization (Maybe Text)

-- | The detailed configuration of a specified resource.
--   
--   <i>See:</i> <a>baseConfigurationItem</a> smart constructor.
data BaseConfigurationItem

-- | Creates a value of <a>BaseConfigurationItem</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bciResourceId</a> - The ID of the resource (for example.,
--   sg-xxxxxx).</li>
--   <li><a>bciResourceType</a> - The type of AWS resource.</li>
--   <li><a>bciConfigurationStateId</a> - An identifier that indicates the
--   ordering of the configuration items of a resource.</li>
--   <li><a>bciArn</a> - The Amazon Resource Name (ARN) of the
--   resource.</li>
--   <li><a>bciResourceName</a> - The custom name of the resource, if
--   available.</li>
--   <li><a>bciResourceCreationTime</a> - The time stamp when the resource
--   was created.</li>
--   <li><a>bciConfigurationItemStatus</a> - The configuration item
--   status.</li>
--   <li><a>bciConfigurationItemCaptureTime</a> - The time when the
--   configuration recording was initiated.</li>
--   <li><a>bciAccountId</a> - The 12 digit AWS account ID associated with
--   the resource.</li>
--   <li><a>bciSupplementaryConfiguration</a> - Configuration attributes
--   that AWS Config returns for certain resource types to supplement the
--   information returned for the configuration parameter.</li>
--   <li><a>bciAvailabilityZone</a> - The Availability Zone associated with
--   the resource.</li>
--   <li><a>bciVersion</a> - The version number of the resource
--   configuration.</li>
--   <li><a>bciAwsRegion</a> - The region where the resource resides.</li>
--   <li><a>bciConfiguration</a> - The description of the resource
--   configuration.</li>
--   </ul>
baseConfigurationItem :: BaseConfigurationItem

-- | The ID of the resource (for example., sg-xxxxxx).
bciResourceId :: Lens' BaseConfigurationItem (Maybe Text)

-- | The type of AWS resource.
bciResourceType :: Lens' BaseConfigurationItem (Maybe ResourceType)

-- | An identifier that indicates the ordering of the configuration items
--   of a resource.
bciConfigurationStateId :: Lens' BaseConfigurationItem (Maybe Text)

-- | The Amazon Resource Name (ARN) of the resource.
bciArn :: Lens' BaseConfigurationItem (Maybe Text)

-- | The custom name of the resource, if available.
bciResourceName :: Lens' BaseConfigurationItem (Maybe Text)

-- | The time stamp when the resource was created.
bciResourceCreationTime :: Lens' BaseConfigurationItem (Maybe UTCTime)

-- | The configuration item status.
bciConfigurationItemStatus :: Lens' BaseConfigurationItem (Maybe ConfigurationItemStatus)

-- | The time when the configuration recording was initiated.
bciConfigurationItemCaptureTime :: Lens' BaseConfigurationItem (Maybe UTCTime)

-- | The 12 digit AWS account ID associated with the resource.
bciAccountId :: Lens' BaseConfigurationItem (Maybe Text)

-- | Configuration attributes that AWS Config returns for certain resource
--   types to supplement the information returned for the configuration
--   parameter.
bciSupplementaryConfiguration :: Lens' BaseConfigurationItem (HashMap Text Text)

-- | The Availability Zone associated with the resource.
bciAvailabilityZone :: Lens' BaseConfigurationItem (Maybe Text)

-- | The version number of the resource configuration.
bciVersion :: Lens' BaseConfigurationItem (Maybe Text)

-- | The region where the resource resides.
bciAwsRegion :: Lens' BaseConfigurationItem (Maybe Text)

-- | The description of the resource configuration.
bciConfiguration :: Lens' BaseConfigurationItem (Maybe Text)

-- | Indicates whether an AWS resource or AWS Config rule is compliant and
--   provides the number of contributors that affect the compliance.
--   
--   <i>See:</i> <a>compliance</a> smart constructor.
data Compliance

-- | Creates a value of <a>Compliance</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cComplianceContributorCount</a> - The number of AWS resources
--   or AWS Config rules that cause a result of <tt>NON_COMPLIANT</tt> , up
--   to a maximum number.</li>
--   <li><a>cComplianceType</a> - Indicates whether an AWS resource or AWS
--   Config rule is compliant. A resource is compliant if it complies with
--   all of the AWS Config rules that evaluate it. A resource is
--   noncompliant if it does not comply with one or more of these rules. A
--   rule is compliant if all of the resources that the rule evaluates
--   comply with it. A rule is noncompliant if any of these resources do
--   not comply. AWS Config returns the <tt>INSUFFICIENT_DATA</tt> value
--   when no evaluation results are available for the AWS resource or AWS
--   Config rule. For the <tt>Compliance</tt> data type, AWS Config
--   supports only <tt>COMPLIANT</tt> , <tt>NON_COMPLIANT</tt> , and
--   <tt>INSUFFICIENT_DATA</tt> values. AWS Config does not support the
--   <tt>NOT_APPLICABLE</tt> value for the <tt>Compliance</tt> data
--   type.</li>
--   </ul>
compliance :: Compliance

-- | The number of AWS resources or AWS Config rules that cause a result of
--   <tt>NON_COMPLIANT</tt> , up to a maximum number.
cComplianceContributorCount :: Lens' Compliance (Maybe ComplianceContributorCount)

-- | Indicates whether an AWS resource or AWS Config rule is compliant. A
--   resource is compliant if it complies with all of the AWS Config rules
--   that evaluate it. A resource is noncompliant if it does not comply
--   with one or more of these rules. A rule is compliant if all of the
--   resources that the rule evaluates comply with it. A rule is
--   noncompliant if any of these resources do not comply. AWS Config
--   returns the <tt>INSUFFICIENT_DATA</tt> value when no evaluation
--   results are available for the AWS resource or AWS Config rule. For the
--   <tt>Compliance</tt> data type, AWS Config supports only
--   <tt>COMPLIANT</tt> , <tt>NON_COMPLIANT</tt> , and
--   <tt>INSUFFICIENT_DATA</tt> values. AWS Config does not support the
--   <tt>NOT_APPLICABLE</tt> value for the <tt>Compliance</tt> data type.
cComplianceType :: Lens' Compliance (Maybe ComplianceType)

-- | Indicates whether an AWS Config rule is compliant. A rule is compliant
--   if all of the resources that the rule evaluated comply with it. A rule
--   is noncompliant if any of these resources do not comply.
--   
--   <i>See:</i> <a>complianceByConfigRule</a> smart constructor.
data ComplianceByConfigRule

-- | Creates a value of <a>ComplianceByConfigRule</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cbcrCompliance</a> - Indicates whether the AWS Config rule is
--   compliant.</li>
--   <li><a>cbcrConfigRuleName</a> - The name of the AWS Config rule.</li>
--   </ul>
complianceByConfigRule :: ComplianceByConfigRule

-- | Indicates whether the AWS Config rule is compliant.
cbcrCompliance :: Lens' ComplianceByConfigRule (Maybe Compliance)

-- | The name of the AWS Config rule.
cbcrConfigRuleName :: Lens' ComplianceByConfigRule (Maybe Text)

-- | Indicates whether an AWS resource that is evaluated according to one
--   or more AWS Config rules is compliant. A resource is compliant if it
--   complies with all of the rules that evaluate it. A resource is
--   noncompliant if it does not comply with one or more of these rules.
--   
--   <i>See:</i> <a>complianceByResource</a> smart constructor.
data ComplianceByResource

-- | Creates a value of <a>ComplianceByResource</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cbrResourceId</a> - The ID of the AWS resource that was
--   evaluated.</li>
--   <li><a>cbrResourceType</a> - The type of the AWS resource that was
--   evaluated.</li>
--   <li><a>cbrCompliance</a> - Indicates whether the AWS resource complies
--   with all of the AWS Config rules that evaluated it.</li>
--   </ul>
complianceByResource :: ComplianceByResource

-- | The ID of the AWS resource that was evaluated.
cbrResourceId :: Lens' ComplianceByResource (Maybe Text)

-- | The type of the AWS resource that was evaluated.
cbrResourceType :: Lens' ComplianceByResource (Maybe Text)

-- | Indicates whether the AWS resource complies with all of the AWS Config
--   rules that evaluated it.
cbrCompliance :: Lens' ComplianceByResource (Maybe Compliance)

-- | The number of AWS resources or AWS Config rules responsible for the
--   current compliance of the item, up to a maximum number.
--   
--   <i>See:</i> <a>complianceContributorCount</a> smart constructor.
data ComplianceContributorCount

-- | Creates a value of <a>ComplianceContributorCount</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cccCappedCount</a> - The number of AWS resources or AWS Config
--   rules responsible for the current compliance of the item.</li>
--   <li><a>cccCapExceeded</a> - Indicates whether the maximum count is
--   reached.</li>
--   </ul>
complianceContributorCount :: ComplianceContributorCount

-- | The number of AWS resources or AWS Config rules responsible for the
--   current compliance of the item.
cccCappedCount :: Lens' ComplianceContributorCount (Maybe Int)

-- | Indicates whether the maximum count is reached.
cccCapExceeded :: Lens' ComplianceContributorCount (Maybe Bool)

-- | The number of AWS Config rules or AWS resources that are compliant and
--   noncompliant.
--   
--   <i>See:</i> <a>complianceSummary</a> smart constructor.
data ComplianceSummary

-- | Creates a value of <a>ComplianceSummary</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csComplianceSummaryTimestamp</a> - The time that AWS Config
--   created the compliance summary.</li>
--   <li><a>csCompliantResourceCount</a> - The number of AWS Config rules
--   or AWS resources that are compliant, up to a maximum of 25 for rules
--   and 100 for resources.</li>
--   <li><a>csNonCompliantResourceCount</a> - The number of AWS Config
--   rules or AWS resources that are noncompliant, up to a maximum of 25
--   for rules and 100 for resources.</li>
--   </ul>
complianceSummary :: ComplianceSummary

-- | The time that AWS Config created the compliance summary.
csComplianceSummaryTimestamp :: Lens' ComplianceSummary (Maybe UTCTime)

-- | The number of AWS Config rules or AWS resources that are compliant, up
--   to a maximum of 25 for rules and 100 for resources.
csCompliantResourceCount :: Lens' ComplianceSummary (Maybe ComplianceContributorCount)

-- | The number of AWS Config rules or AWS resources that are noncompliant,
--   up to a maximum of 25 for rules and 100 for resources.
csNonCompliantResourceCount :: Lens' ComplianceSummary (Maybe ComplianceContributorCount)

-- | The number of AWS resources of a specific type that are compliant or
--   noncompliant, up to a maximum of 100 for each.
--   
--   <i>See:</i> <a>complianceSummaryByResourceType</a> smart constructor.
data ComplianceSummaryByResourceType

-- | Creates a value of <a>ComplianceSummaryByResourceType</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csbrtResourceType</a> - The type of AWS resource.</li>
--   <li><a>csbrtComplianceSummary</a> - The number of AWS resources that
--   are compliant or noncompliant, up to a maximum of 100 for each.</li>
--   </ul>
complianceSummaryByResourceType :: ComplianceSummaryByResourceType

-- | The type of AWS resource.
csbrtResourceType :: Lens' ComplianceSummaryByResourceType (Maybe Text)

-- | The number of AWS resources that are compliant or noncompliant, up to
--   a maximum of 100 for each.
csbrtComplianceSummary :: Lens' ComplianceSummaryByResourceType (Maybe ComplianceSummary)

-- | Provides status of the delivery of the snapshot or the configuration
--   history to the specified Amazon S3 bucket. Also provides the status of
--   notifications about the Amazon S3 delivery to the specified Amazon SNS
--   topic.
--   
--   <i>See:</i> <a>configExportDeliveryInfo</a> smart constructor.
data ConfigExportDeliveryInfo

-- | Creates a value of <a>ConfigExportDeliveryInfo</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cediLastErrorCode</a> - The error code from the last attempted
--   delivery.</li>
--   <li><a>cediLastAttemptTime</a> - The time of the last attempted
--   delivery.</li>
--   <li><a>cediLastSuccessfulTime</a> - The time of the last successful
--   delivery.</li>
--   <li><a>cediLastStatus</a> - Status of the last attempted
--   delivery.</li>
--   <li><a>cediLastErrorMessage</a> - The error message from the last
--   attempted delivery.</li>
--   <li><a>cediNextDeliveryTime</a> - The time that the next delivery
--   occurs.</li>
--   </ul>
configExportDeliveryInfo :: ConfigExportDeliveryInfo

-- | The error code from the last attempted delivery.
cediLastErrorCode :: Lens' ConfigExportDeliveryInfo (Maybe Text)

-- | The time of the last attempted delivery.
cediLastAttemptTime :: Lens' ConfigExportDeliveryInfo (Maybe UTCTime)

-- | The time of the last successful delivery.
cediLastSuccessfulTime :: Lens' ConfigExportDeliveryInfo (Maybe UTCTime)

-- | Status of the last attempted delivery.
cediLastStatus :: Lens' ConfigExportDeliveryInfo (Maybe DeliveryStatus)

-- | The error message from the last attempted delivery.
cediLastErrorMessage :: Lens' ConfigExportDeliveryInfo (Maybe Text)

-- | The time that the next delivery occurs.
cediNextDeliveryTime :: Lens' ConfigExportDeliveryInfo (Maybe UTCTime)

-- | An AWS Config rule represents an AWS Lambda function that you create
--   for a custom rule or a predefined function for an AWS managed rule.
--   The function evaluates configuration items to assess whether your AWS
--   resources comply with your desired configurations. This function can
--   run when AWS Config detects a configuration change to an AWS resource
--   and at a periodic frequency that you choose (for example, every 24
--   hours).
--   
--   For more information about developing and using AWS Config rules, see
--   <a>Evaluating AWS Resource Configurations with AWS Config</a> in the
--   <i>AWS Config Developer Guide</i> .
--   
--   <i>See:</i> <a>configRule</a> smart constructor.
data ConfigRule

-- | Creates a value of <a>ConfigRule</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crInputParameters</a> - A string, in JSON format, that is
--   passed to the AWS Config rule Lambda function.</li>
--   <li><a>crConfigRuleName</a> - The name that you assign to the AWS
--   Config rule. The name is required if you are adding a new rule.</li>
--   <li><a>crMaximumExecutionFrequency</a> - The maximum frequency with
--   which AWS Config runs evaluations for a rule. You can specify a value
--   for <tt>MaximumExecutionFrequency</tt> when: * You are using an AWS
--   managed rule that is triggered at a periodic frequency. * Your custom
--   rule is triggered when AWS Config delivers the configuration snapshot.
--   For more information, see <a>ConfigSnapshotDeliveryProperties</a>
--   .</li>
--   <li><a>crConfigRuleId</a> - The ID of the AWS Config rule.</li>
--   <li><a>crScope</a> - Defines which resources can trigger an evaluation
--   for the rule. The scope can include one or more resource types, a
--   combination of one resource type and one resource ID, or a combination
--   of a tag key and value. Specify a scope to constrain the resources
--   that can trigger an evaluation for the rule. If you do not specify a
--   scope, evaluations are triggered when any resource in the recording
--   group changes.</li>
--   <li><a>crConfigRuleState</a> - Indicates whether the AWS Config rule
--   is active or is currently being deleted by AWS Config. It can also
--   indicate the evaluation status for the AWS Config rule. AWS Config
--   sets the state of the rule to <tt>EVALUATING</tt> temporarily after
--   you use the <tt>StartConfigRulesEvaluation</tt> request to evaluate
--   your resources against the AWS Config rule. AWS Config sets the state
--   of the rule to <tt>DELETING_RESULTS</tt> temporarily after you use the
--   <tt>DeleteEvaluationResults</tt> request to delete the current
--   evaluation results for the AWS Config rule. AWS Config temporarily
--   sets the state of a rule to <tt>DELETING</tt> after you use the
--   <tt>DeleteConfigRule</tt> request to delete the rule. After AWS Config
--   deletes the rule, the rule and all of its evaluations are erased and
--   are no longer available.</li>
--   <li><a>crDescription</a> - The description that you provide for the
--   AWS Config rule.</li>
--   <li><a>crConfigRuleARN</a> - The Amazon Resource Name (ARN) of the AWS
--   Config rule.</li>
--   <li><a>crSource</a> - Provides the rule owner (AWS or customer), the
--   rule identifier, and the notifications that cause the function to
--   evaluate your AWS resources.</li>
--   </ul>
configRule :: Source -> ConfigRule

-- | A string, in JSON format, that is passed to the AWS Config rule Lambda
--   function.
crInputParameters :: Lens' ConfigRule (Maybe Text)

-- | The name that you assign to the AWS Config rule. The name is required
--   if you are adding a new rule.
crConfigRuleName :: Lens' ConfigRule (Maybe Text)

-- | The maximum frequency with which AWS Config runs evaluations for a
--   rule. You can specify a value for <tt>MaximumExecutionFrequency</tt>
--   when: * You are using an AWS managed rule that is triggered at a
--   periodic frequency. * Your custom rule is triggered when AWS Config
--   delivers the configuration snapshot. For more information, see
--   <a>ConfigSnapshotDeliveryProperties</a> .
crMaximumExecutionFrequency :: Lens' ConfigRule (Maybe MaximumExecutionFrequency)

-- | The ID of the AWS Config rule.
crConfigRuleId :: Lens' ConfigRule (Maybe Text)

-- | Defines which resources can trigger an evaluation for the rule. The
--   scope can include one or more resource types, a combination of one
--   resource type and one resource ID, or a combination of a tag key and
--   value. Specify a scope to constrain the resources that can trigger an
--   evaluation for the rule. If you do not specify a scope, evaluations
--   are triggered when any resource in the recording group changes.
crScope :: Lens' ConfigRule (Maybe Scope)

-- | Indicates whether the AWS Config rule is active or is currently being
--   deleted by AWS Config. It can also indicate the evaluation status for
--   the AWS Config rule. AWS Config sets the state of the rule to
--   <tt>EVALUATING</tt> temporarily after you use the
--   <tt>StartConfigRulesEvaluation</tt> request to evaluate your resources
--   against the AWS Config rule. AWS Config sets the state of the rule to
--   <tt>DELETING_RESULTS</tt> temporarily after you use the
--   <tt>DeleteEvaluationResults</tt> request to delete the current
--   evaluation results for the AWS Config rule. AWS Config temporarily
--   sets the state of a rule to <tt>DELETING</tt> after you use the
--   <tt>DeleteConfigRule</tt> request to delete the rule. After AWS Config
--   deletes the rule, the rule and all of its evaluations are erased and
--   are no longer available.
crConfigRuleState :: Lens' ConfigRule (Maybe ConfigRuleState)

-- | The description that you provide for the AWS Config rule.
crDescription :: Lens' ConfigRule (Maybe Text)

-- | The Amazon Resource Name (ARN) of the AWS Config rule.
crConfigRuleARN :: Lens' ConfigRule (Maybe Text)

-- | Provides the rule owner (AWS or customer), the rule identifier, and
--   the notifications that cause the function to evaluate your AWS
--   resources.
crSource :: Lens' ConfigRule Source

-- | Filters the compliance results based on account ID, region, compliance
--   type, and rule name.
--   
--   <i>See:</i> <a>configRuleComplianceFilters</a> smart constructor.
data ConfigRuleComplianceFilters

-- | Creates a value of <a>ConfigRuleComplianceFilters</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crcfConfigRuleName</a> - The name of the AWS Config rule.</li>
--   <li><a>crcfAccountId</a> - The 12-digit account ID of the source
--   account.</li>
--   <li><a>crcfComplianceType</a> - The rule compliance status. For the
--   <tt>ConfigRuleComplianceFilters</tt> data type, AWS Config supports
--   only <tt>COMPLIANT</tt> and <tt>NON_COMPLIANT</tt> . AWS Config does
--   not support the <tt>NOT_APPLICABLE</tt> and the
--   <tt>INSUFFICIENT_DATA</tt> values.</li>
--   <li><a>crcfAWSRegion</a> - The source region where the data is
--   aggregated.</li>
--   </ul>
configRuleComplianceFilters :: ConfigRuleComplianceFilters

-- | The name of the AWS Config rule.
crcfConfigRuleName :: Lens' ConfigRuleComplianceFilters (Maybe Text)

-- | The 12-digit account ID of the source account.
crcfAccountId :: Lens' ConfigRuleComplianceFilters (Maybe Text)

-- | The rule compliance status. For the
--   <tt>ConfigRuleComplianceFilters</tt> data type, AWS Config supports
--   only <tt>COMPLIANT</tt> and <tt>NON_COMPLIANT</tt> . AWS Config does
--   not support the <tt>NOT_APPLICABLE</tt> and the
--   <tt>INSUFFICIENT_DATA</tt> values.
crcfComplianceType :: Lens' ConfigRuleComplianceFilters (Maybe ComplianceType)

-- | The source region where the data is aggregated.
crcfAWSRegion :: Lens' ConfigRuleComplianceFilters (Maybe Text)

-- | Filters the results based on the account IDs and regions.
--   
--   <i>See:</i> <a>configRuleComplianceSummaryFilters</a> smart
--   constructor.
data ConfigRuleComplianceSummaryFilters

-- | Creates a value of <a>ConfigRuleComplianceSummaryFilters</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crcsfAccountId</a> - The 12-digit account ID of the source
--   account.</li>
--   <li><a>crcsfAWSRegion</a> - The source region where the data is
--   aggregated.</li>
--   </ul>
configRuleComplianceSummaryFilters :: ConfigRuleComplianceSummaryFilters

-- | The 12-digit account ID of the source account.
crcsfAccountId :: Lens' ConfigRuleComplianceSummaryFilters (Maybe Text)

-- | The source region where the data is aggregated.
crcsfAWSRegion :: Lens' ConfigRuleComplianceSummaryFilters (Maybe Text)

-- | Status information for your AWS managed Config rules. The status
--   includes information such as the last time the rule ran, the last time
--   it failed, and the related error for the last failure.
--   
--   This action does not return status information about custom AWS Config
--   rules.
--   
--   <i>See:</i> <a>configRuleEvaluationStatus</a> smart constructor.
data ConfigRuleEvaluationStatus

-- | Creates a value of <a>ConfigRuleEvaluationStatus</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cresLastErrorCode</a> - The error code that AWS Config returned
--   when the rule last failed.</li>
--   <li><a>cresLastFailedEvaluationTime</a> - The time that AWS Config
--   last failed to evaluate your AWS resources against the rule.</li>
--   <li><a>cresFirstActivatedTime</a> - The time that you first activated
--   the AWS Config rule.</li>
--   <li><a>cresLastSuccessfulEvaluationTime</a> - The time that AWS Config
--   last successfully evaluated your AWS resources against the rule.</li>
--   <li><a>cresConfigRuleName</a> - The name of the AWS Config rule.</li>
--   <li><a>cresLastErrorMessage</a> - The error message that AWS Config
--   returned when the rule last failed.</li>
--   <li><a>cresConfigRuleId</a> - The ID of the AWS Config rule.</li>
--   <li><a>cresLastFailedInvocationTime</a> - The time that AWS Config
--   last failed to invoke the AWS Config rule to evaluate your AWS
--   resources.</li>
--   <li><a>cresFirstEvaluationStarted</a> - Indicates whether AWS Config
--   has evaluated your resources against the rule at least once. *
--   <tt>true</tt> - AWS Config has evaluated your AWS resources against
--   the rule at least once. * <tt>false</tt> - AWS Config has not once
--   finished evaluating your AWS resources against the rule.</li>
--   <li><a>cresLastSuccessfulInvocationTime</a> - The time that AWS Config
--   last successfully invoked the AWS Config rule to evaluate your AWS
--   resources.</li>
--   <li><a>cresConfigRuleARN</a> - The Amazon Resource Name (ARN) of the
--   AWS Config rule.</li>
--   </ul>
configRuleEvaluationStatus :: ConfigRuleEvaluationStatus

-- | The error code that AWS Config returned when the rule last failed.
cresLastErrorCode :: Lens' ConfigRuleEvaluationStatus (Maybe Text)

-- | The time that AWS Config last failed to evaluate your AWS resources
--   against the rule.
cresLastFailedEvaluationTime :: Lens' ConfigRuleEvaluationStatus (Maybe UTCTime)

-- | The time that you first activated the AWS Config rule.
cresFirstActivatedTime :: Lens' ConfigRuleEvaluationStatus (Maybe UTCTime)

-- | The time that AWS Config last successfully evaluated your AWS
--   resources against the rule.
cresLastSuccessfulEvaluationTime :: Lens' ConfigRuleEvaluationStatus (Maybe UTCTime)

-- | The name of the AWS Config rule.
cresConfigRuleName :: Lens' ConfigRuleEvaluationStatus (Maybe Text)

-- | The error message that AWS Config returned when the rule last failed.
cresLastErrorMessage :: Lens' ConfigRuleEvaluationStatus (Maybe Text)

-- | The ID of the AWS Config rule.
cresConfigRuleId :: Lens' ConfigRuleEvaluationStatus (Maybe Text)

-- | The time that AWS Config last failed to invoke the AWS Config rule to
--   evaluate your AWS resources.
cresLastFailedInvocationTime :: Lens' ConfigRuleEvaluationStatus (Maybe UTCTime)

-- | Indicates whether AWS Config has evaluated your resources against the
--   rule at least once. * <tt>true</tt> - AWS Config has evaluated your
--   AWS resources against the rule at least once. * <tt>false</tt> - AWS
--   Config has not once finished evaluating your AWS resources against the
--   rule.
cresFirstEvaluationStarted :: Lens' ConfigRuleEvaluationStatus (Maybe Bool)

-- | The time that AWS Config last successfully invoked the AWS Config rule
--   to evaluate your AWS resources.
cresLastSuccessfulInvocationTime :: Lens' ConfigRuleEvaluationStatus (Maybe UTCTime)

-- | The Amazon Resource Name (ARN) of the AWS Config rule.
cresConfigRuleARN :: Lens' ConfigRuleEvaluationStatus (Maybe Text)

-- | Provides options for how often AWS Config delivers configuration
--   snapshots to the Amazon S3 bucket in your delivery channel.
--   
--   The frequency for a rule that triggers evaluations for your resources
--   when AWS Config delivers the configuration snapshot is set by one of
--   two values, depending on which is less frequent:
--   
--   <ul>
--   <li>The value for the <tt>deliveryFrequency</tt> parameter within the
--   delivery channel configuration, which sets how often AWS Config
--   delivers configuration snapshots. This value also sets how often AWS
--   Config invokes evaluations for AWS Config rules.</li>
--   <li>The value for the <tt>MaximumExecutionFrequency</tt> parameter,
--   which sets the maximum frequency with which AWS Config invokes
--   evaluations for the rule. For more information, see <a>ConfigRule</a>
--   .</li>
--   </ul>
--   
--   If the <tt>deliveryFrequency</tt> value is less frequent than the
--   <tt>MaximumExecutionFrequency</tt> value for a rule, AWS Config
--   invokes the rule only as often as the <tt>deliveryFrequency</tt>
--   value.
--   
--   <ul>
--   <li>For example, you want your rule to run evaluations when AWS Config
--   delivers the configuration snapshot.</li>
--   <li>You specify the <tt>MaximumExecutionFrequency</tt> value for
--   <tt>Six_Hours</tt> .</li>
--   <li>You then specify the delivery channel <tt>deliveryFrequency</tt>
--   value for <tt>TwentyFour_Hours</tt> .</li>
--   <li>Because the value for <tt>deliveryFrequency</tt> is less frequent
--   than <tt>MaximumExecutionFrequency</tt> , AWS Config invokes
--   evaluations for the rule every 24 hours.</li>
--   </ul>
--   
--   You should set the <tt>MaximumExecutionFrequency</tt> value to be at
--   least as frequent as the <tt>deliveryFrequency</tt> value. You can
--   view the <tt>deliveryFrequency</tt> value by using the
--   <tt>DescribeDeliveryChannnels</tt> action.
--   
--   To update the <tt>deliveryFrequency</tt> with which AWS Config
--   delivers your configuration snapshots, use the
--   <tt>PutDeliveryChannel</tt> action.
--   
--   <i>See:</i> <a>configSnapshotDeliveryProperties</a> smart constructor.
data ConfigSnapshotDeliveryProperties

-- | Creates a value of <a>ConfigSnapshotDeliveryProperties</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csdpDeliveryFrequency</a> - The frequency with which AWS Config
--   delivers configuration snapshots.</li>
--   </ul>
configSnapshotDeliveryProperties :: ConfigSnapshotDeliveryProperties

-- | The frequency with which AWS Config delivers configuration snapshots.
csdpDeliveryFrequency :: Lens' ConfigSnapshotDeliveryProperties (Maybe MaximumExecutionFrequency)

-- | A list that contains the status of the delivery of the configuration
--   stream notification to the Amazon SNS topic.
--   
--   <i>See:</i> <a>configStreamDeliveryInfo</a> smart constructor.
data ConfigStreamDeliveryInfo

-- | Creates a value of <a>ConfigStreamDeliveryInfo</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csdiLastErrorCode</a> - The error code from the last attempted
--   delivery.</li>
--   <li><a>csdiLastStatusChangeTime</a> - The time from the last status
--   change.</li>
--   <li><a>csdiLastStatus</a> - Status of the last attempted delivery.
--   <b>Note</b> Providing an SNS topic on a <a>DeliveryChannel</a> for AWS
--   Config is optional. If the SNS delivery is turned off, the last status
--   will be <b>Not_Applicable</b> .</li>
--   <li><a>csdiLastErrorMessage</a> - The error message from the last
--   attempted delivery.</li>
--   </ul>
configStreamDeliveryInfo :: ConfigStreamDeliveryInfo

-- | The error code from the last attempted delivery.
csdiLastErrorCode :: Lens' ConfigStreamDeliveryInfo (Maybe Text)

-- | The time from the last status change.
csdiLastStatusChangeTime :: Lens' ConfigStreamDeliveryInfo (Maybe UTCTime)

-- | Status of the last attempted delivery. <b>Note</b> Providing an SNS
--   topic on a <a>DeliveryChannel</a> for AWS Config is optional. If the
--   SNS delivery is turned off, the last status will be
--   <b>Not_Applicable</b> .
csdiLastStatus :: Lens' ConfigStreamDeliveryInfo (Maybe DeliveryStatus)

-- | The error message from the last attempted delivery.
csdiLastErrorMessage :: Lens' ConfigStreamDeliveryInfo (Maybe Text)

-- | The details about the configuration aggregator, including information
--   about source accounts, regions, and metadata of the aggregator.
--   
--   <i>See:</i> <a>configurationAggregator</a> smart constructor.
data ConfigurationAggregator

-- | Creates a value of <a>ConfigurationAggregator</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>caConfigurationAggregatorARN</a> - The Amazon Resource Name
--   (ARN) of the aggregator.</li>
--   <li><a>caCreationTime</a> - The time stamp when the configuration
--   aggregator was created.</li>
--   <li><a>caOrganizationAggregationSource</a> - Provides an organization
--   and list of regions to be aggregated.</li>
--   <li><a>caLastUpdatedTime</a> - The time of the last update.</li>
--   <li><a>caAccountAggregationSources</a> - Provides a list of source
--   accounts and regions to be aggregated.</li>
--   <li><a>caConfigurationAggregatorName</a> - The name of the
--   aggregator.</li>
--   </ul>
configurationAggregator :: ConfigurationAggregator

-- | The Amazon Resource Name (ARN) of the aggregator.
caConfigurationAggregatorARN :: Lens' ConfigurationAggregator (Maybe Text)

-- | The time stamp when the configuration aggregator was created.
caCreationTime :: Lens' ConfigurationAggregator (Maybe UTCTime)

-- | Provides an organization and list of regions to be aggregated.
caOrganizationAggregationSource :: Lens' ConfigurationAggregator (Maybe OrganizationAggregationSource)

-- | The time of the last update.
caLastUpdatedTime :: Lens' ConfigurationAggregator (Maybe UTCTime)

-- | Provides a list of source accounts and regions to be aggregated.
caAccountAggregationSources :: Lens' ConfigurationAggregator [AccountAggregationSource]

-- | The name of the aggregator.
caConfigurationAggregatorName :: Lens' ConfigurationAggregator (Maybe Text)

-- | A list that contains detailed configurations of a specified resource.
--   
--   <i>See:</i> <a>configurationItem</a> smart constructor.
data ConfigurationItem

-- | Creates a value of <a>ConfigurationItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ciResourceId</a> - The ID of the resource (for example,
--   <tt>sg-xxxxxx</tt> ).</li>
--   <li><a>ciResourceType</a> - The type of AWS resource.</li>
--   <li><a>ciConfigurationStateId</a> - An identifier that indicates the
--   ordering of the configuration items of a resource.</li>
--   <li><a>ciArn</a> - The Amazon Resource Name (ARN) of the
--   resource.</li>
--   <li><a>ciResourceName</a> - The custom name of the resource, if
--   available.</li>
--   <li><a>ciResourceCreationTime</a> - The time stamp when the resource
--   was created.</li>
--   <li><a>ciConfigurationItemStatus</a> - The configuration item
--   status.</li>
--   <li><a>ciConfigurationItemCaptureTime</a> - The time when the
--   configuration recording was initiated.</li>
--   <li><a>ciAccountId</a> - The 12-digit AWS account ID associated with
--   the resource.</li>
--   <li><a>ciSupplementaryConfiguration</a> - Configuration attributes
--   that AWS Config returns for certain resource types to supplement the
--   information returned for the <tt>configuration</tt> parameter.</li>
--   <li><a>ciAvailabilityZone</a> - The Availability Zone associated with
--   the resource.</li>
--   <li><a>ciRelationships</a> - A list of related AWS resources.</li>
--   <li><a>ciVersion</a> - The version number of the resource
--   configuration.</li>
--   <li><a>ciAwsRegion</a> - The region where the resource resides.</li>
--   <li><a>ciRelatedEvents</a> - A list of CloudTrail event IDs. A
--   populated field indicates that the current configuration was initiated
--   by the events recorded in the CloudTrail log. For more information
--   about CloudTrail, see <a>What Is AWS CloudTrail</a> . An empty field
--   indicates that the current configuration was not initiated by any
--   event.</li>
--   <li><a>ciConfiguration</a> - The description of the resource
--   configuration.</li>
--   <li><a>ciConfigurationItemMD5Hash</a> - Unique MD5 hash that
--   represents the configuration item's state. You can use MD5 hash to
--   compare the states of two or more configuration items that are
--   associated with the same resource.</li>
--   <li><a>ciTags</a> - A mapping of key value tags associated with the
--   resource.</li>
--   </ul>
configurationItem :: ConfigurationItem

-- | The ID of the resource (for example, <tt>sg-xxxxxx</tt> ).
ciResourceId :: Lens' ConfigurationItem (Maybe Text)

-- | The type of AWS resource.
ciResourceType :: Lens' ConfigurationItem (Maybe ResourceType)

-- | An identifier that indicates the ordering of the configuration items
--   of a resource.
ciConfigurationStateId :: Lens' ConfigurationItem (Maybe Text)

-- | The Amazon Resource Name (ARN) of the resource.
ciArn :: Lens' ConfigurationItem (Maybe Text)

-- | The custom name of the resource, if available.
ciResourceName :: Lens' ConfigurationItem (Maybe Text)

-- | The time stamp when the resource was created.
ciResourceCreationTime :: Lens' ConfigurationItem (Maybe UTCTime)

-- | The configuration item status.
ciConfigurationItemStatus :: Lens' ConfigurationItem (Maybe ConfigurationItemStatus)

-- | The time when the configuration recording was initiated.
ciConfigurationItemCaptureTime :: Lens' ConfigurationItem (Maybe UTCTime)

-- | The 12-digit AWS account ID associated with the resource.
ciAccountId :: Lens' ConfigurationItem (Maybe Text)

-- | Configuration attributes that AWS Config returns for certain resource
--   types to supplement the information returned for the
--   <tt>configuration</tt> parameter.
ciSupplementaryConfiguration :: Lens' ConfigurationItem (HashMap Text Text)

-- | The Availability Zone associated with the resource.
ciAvailabilityZone :: Lens' ConfigurationItem (Maybe Text)

-- | A list of related AWS resources.
ciRelationships :: Lens' ConfigurationItem [Relationship]

-- | The version number of the resource configuration.
ciVersion :: Lens' ConfigurationItem (Maybe Text)

-- | The region where the resource resides.
ciAwsRegion :: Lens' ConfigurationItem (Maybe Text)

-- | A list of CloudTrail event IDs. A populated field indicates that the
--   current configuration was initiated by the events recorded in the
--   CloudTrail log. For more information about CloudTrail, see <a>What Is
--   AWS CloudTrail</a> . An empty field indicates that the current
--   configuration was not initiated by any event.
ciRelatedEvents :: Lens' ConfigurationItem [Text]

-- | The description of the resource configuration.
ciConfiguration :: Lens' ConfigurationItem (Maybe Text)

-- | Unique MD5 hash that represents the configuration item's state. You
--   can use MD5 hash to compare the states of two or more configuration
--   items that are associated with the same resource.
ciConfigurationItemMD5Hash :: Lens' ConfigurationItem (Maybe Text)

-- | A mapping of key value tags associated with the resource.
ciTags :: Lens' ConfigurationItem (HashMap Text Text)

-- | An object that represents the recording of configuration changes of an
--   AWS resource.
--   
--   <i>See:</i> <a>configurationRecorder</a> smart constructor.
data ConfigurationRecorder

-- | Creates a value of <a>ConfigurationRecorder</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crName</a> - The name of the recorder. By default, AWS Config
--   automatically assigns the name "default" when creating the
--   configuration recorder. You cannot change the assigned name.</li>
--   <li><a>crRecordingGroup</a> - Specifies the types of AWS resources for
--   which AWS Config records configuration changes.</li>
--   <li><a>crRoleARN</a> - Amazon Resource Name (ARN) of the IAM role used
--   to describe the AWS resources associated with the account.</li>
--   </ul>
configurationRecorder :: ConfigurationRecorder

-- | The name of the recorder. By default, AWS Config automatically assigns
--   the name "default" when creating the configuration recorder. You
--   cannot change the assigned name.
crName :: Lens' ConfigurationRecorder (Maybe Text)

-- | Specifies the types of AWS resources for which AWS Config records
--   configuration changes.
crRecordingGroup :: Lens' ConfigurationRecorder (Maybe RecordingGroup)

-- | Amazon Resource Name (ARN) of the IAM role used to describe the AWS
--   resources associated with the account.
crRoleARN :: Lens' ConfigurationRecorder (Maybe Text)

-- | The current status of the configuration recorder.
--   
--   <i>See:</i> <a>configurationRecorderStatus</a> smart constructor.
data ConfigurationRecorderStatus

-- | Creates a value of <a>ConfigurationRecorderStatus</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crsLastErrorCode</a> - The error code indicating that the
--   recording failed.</li>
--   <li><a>crsLastStopTime</a> - The time the recorder was last
--   stopped.</li>
--   <li><a>crsLastStatusChangeTime</a> - The time when the status was last
--   changed.</li>
--   <li><a>crsRecording</a> - Specifies whether or not the recorder is
--   currently recording.</li>
--   <li><a>crsLastStatus</a> - The last (previous) status of the
--   recorder.</li>
--   <li><a>crsLastErrorMessage</a> - The message indicating that the
--   recording failed due to an error.</li>
--   <li><a>crsName</a> - The name of the configuration recorder.</li>
--   <li><a>crsLastStartTime</a> - The time the recorder was last
--   started.</li>
--   </ul>
configurationRecorderStatus :: ConfigurationRecorderStatus

-- | The error code indicating that the recording failed.
crsLastErrorCode :: Lens' ConfigurationRecorderStatus (Maybe Text)

-- | The time the recorder was last stopped.
crsLastStopTime :: Lens' ConfigurationRecorderStatus (Maybe UTCTime)

-- | The time when the status was last changed.
crsLastStatusChangeTime :: Lens' ConfigurationRecorderStatus (Maybe UTCTime)

-- | Specifies whether or not the recorder is currently recording.
crsRecording :: Lens' ConfigurationRecorderStatus (Maybe Bool)

-- | The last (previous) status of the recorder.
crsLastStatus :: Lens' ConfigurationRecorderStatus (Maybe RecorderStatus)

-- | The message indicating that the recording failed due to an error.
crsLastErrorMessage :: Lens' ConfigurationRecorderStatus (Maybe Text)

-- | The name of the configuration recorder.
crsName :: Lens' ConfigurationRecorderStatus (Maybe Text)

-- | The time the recorder was last started.
crsLastStartTime :: Lens' ConfigurationRecorderStatus (Maybe UTCTime)

-- | The channel through which AWS Config delivers notifications and
--   updated configuration states.
--   
--   <i>See:</i> <a>deliveryChannel</a> smart constructor.
data DeliveryChannel

-- | Creates a value of <a>DeliveryChannel</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcS3KeyPrefix</a> - The prefix for the specified Amazon S3
--   bucket.</li>
--   <li><a>dcSnsTopicARN</a> - The Amazon Resource Name (ARN) of the
--   Amazon SNS topic to which AWS Config sends notifications about
--   configuration changes. If you choose a topic from another account, the
--   topic must have policies that grant access permissions to AWS Config.
--   For more information, see <a>Permissions for the Amazon SNS Topic</a>
--   in the AWS Config Developer Guide.</li>
--   <li><a>dcName</a> - The name of the delivery channel. By default, AWS
--   Config assigns the name "default" when creating the delivery channel.
--   To change the delivery channel name, you must use the
--   DeleteDeliveryChannel action to delete your current delivery channel,
--   and then you must use the PutDeliveryChannel command to create a
--   delivery channel that has the desired name.</li>
--   <li><a>dcConfigSnapshotDeliveryProperties</a> - The options for how
--   often AWS Config delivers configuration snapshots to the Amazon S3
--   bucket.</li>
--   <li><a>dcS3BucketName</a> - The name of the Amazon S3 bucket to which
--   AWS Config delivers configuration snapshots and configuration history
--   files. If you specify a bucket that belongs to another AWS account,
--   that bucket must have policies that grant access permissions to AWS
--   Config. For more information, see <a>Permissions for the Amazon S3
--   Bucket</a> in the AWS Config Developer Guide.</li>
--   </ul>
deliveryChannel :: DeliveryChannel

-- | The prefix for the specified Amazon S3 bucket.
dcS3KeyPrefix :: Lens' DeliveryChannel (Maybe Text)

-- | The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS
--   Config sends notifications about configuration changes. If you choose
--   a topic from another account, the topic must have policies that grant
--   access permissions to AWS Config. For more information, see
--   <a>Permissions for the Amazon SNS Topic</a> in the AWS Config
--   Developer Guide.
dcSnsTopicARN :: Lens' DeliveryChannel (Maybe Text)

-- | The name of the delivery channel. By default, AWS Config assigns the
--   name "default" when creating the delivery channel. To change the
--   delivery channel name, you must use the DeleteDeliveryChannel action
--   to delete your current delivery channel, and then you must use the
--   PutDeliveryChannel command to create a delivery channel that has the
--   desired name.
dcName :: Lens' DeliveryChannel (Maybe Text)

-- | The options for how often AWS Config delivers configuration snapshots
--   to the Amazon S3 bucket.
dcConfigSnapshotDeliveryProperties :: Lens' DeliveryChannel (Maybe ConfigSnapshotDeliveryProperties)

-- | The name of the Amazon S3 bucket to which AWS Config delivers
--   configuration snapshots and configuration history files. If you
--   specify a bucket that belongs to another AWS account, that bucket must
--   have policies that grant access permissions to AWS Config. For more
--   information, see <a>Permissions for the Amazon S3 Bucket</a> in the
--   AWS Config Developer Guide.
dcS3BucketName :: Lens' DeliveryChannel (Maybe Text)

-- | The status of a specified delivery channel.
--   
--   Valid values: <tt>Success</tt> | <tt>Failure</tt>
--   
--   <i>See:</i> <a>deliveryChannelStatus</a> smart constructor.
data DeliveryChannelStatus

-- | Creates a value of <a>DeliveryChannelStatus</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcsConfigSnapshotDeliveryInfo</a> - A list containing the
--   status of the delivery of the snapshot to the specified Amazon S3
--   bucket.</li>
--   <li><a>dcsConfigStreamDeliveryInfo</a> - A list containing the status
--   of the delivery of the configuration stream notification to the
--   specified Amazon SNS topic.</li>
--   <li><a>dcsConfigHistoryDeliveryInfo</a> - A list that contains the
--   status of the delivery of the configuration history to the specified
--   Amazon S3 bucket.</li>
--   <li><a>dcsName</a> - The name of the delivery channel.</li>
--   </ul>
deliveryChannelStatus :: DeliveryChannelStatus

-- | A list containing the status of the delivery of the snapshot to the
--   specified Amazon S3 bucket.
dcsConfigSnapshotDeliveryInfo :: Lens' DeliveryChannelStatus (Maybe ConfigExportDeliveryInfo)

-- | A list containing the status of the delivery of the configuration
--   stream notification to the specified Amazon SNS topic.
dcsConfigStreamDeliveryInfo :: Lens' DeliveryChannelStatus (Maybe ConfigStreamDeliveryInfo)

-- | A list that contains the status of the delivery of the configuration
--   history to the specified Amazon S3 bucket.
dcsConfigHistoryDeliveryInfo :: Lens' DeliveryChannelStatus (Maybe ConfigExportDeliveryInfo)

-- | The name of the delivery channel.
dcsName :: Lens' DeliveryChannelStatus (Maybe Text)

-- | Identifies an AWS resource and indicates whether it complies with the
--   AWS Config rule that it was evaluated against.
--   
--   <i>See:</i> <a>evaluation</a> smart constructor.
data Evaluation

-- | Creates a value of <a>Evaluation</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eAnnotation</a> - Supplementary information about how the
--   evaluation determined the compliance.</li>
--   <li><a>eComplianceResourceType</a> - The type of AWS resource that was
--   evaluated.</li>
--   <li><a>eComplianceResourceId</a> - The ID of the AWS resource that was
--   evaluated.</li>
--   <li><a>eComplianceType</a> - Indicates whether the AWS resource
--   complies with the AWS Config rule that it was evaluated against. For
--   the <tt>Evaluation</tt> data type, AWS Config supports only the
--   <tt>COMPLIANT</tt> , <tt>NON_COMPLIANT</tt> , and
--   <tt>NOT_APPLICABLE</tt> values. AWS Config does not support the
--   <tt>INSUFFICIENT_DATA</tt> value for this data type. Similarly, AWS
--   Config does not accept <tt>INSUFFICIENT_DATA</tt> as the value for
--   <tt>ComplianceType</tt> from a <tt>PutEvaluations</tt> request. For
--   example, an AWS Lambda function for a custom AWS Config rule cannot
--   pass an <tt>INSUFFICIENT_DATA</tt> value to AWS Config.</li>
--   <li><a>eOrderingTimestamp</a> - The time of the event in AWS Config
--   that triggered the evaluation. For event-based evaluations, the time
--   indicates when AWS Config created the configuration item that
--   triggered the evaluation. For periodic evaluations, the time indicates
--   when AWS Config triggered the evaluation at the frequency that you
--   specified (for example, every 24 hours).</li>
--   </ul>
evaluation :: Text -> Text -> ComplianceType -> UTCTime -> Evaluation

-- | Supplementary information about how the evaluation determined the
--   compliance.
eAnnotation :: Lens' Evaluation (Maybe Text)

-- | The type of AWS resource that was evaluated.
eComplianceResourceType :: Lens' Evaluation Text

-- | The ID of the AWS resource that was evaluated.
eComplianceResourceId :: Lens' Evaluation Text

-- | Indicates whether the AWS resource complies with the AWS Config rule
--   that it was evaluated against. For the <tt>Evaluation</tt> data type,
--   AWS Config supports only the <tt>COMPLIANT</tt> ,
--   <tt>NON_COMPLIANT</tt> , and <tt>NOT_APPLICABLE</tt> values. AWS
--   Config does not support the <tt>INSUFFICIENT_DATA</tt> value for this
--   data type. Similarly, AWS Config does not accept
--   <tt>INSUFFICIENT_DATA</tt> as the value for <tt>ComplianceType</tt>
--   from a <tt>PutEvaluations</tt> request. For example, an AWS Lambda
--   function for a custom AWS Config rule cannot pass an
--   <tt>INSUFFICIENT_DATA</tt> value to AWS Config.
eComplianceType :: Lens' Evaluation ComplianceType

-- | The time of the event in AWS Config that triggered the evaluation. For
--   event-based evaluations, the time indicates when AWS Config created
--   the configuration item that triggered the evaluation. For periodic
--   evaluations, the time indicates when AWS Config triggered the
--   evaluation at the frequency that you specified (for example, every 24
--   hours).
eOrderingTimestamp :: Lens' Evaluation UTCTime

-- | The details of an AWS Config evaluation. Provides the AWS resource
--   that was evaluated, the compliance of the resource, related time
--   stamps, and supplementary information.
--   
--   <i>See:</i> <a>evaluationResult</a> smart constructor.
data EvaluationResult

-- | Creates a value of <a>EvaluationResult</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>erEvaluationResultIdentifier</a> - Uniquely identifies the
--   evaluation result.</li>
--   <li><a>erAnnotation</a> - Supplementary information about how the
--   evaluation determined the compliance.</li>
--   <li><a>erConfigRuleInvokedTime</a> - The time when the AWS Config rule
--   evaluated the AWS resource.</li>
--   <li><a>erResultRecordedTime</a> - The time when AWS Config recorded
--   the evaluation result.</li>
--   <li><a>erResultToken</a> - An encrypted token that associates an
--   evaluation with an AWS Config rule. The token identifies the rule, the
--   AWS resource being evaluated, and the event that triggered the
--   evaluation.</li>
--   <li><a>erComplianceType</a> - Indicates whether the AWS resource
--   complies with the AWS Config rule that evaluated it. For the
--   <tt>EvaluationResult</tt> data type, AWS Config supports only the
--   <tt>COMPLIANT</tt> , <tt>NON_COMPLIANT</tt> , and
--   <tt>NOT_APPLICABLE</tt> values. AWS Config does not support the
--   <tt>INSUFFICIENT_DATA</tt> value for the <tt>EvaluationResult</tt>
--   data type.</li>
--   </ul>
evaluationResult :: EvaluationResult

-- | Uniquely identifies the evaluation result.
erEvaluationResultIdentifier :: Lens' EvaluationResult (Maybe EvaluationResultIdentifier)

-- | Supplementary information about how the evaluation determined the
--   compliance.
erAnnotation :: Lens' EvaluationResult (Maybe Text)

-- | The time when the AWS Config rule evaluated the AWS resource.
erConfigRuleInvokedTime :: Lens' EvaluationResult (Maybe UTCTime)

-- | The time when AWS Config recorded the evaluation result.
erResultRecordedTime :: Lens' EvaluationResult (Maybe UTCTime)

-- | An encrypted token that associates an evaluation with an AWS Config
--   rule. The token identifies the rule, the AWS resource being evaluated,
--   and the event that triggered the evaluation.
erResultToken :: Lens' EvaluationResult (Maybe Text)

-- | Indicates whether the AWS resource complies with the AWS Config rule
--   that evaluated it. For the <tt>EvaluationResult</tt> data type, AWS
--   Config supports only the <tt>COMPLIANT</tt> , <tt>NON_COMPLIANT</tt> ,
--   and <tt>NOT_APPLICABLE</tt> values. AWS Config does not support the
--   <tt>INSUFFICIENT_DATA</tt> value for the <tt>EvaluationResult</tt>
--   data type.
erComplianceType :: Lens' EvaluationResult (Maybe ComplianceType)

-- | Uniquely identifies an evaluation result.
--   
--   <i>See:</i> <a>evaluationResultIdentifier</a> smart constructor.
data EvaluationResultIdentifier

-- | Creates a value of <a>EvaluationResultIdentifier</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eriEvaluationResultQualifier</a> - Identifies an AWS Config
--   rule used to evaluate an AWS resource, and provides the type and ID of
--   the evaluated resource.</li>
--   <li><a>eriOrderingTimestamp</a> - The time of the event that triggered
--   the evaluation of your AWS resources. The time can indicate when AWS
--   Config delivered a configuration item change notification, or it can
--   indicate when AWS Config delivered the configuration snapshot,
--   depending on which event triggered the evaluation.</li>
--   </ul>
evaluationResultIdentifier :: EvaluationResultIdentifier

-- | Identifies an AWS Config rule used to evaluate an AWS resource, and
--   provides the type and ID of the evaluated resource.
eriEvaluationResultQualifier :: Lens' EvaluationResultIdentifier (Maybe EvaluationResultQualifier)

-- | The time of the event that triggered the evaluation of your AWS
--   resources. The time can indicate when AWS Config delivered a
--   configuration item change notification, or it can indicate when AWS
--   Config delivered the configuration snapshot, depending on which event
--   triggered the evaluation.
eriOrderingTimestamp :: Lens' EvaluationResultIdentifier (Maybe UTCTime)

-- | Identifies an AWS Config rule that evaluated an AWS resource, and
--   provides the type and ID of the resource that the rule evaluated.
--   
--   <i>See:</i> <a>evaluationResultQualifier</a> smart constructor.
data EvaluationResultQualifier

-- | Creates a value of <a>EvaluationResultQualifier</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>erqResourceId</a> - The ID of the evaluated AWS resource.</li>
--   <li><a>erqResourceType</a> - The type of AWS resource that was
--   evaluated.</li>
--   <li><a>erqConfigRuleName</a> - The name of the AWS Config rule that
--   was used in the evaluation.</li>
--   </ul>
evaluationResultQualifier :: EvaluationResultQualifier

-- | The ID of the evaluated AWS resource.
erqResourceId :: Lens' EvaluationResultQualifier (Maybe Text)

-- | The type of AWS resource that was evaluated.
erqResourceType :: Lens' EvaluationResultQualifier (Maybe Text)

-- | The name of the AWS Config rule that was used in the evaluation.
erqConfigRuleName :: Lens' EvaluationResultQualifier (Maybe Text)

-- | This object contains regions to setup the aggregator and an IAM role
--   to retrieve organization details.
--   
--   <i>See:</i> <a>organizationAggregationSource</a> smart constructor.
data OrganizationAggregationSource

-- | Creates a value of <a>OrganizationAggregationSource</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oasAWSRegions</a> - The source regions being aggregated.</li>
--   <li><a>oasAllAWSRegions</a> - If true, aggreagate existing AWS Config
--   regions and future regions.</li>
--   <li><a>oasRoleARN</a> - ARN of the IAM role used to retreive AWS
--   Organization details associated with the aggregator account.</li>
--   </ul>
organizationAggregationSource :: Text -> OrganizationAggregationSource

-- | The source regions being aggregated.
oasAWSRegions :: Lens' OrganizationAggregationSource (Maybe (NonEmpty Text))

-- | If true, aggreagate existing AWS Config regions and future regions.
oasAllAWSRegions :: Lens' OrganizationAggregationSource (Maybe Bool)

-- | ARN of the IAM role used to retreive AWS Organization details
--   associated with the aggregator account.
oasRoleARN :: Lens' OrganizationAggregationSource Text

-- | An object that represents the account ID and region of an aggregator
--   account that is requesting authorization but is not yet authorized.
--   
--   <i>See:</i> <a>pendingAggregationRequest</a> smart constructor.
data PendingAggregationRequest

-- | Creates a value of <a>PendingAggregationRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>parRequesterAccountId</a> - The 12-digit account ID of the
--   account requesting to aggregate data.</li>
--   <li><a>parRequesterAWSRegion</a> - The region requesting to aggregate
--   data.</li>
--   </ul>
pendingAggregationRequest :: PendingAggregationRequest

-- | The 12-digit account ID of the account requesting to aggregate data.
parRequesterAccountId :: Lens' PendingAggregationRequest (Maybe Text)

-- | The region requesting to aggregate data.
parRequesterAWSRegion :: Lens' PendingAggregationRequest (Maybe Text)

-- | Specifies the types of AWS resource for which AWS Config records
--   configuration changes.
--   
--   In the recording group, you specify whether all supported types or
--   specific types of resources are recorded.
--   
--   By default, AWS Config records configuration changes for all supported
--   types of regional resources that AWS Config discovers in the region in
--   which it is running. Regional resources are tied to a region and can
--   be used only in that region. Examples of regional resources are EC2
--   instances and EBS volumes.
--   
--   You can also have AWS Config record configuration changes for
--   supported types of global resources (for example, IAM resources).
--   Global resources are not tied to an individual region and can be used
--   in all regions.
--   
--   <i>Important:</i> The configuration details for any global resource
--   are the same in all regions. If you customize AWS Config in multiple
--   regions to record global resources, it will create multiple
--   configuration items each time a global resource changes: one
--   configuration item for each region. These configuration items will
--   contain identical data. To prevent duplicate configuration items, you
--   should consider customizing AWS Config in only one region to record
--   global resources, unless you want the configuration items to be
--   available in multiple regions.
--   
--   If you don't want AWS Config to record all resources, you can specify
--   which types of resources it will record with the
--   <tt>resourceTypes</tt> parameter.
--   
--   For a list of supported resource types, see <a>Supported Resource
--   Types</a> .
--   
--   For more information, see <a>Selecting Which Resources AWS Config
--   Records</a> .
--   
--   <i>See:</i> <a>recordingGroup</a> smart constructor.
data RecordingGroup

-- | Creates a value of <a>RecordingGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rgAllSupported</a> - Specifies whether AWS Config records
--   configuration changes for every supported type of regional resource.
--   If you set this option to <tt>true</tt> , when AWS Config adds support
--   for a new type of regional resource, it starts recording resources of
--   that type automatically. If you set this option to <tt>true</tt> , you
--   cannot enumerate a list of <tt>resourceTypes</tt> .</li>
--   <li><a>rgIncludeGlobalResourceTypes</a> - Specifies whether AWS Config
--   includes all supported types of global resources (for example, IAM
--   resources) with the resources that it records. Before you can set this
--   option to <tt>true</tt> , you must set the <tt>allSupported</tt>
--   option to <tt>true</tt> . If you set this option to <tt>true</tt> ,
--   when AWS Config adds support for a new type of global resource, it
--   starts recording resources of that type automatically. The
--   configuration details for any global resource are the same in all
--   regions. To prevent duplicate configuration items, you should consider
--   customizing AWS Config in only one region to record global
--   resources.</li>
--   <li><a>rgResourceTypes</a> - A comma-separated list that specifies the
--   types of AWS resources for which AWS Config records configuration
--   changes (for example, <tt>AWS::EC2::Instance</tt> or
--   <tt>AWS::CloudTrail::Trail</tt> ). Before you can set this option to
--   <tt>true</tt> , you must set the <tt>allSupported</tt> option to
--   <tt>false</tt> . If you set this option to <tt>true</tt> , when AWS
--   Config adds support for a new type of resource, it will not record
--   resources of that type unless you manually add that type to your
--   recording group. For a list of valid <tt>resourceTypes</tt> values,
--   see the <b>resourceType Value</b> column in <a>Supported AWS Resource
--   Types</a> .</li>
--   </ul>
recordingGroup :: RecordingGroup

-- | Specifies whether AWS Config records configuration changes for every
--   supported type of regional resource. If you set this option to
--   <tt>true</tt> , when AWS Config adds support for a new type of
--   regional resource, it starts recording resources of that type
--   automatically. If you set this option to <tt>true</tt> , you cannot
--   enumerate a list of <tt>resourceTypes</tt> .
rgAllSupported :: Lens' RecordingGroup (Maybe Bool)

-- | Specifies whether AWS Config includes all supported types of global
--   resources (for example, IAM resources) with the resources that it
--   records. Before you can set this option to <tt>true</tt> , you must
--   set the <tt>allSupported</tt> option to <tt>true</tt> . If you set
--   this option to <tt>true</tt> , when AWS Config adds support for a new
--   type of global resource, it starts recording resources of that type
--   automatically. The configuration details for any global resource are
--   the same in all regions. To prevent duplicate configuration items, you
--   should consider customizing AWS Config in only one region to record
--   global resources.
rgIncludeGlobalResourceTypes :: Lens' RecordingGroup (Maybe Bool)

-- | A comma-separated list that specifies the types of AWS resources for
--   which AWS Config records configuration changes (for example,
--   <tt>AWS::EC2::Instance</tt> or <tt>AWS::CloudTrail::Trail</tt> ).
--   Before you can set this option to <tt>true</tt> , you must set the
--   <tt>allSupported</tt> option to <tt>false</tt> . If you set this
--   option to <tt>true</tt> , when AWS Config adds support for a new type
--   of resource, it will not record resources of that type unless you
--   manually add that type to your recording group. For a list of valid
--   <tt>resourceTypes</tt> values, see the <b>resourceType Value</b>
--   column in <a>Supported AWS Resource Types</a> .
rgResourceTypes :: Lens' RecordingGroup [ResourceType]

-- | The relationship of the related resource to the main resource.
--   
--   <i>See:</i> <a>relationship</a> smart constructor.
data Relationship

-- | Creates a value of <a>Relationship</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rResourceId</a> - The ID of the related resource (for example,
--   <tt>sg-xxxxxx</tt> ).</li>
--   <li><a>rResourceType</a> - The resource type of the related
--   resource.</li>
--   <li><a>rResourceName</a> - The custom name of the related resource, if
--   available.</li>
--   <li><a>rRelationshipName</a> - The type of relationship with the
--   related resource.</li>
--   </ul>
relationship :: Relationship

-- | The ID of the related resource (for example, <tt>sg-xxxxxx</tt> ).
rResourceId :: Lens' Relationship (Maybe Text)

-- | The resource type of the related resource.
rResourceType :: Lens' Relationship (Maybe ResourceType)

-- | The custom name of the related resource, if available.
rResourceName :: Lens' Relationship (Maybe Text)

-- | The type of relationship with the related resource.
rRelationshipName :: Lens' Relationship (Maybe Text)

-- | An object that contains the resource type and the number of resources.
--   
--   <i>See:</i> <a>resourceCount</a> smart constructor.
data ResourceCount

-- | Creates a value of <a>ResourceCount</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rcResourceType</a> - The resource type (for example,
--   <tt>"AWS::EC2::Instance"</tt> ).</li>
--   <li><a>rcCount</a> - The number of resources.</li>
--   </ul>
resourceCount :: ResourceCount

-- | The resource type (for example, <tt>"AWS::EC2::Instance"</tt> ).
rcResourceType :: Lens' ResourceCount (Maybe ResourceType)

-- | The number of resources.
rcCount :: Lens' ResourceCount (Maybe Integer)

-- | The details that identify a resource that is discovered by AWS Config,
--   including the resource type, ID, and (if available) the custom
--   resource name.
--   
--   <i>See:</i> <a>resourceIdentifier</a> smart constructor.
data ResourceIdentifier

-- | Creates a value of <a>ResourceIdentifier</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>riResourceId</a> - The ID of the resource (for example,
--   <tt>sg-xxxxxx</tt> ).</li>
--   <li><a>riResourceType</a> - The type of resource.</li>
--   <li><a>riResourceName</a> - The custom name of the resource (if
--   available).</li>
--   <li><a>riResourceDeletionTime</a> - The time that the resource was
--   deleted.</li>
--   </ul>
resourceIdentifier :: ResourceIdentifier

-- | The ID of the resource (for example, <tt>sg-xxxxxx</tt> ).
riResourceId :: Lens' ResourceIdentifier (Maybe Text)

-- | The type of resource.
riResourceType :: Lens' ResourceIdentifier (Maybe ResourceType)

-- | The custom name of the resource (if available).
riResourceName :: Lens' ResourceIdentifier (Maybe Text)

-- | The time that the resource was deleted.
riResourceDeletionTime :: Lens' ResourceIdentifier (Maybe UTCTime)

-- | The details that identify a resource within AWS Config, including the
--   resource type and resource ID.
--   
--   <i>See:</i> <a>resourceKey</a> smart constructor.
data ResourceKey

-- | Creates a value of <a>ResourceKey</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rkResourceType</a> - The resource type.</li>
--   <li><a>rkResourceId</a> - The ID of the resource (for example.,
--   sg-xxxxxx).</li>
--   </ul>
resourceKey :: ResourceType -> Text -> ResourceKey

-- | The resource type.
rkResourceType :: Lens' ResourceKey ResourceType

-- | The ID of the resource (for example., sg-xxxxxx).
rkResourceId :: Lens' ResourceKey Text

-- | Defines which resources trigger an evaluation for an AWS Config rule.
--   The scope can include one or more resource types, a combination of a
--   tag key and value, or a combination of one resource type and one
--   resource ID. Specify a scope to constrain which resources trigger an
--   evaluation for a rule. Otherwise, evaluations for the rule are
--   triggered when any resource in your recording group changes in
--   configuration.
--   
--   <i>See:</i> <a>scope</a> smart constructor.
data Scope

-- | Creates a value of <a>Scope</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sComplianceResourceTypes</a> - The resource types of only those
--   AWS resources that you want to trigger an evaluation for the rule. You
--   can only specify one type if you also specify a resource ID for
--   <tt>ComplianceResourceId</tt> .</li>
--   <li><a>sComplianceResourceId</a> - The ID of the only AWS resource
--   that you want to trigger an evaluation for the rule. If you specify a
--   resource ID, you must specify one resource type for
--   <tt>ComplianceResourceTypes</tt> .</li>
--   <li><a>sTagValue</a> - The tag value applied to only those AWS
--   resources that you want to trigger an evaluation for the rule. If you
--   specify a value for <tt>TagValue</tt> , you must also specify a value
--   for <tt>TagKey</tt> .</li>
--   <li><a>sTagKey</a> - The tag key that is applied to only those AWS
--   resources that you want to trigger an evaluation for the rule.</li>
--   </ul>
scope :: Scope

-- | The resource types of only those AWS resources that you want to
--   trigger an evaluation for the rule. You can only specify one type if
--   you also specify a resource ID for <tt>ComplianceResourceId</tt> .
sComplianceResourceTypes :: Lens' Scope [Text]

-- | The ID of the only AWS resource that you want to trigger an evaluation
--   for the rule. If you specify a resource ID, you must specify one
--   resource type for <tt>ComplianceResourceTypes</tt> .
sComplianceResourceId :: Lens' Scope (Maybe Text)

-- | The tag value applied to only those AWS resources that you want to
--   trigger an evaluation for the rule. If you specify a value for
--   <tt>TagValue</tt> , you must also specify a value for <tt>TagKey</tt>
--   .
sTagValue :: Lens' Scope (Maybe Text)

-- | The tag key that is applied to only those AWS resources that you want
--   to trigger an evaluation for the rule.
sTagKey :: Lens' Scope (Maybe Text)

-- | Provides the AWS Config rule owner (AWS or customer), the rule
--   identifier, and the events that trigger the evaluation of your AWS
--   resources.
--   
--   <i>See:</i> <a>source</a> smart constructor.
data Source

-- | Creates a value of <a>Source</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sSourceDetails</a> - Provides the source and type of the event
--   that causes AWS Config to evaluate your AWS resources.</li>
--   <li><a>sOwner</a> - Indicates whether AWS or the customer owns and
--   manages the AWS Config rule.</li>
--   <li><a>sSourceIdentifier</a> - For AWS Config managed rules, a
--   predefined identifier from a list. For example,
--   <tt>IAM_PASSWORD_POLICY</tt> is a managed rule. To reference a managed
--   rule, see <a>Using AWS Managed Config Rules</a> . For custom rules,
--   the identifier is the Amazon Resource Name (ARN) of the rule's AWS
--   Lambda function, such as
--   <tt>arn:aws:lambda:us-east-2:123456789012:function:custom_rule_name</tt>
--   .</li>
--   </ul>
source :: Owner -> Text -> Source

-- | Provides the source and type of the event that causes AWS Config to
--   evaluate your AWS resources.
sSourceDetails :: Lens' Source [SourceDetail]

-- | Indicates whether AWS or the customer owns and manages the AWS Config
--   rule.
sOwner :: Lens' Source Owner

-- | For AWS Config managed rules, a predefined identifier from a list. For
--   example, <tt>IAM_PASSWORD_POLICY</tt> is a managed rule. To reference
--   a managed rule, see <a>Using AWS Managed Config Rules</a> . For custom
--   rules, the identifier is the Amazon Resource Name (ARN) of the rule's
--   AWS Lambda function, such as
--   <tt>arn:aws:lambda:us-east-2:123456789012:function:custom_rule_name</tt>
--   .
sSourceIdentifier :: Lens' Source Text

-- | Provides the source and the message types that trigger AWS Config to
--   evaluate your AWS resources against a rule. It also provides the
--   frequency with which you want AWS Config to run evaluations for the
--   rule if the trigger type is periodic. You can specify the parameter
--   values for <tt>SourceDetail</tt> only for custom rules.
--   
--   <i>See:</i> <a>sourceDetail</a> smart constructor.
data SourceDetail

-- | Creates a value of <a>SourceDetail</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sdMessageType</a> - The type of notification that triggers AWS
--   Config to run an evaluation for a rule. You can specify the following
--   notification types: * <tt>ConfigurationItemChangeNotification</tt> -
--   Triggers an evaluation when AWS Config delivers a configuration item
--   as a result of a resource change. *
--   <tt>OversizedConfigurationItemChangeNotification</tt> - Triggers an
--   evaluation when AWS Config delivers an oversized configuration item.
--   AWS Config may generate this notification type when a resource changes
--   and the notification exceeds the maximum size allowed by Amazon SNS. *
--   <tt>ScheduledNotification</tt> - Triggers a periodic evaluation at the
--   frequency specified for <tt>MaximumExecutionFrequency</tt> . *
--   <tt>ConfigurationSnapshotDeliveryCompleted</tt> - Triggers a periodic
--   evaluation when AWS Config delivers a configuration snapshot. If you
--   want your custom rule to be triggered by configuration changes,
--   specify two SourceDetail objects, one for
--   <tt>ConfigurationItemChangeNotification</tt> and one for
--   <tt>OversizedConfigurationItemChangeNotification</tt> .</li>
--   <li><a>sdMaximumExecutionFrequency</a> - The frequency at which you
--   want AWS Config to run evaluations for a custom rule with a periodic
--   trigger. If you specify a value for <tt>MaximumExecutionFrequency</tt>
--   , then <tt>MessageType</tt> must use the
--   <tt>ScheduledNotification</tt> value.</li>
--   <li><a>sdEventSource</a> - The source of the event, such as an AWS
--   service, that triggers AWS Config to evaluate your AWS resources.</li>
--   </ul>
sourceDetail :: SourceDetail

-- | The type of notification that triggers AWS Config to run an evaluation
--   for a rule. You can specify the following notification types: *
--   <tt>ConfigurationItemChangeNotification</tt> - Triggers an evaluation
--   when AWS Config delivers a configuration item as a result of a
--   resource change. *
--   <tt>OversizedConfigurationItemChangeNotification</tt> - Triggers an
--   evaluation when AWS Config delivers an oversized configuration item.
--   AWS Config may generate this notification type when a resource changes
--   and the notification exceeds the maximum size allowed by Amazon SNS. *
--   <tt>ScheduledNotification</tt> - Triggers a periodic evaluation at the
--   frequency specified for <tt>MaximumExecutionFrequency</tt> . *
--   <tt>ConfigurationSnapshotDeliveryCompleted</tt> - Triggers a periodic
--   evaluation when AWS Config delivers a configuration snapshot. If you
--   want your custom rule to be triggered by configuration changes,
--   specify two SourceDetail objects, one for
--   <tt>ConfigurationItemChangeNotification</tt> and one for
--   <tt>OversizedConfigurationItemChangeNotification</tt> .
sdMessageType :: Lens' SourceDetail (Maybe MessageType)

-- | The frequency at which you want AWS Config to run evaluations for a
--   custom rule with a periodic trigger. If you specify a value for
--   <tt>MaximumExecutionFrequency</tt> , then <tt>MessageType</tt> must
--   use the <tt>ScheduledNotification</tt> value.
sdMaximumExecutionFrequency :: Lens' SourceDetail (Maybe MaximumExecutionFrequency)

-- | The source of the event, such as an AWS service, that triggers AWS
--   Config to evaluate your AWS resources.
sdEventSource :: Lens' SourceDetail (Maybe EventSource)


-- | Stops recording configurations of the AWS resources you have selected
--   to record in your AWS account.
module Network.AWS.Config.StopConfigurationRecorder

-- | Creates a value of <a>StopConfigurationRecorder</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>scrConfigurationRecorderName</a> - The name of the recorder
--   object that records each configuration change made to the
--   resources.</li>
--   </ul>
stopConfigurationRecorder :: Text -> StopConfigurationRecorder

-- | The input for the <a>StopConfigurationRecorder</a> action.
--   
--   <i>See:</i> <a>stopConfigurationRecorder</a> smart constructor.
data StopConfigurationRecorder

-- | The name of the recorder object that records each configuration change
--   made to the resources.
scrConfigurationRecorderName :: Lens' StopConfigurationRecorder Text

-- | Creates a value of <a>StopConfigurationRecorderResponse</a> with the
--   minimum fields required to make a request.
stopConfigurationRecorderResponse :: StopConfigurationRecorderResponse

-- | <i>See:</i> <a>stopConfigurationRecorderResponse</a> smart
--   constructor.
data StopConfigurationRecorderResponse
instance GHC.Generics.Generic Network.AWS.Config.StopConfigurationRecorder.StopConfigurationRecorderResponse
instance Data.Data.Data Network.AWS.Config.StopConfigurationRecorder.StopConfigurationRecorderResponse
instance GHC.Show.Show Network.AWS.Config.StopConfigurationRecorder.StopConfigurationRecorderResponse
instance GHC.Read.Read Network.AWS.Config.StopConfigurationRecorder.StopConfigurationRecorderResponse
instance GHC.Classes.Eq Network.AWS.Config.StopConfigurationRecorder.StopConfigurationRecorderResponse
instance GHC.Generics.Generic Network.AWS.Config.StopConfigurationRecorder.StopConfigurationRecorder
instance Data.Data.Data Network.AWS.Config.StopConfigurationRecorder.StopConfigurationRecorder
instance GHC.Show.Show Network.AWS.Config.StopConfigurationRecorder.StopConfigurationRecorder
instance GHC.Read.Read Network.AWS.Config.StopConfigurationRecorder.StopConfigurationRecorder
instance GHC.Classes.Eq Network.AWS.Config.StopConfigurationRecorder.StopConfigurationRecorder
instance Network.AWS.Types.AWSRequest Network.AWS.Config.StopConfigurationRecorder.StopConfigurationRecorder
instance Control.DeepSeq.NFData Network.AWS.Config.StopConfigurationRecorder.StopConfigurationRecorderResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.StopConfigurationRecorder.StopConfigurationRecorder
instance Control.DeepSeq.NFData Network.AWS.Config.StopConfigurationRecorder.StopConfigurationRecorder
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.StopConfigurationRecorder.StopConfigurationRecorder
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.StopConfigurationRecorder.StopConfigurationRecorder
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.StopConfigurationRecorder.StopConfigurationRecorder
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.StopConfigurationRecorder.StopConfigurationRecorder


-- | Starts recording configurations of the AWS resources you have selected
--   to record in your AWS account.
--   
--   You must have created at least one delivery channel to successfully
--   start the configuration recorder.
module Network.AWS.Config.StartConfigurationRecorder

-- | Creates a value of <a>StartConfigurationRecorder</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sConfigurationRecorderName</a> - The name of the recorder
--   object that records each configuration change made to the
--   resources.</li>
--   </ul>
startConfigurationRecorder :: Text -> StartConfigurationRecorder

-- | The input for the <a>StartConfigurationRecorder</a> action.
--   
--   <i>See:</i> <a>startConfigurationRecorder</a> smart constructor.
data StartConfigurationRecorder

-- | The name of the recorder object that records each configuration change
--   made to the resources.
sConfigurationRecorderName :: Lens' StartConfigurationRecorder Text

-- | Creates a value of <a>StartConfigurationRecorderResponse</a> with the
--   minimum fields required to make a request.
startConfigurationRecorderResponse :: StartConfigurationRecorderResponse

-- | <i>See:</i> <a>startConfigurationRecorderResponse</a> smart
--   constructor.
data StartConfigurationRecorderResponse
instance GHC.Generics.Generic Network.AWS.Config.StartConfigurationRecorder.StartConfigurationRecorderResponse
instance Data.Data.Data Network.AWS.Config.StartConfigurationRecorder.StartConfigurationRecorderResponse
instance GHC.Show.Show Network.AWS.Config.StartConfigurationRecorder.StartConfigurationRecorderResponse
instance GHC.Read.Read Network.AWS.Config.StartConfigurationRecorder.StartConfigurationRecorderResponse
instance GHC.Classes.Eq Network.AWS.Config.StartConfigurationRecorder.StartConfigurationRecorderResponse
instance GHC.Generics.Generic Network.AWS.Config.StartConfigurationRecorder.StartConfigurationRecorder
instance Data.Data.Data Network.AWS.Config.StartConfigurationRecorder.StartConfigurationRecorder
instance GHC.Show.Show Network.AWS.Config.StartConfigurationRecorder.StartConfigurationRecorder
instance GHC.Read.Read Network.AWS.Config.StartConfigurationRecorder.StartConfigurationRecorder
instance GHC.Classes.Eq Network.AWS.Config.StartConfigurationRecorder.StartConfigurationRecorder
instance Network.AWS.Types.AWSRequest Network.AWS.Config.StartConfigurationRecorder.StartConfigurationRecorder
instance Control.DeepSeq.NFData Network.AWS.Config.StartConfigurationRecorder.StartConfigurationRecorderResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.StartConfigurationRecorder.StartConfigurationRecorder
instance Control.DeepSeq.NFData Network.AWS.Config.StartConfigurationRecorder.StartConfigurationRecorder
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.StartConfigurationRecorder.StartConfigurationRecorder
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.StartConfigurationRecorder.StartConfigurationRecorder
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.StartConfigurationRecorder.StartConfigurationRecorder
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.StartConfigurationRecorder.StartConfigurationRecorder


-- | Runs an on-demand evaluation for the specified AWS Config rules
--   against the last known configuration state of the resources. Use
--   <tt>StartConfigRulesEvaluation</tt> when you want to test that a rule
--   you updated is working as expected.
--   <tt>StartConfigRulesEvaluation</tt> does not re-record the latest
--   configuration state for your resources. It re-runs an evaluation
--   against the last known state of your resources.
--   
--   You can specify up to 25 AWS Config rules per request.
--   
--   An existing <tt>StartConfigRulesEvaluation</tt> call for the specified
--   rules must complete before you can call the API again. If you chose to
--   have AWS Config stream to an Amazon SNS topic, you will receive a
--   <tt>ConfigRuleEvaluationStarted</tt> notification when the evaluation
--   starts.
--   
--   The <tt>StartConfigRulesEvaluation</tt> API is useful if you want to
--   run on-demand evaluations, such as the following example:
--   
--   <ul>
--   <li>You have a custom rule that evaluates your IAM resources every 24
--   hours.</li>
--   <li>You update your Lambda function to add additional conditions to
--   your rule.</li>
--   <li>Instead of waiting for the next periodic evaluation, you call the
--   <tt>StartConfigRulesEvaluation</tt> API.</li>
--   <li>AWS Config invokes your Lambda function and evaluates your IAM
--   resources.</li>
--   <li>Your custom rule will still run periodic evaluations every 24
--   hours.</li>
--   </ul>
module Network.AWS.Config.StartConfigRulesEvaluation

-- | Creates a value of <a>StartConfigRulesEvaluation</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>screConfigRuleNames</a> - The list of names of AWS Config rules
--   that you want to run evaluations for.</li>
--   </ul>
startConfigRulesEvaluation :: StartConfigRulesEvaluation

-- | <i>See:</i> <a>startConfigRulesEvaluation</a> smart constructor.
data StartConfigRulesEvaluation

-- | The list of names of AWS Config rules that you want to run evaluations
--   for.
screConfigRuleNames :: Lens' StartConfigRulesEvaluation (Maybe (NonEmpty Text))

-- | Creates a value of <a>StartConfigRulesEvaluationResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>scrersResponseStatus</a> - -- | The response status code.</li>
--   </ul>
startConfigRulesEvaluationResponse :: Int -> StartConfigRulesEvaluationResponse

-- | The output when you start the evaluation for the specified AWS Config
--   rule.
--   
--   <i>See:</i> <a>startConfigRulesEvaluationResponse</a> smart
--   constructor.
data StartConfigRulesEvaluationResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
scrersResponseStatus :: Lens' StartConfigRulesEvaluationResponse Int
instance GHC.Generics.Generic Network.AWS.Config.StartConfigRulesEvaluation.StartConfigRulesEvaluationResponse
instance Data.Data.Data Network.AWS.Config.StartConfigRulesEvaluation.StartConfigRulesEvaluationResponse
instance GHC.Show.Show Network.AWS.Config.StartConfigRulesEvaluation.StartConfigRulesEvaluationResponse
instance GHC.Read.Read Network.AWS.Config.StartConfigRulesEvaluation.StartConfigRulesEvaluationResponse
instance GHC.Classes.Eq Network.AWS.Config.StartConfigRulesEvaluation.StartConfigRulesEvaluationResponse
instance GHC.Generics.Generic Network.AWS.Config.StartConfigRulesEvaluation.StartConfigRulesEvaluation
instance Data.Data.Data Network.AWS.Config.StartConfigRulesEvaluation.StartConfigRulesEvaluation
instance GHC.Show.Show Network.AWS.Config.StartConfigRulesEvaluation.StartConfigRulesEvaluation
instance GHC.Read.Read Network.AWS.Config.StartConfigRulesEvaluation.StartConfigRulesEvaluation
instance GHC.Classes.Eq Network.AWS.Config.StartConfigRulesEvaluation.StartConfigRulesEvaluation
instance Network.AWS.Types.AWSRequest Network.AWS.Config.StartConfigRulesEvaluation.StartConfigRulesEvaluation
instance Control.DeepSeq.NFData Network.AWS.Config.StartConfigRulesEvaluation.StartConfigRulesEvaluationResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.StartConfigRulesEvaluation.StartConfigRulesEvaluation
instance Control.DeepSeq.NFData Network.AWS.Config.StartConfigRulesEvaluation.StartConfigRulesEvaluation
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.StartConfigRulesEvaluation.StartConfigRulesEvaluation
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.StartConfigRulesEvaluation.StartConfigRulesEvaluation
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.StartConfigRulesEvaluation.StartConfigRulesEvaluation
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.StartConfigRulesEvaluation.StartConfigRulesEvaluation


-- | Used by an AWS Lambda function to deliver evaluation results to AWS
--   Config. This action is required in every AWS Lambda function that is
--   invoked by an AWS Config rule.
module Network.AWS.Config.PutEvaluations

-- | Creates a value of <a>PutEvaluations</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>peEvaluations</a> - The assessments that the AWS Lambda
--   function performs. Each evaluation identifies an AWS resource and
--   indicates whether it complies with the AWS Config rule that invokes
--   the AWS Lambda function.</li>
--   <li><a>peTestMode</a> - Use this parameter to specify a test run for
--   <tt>PutEvaluations</tt> . You can verify whether your AWS Lambda
--   function will deliver evaluation results to AWS Config. No updates
--   occur to your existing evaluations, and evaluation results are not
--   sent to AWS Config.</li>
--   <li><a>peResultToken</a> - An encrypted token that associates an
--   evaluation with an AWS Config rule. Identifies the rule and the event
--   that triggered the evaluation.</li>
--   </ul>
putEvaluations :: Text -> PutEvaluations

-- | <i>See:</i> <a>putEvaluations</a> smart constructor.
data PutEvaluations

-- | The assessments that the AWS Lambda function performs. Each evaluation
--   identifies an AWS resource and indicates whether it complies with the
--   AWS Config rule that invokes the AWS Lambda function.
peEvaluations :: Lens' PutEvaluations [Evaluation]

-- | Use this parameter to specify a test run for <tt>PutEvaluations</tt> .
--   You can verify whether your AWS Lambda function will deliver
--   evaluation results to AWS Config. No updates occur to your existing
--   evaluations, and evaluation results are not sent to AWS Config.
peTestMode :: Lens' PutEvaluations (Maybe Bool)

-- | An encrypted token that associates an evaluation with an AWS Config
--   rule. Identifies the rule and the event that triggered the evaluation.
peResultToken :: Lens' PutEvaluations Text

-- | Creates a value of <a>PutEvaluationsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>persFailedEvaluations</a> - Requests that failed because of a
--   client or server error.</li>
--   <li><a>persResponseStatus</a> - -- | The response status code.</li>
--   </ul>
putEvaluationsResponse :: Int -> PutEvaluationsResponse

-- | <i>See:</i> <a>putEvaluationsResponse</a> smart constructor.
data PutEvaluationsResponse

-- | Requests that failed because of a client or server error.
persFailedEvaluations :: Lens' PutEvaluationsResponse [Evaluation]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
persResponseStatus :: Lens' PutEvaluationsResponse Int
instance GHC.Generics.Generic Network.AWS.Config.PutEvaluations.PutEvaluationsResponse
instance Data.Data.Data Network.AWS.Config.PutEvaluations.PutEvaluationsResponse
instance GHC.Show.Show Network.AWS.Config.PutEvaluations.PutEvaluationsResponse
instance GHC.Read.Read Network.AWS.Config.PutEvaluations.PutEvaluationsResponse
instance GHC.Classes.Eq Network.AWS.Config.PutEvaluations.PutEvaluationsResponse
instance GHC.Generics.Generic Network.AWS.Config.PutEvaluations.PutEvaluations
instance Data.Data.Data Network.AWS.Config.PutEvaluations.PutEvaluations
instance GHC.Show.Show Network.AWS.Config.PutEvaluations.PutEvaluations
instance GHC.Read.Read Network.AWS.Config.PutEvaluations.PutEvaluations
instance GHC.Classes.Eq Network.AWS.Config.PutEvaluations.PutEvaluations
instance Network.AWS.Types.AWSRequest Network.AWS.Config.PutEvaluations.PutEvaluations
instance Control.DeepSeq.NFData Network.AWS.Config.PutEvaluations.PutEvaluationsResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.PutEvaluations.PutEvaluations
instance Control.DeepSeq.NFData Network.AWS.Config.PutEvaluations.PutEvaluations
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.PutEvaluations.PutEvaluations
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.PutEvaluations.PutEvaluations
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.PutEvaluations.PutEvaluations
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.PutEvaluations.PutEvaluations


-- | Creates a delivery channel object to deliver configuration information
--   to an Amazon S3 bucket and Amazon SNS topic.
--   
--   Before you can create a delivery channel, you must create a
--   configuration recorder.
--   
--   You can use this action to change the Amazon S3 bucket or an Amazon
--   SNS topic of the existing delivery channel. To change the Amazon S3
--   bucket or an Amazon SNS topic, call this action and specify the
--   changed values for the S3 bucket and the SNS topic. If you specify a
--   different value for either the S3 bucket or the SNS topic, this action
--   will keep the existing value for the parameter that is not changed.
module Network.AWS.Config.PutDeliveryChannel

-- | Creates a value of <a>PutDeliveryChannel</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pdcDeliveryChannel</a> - The configuration delivery channel
--   object that delivers the configuration information to an Amazon S3
--   bucket and to an Amazon SNS topic.</li>
--   </ul>
putDeliveryChannel :: DeliveryChannel -> PutDeliveryChannel

-- | The input for the <a>PutDeliveryChannel</a> action.
--   
--   <i>See:</i> <a>putDeliveryChannel</a> smart constructor.
data PutDeliveryChannel

-- | The configuration delivery channel object that delivers the
--   configuration information to an Amazon S3 bucket and to an Amazon SNS
--   topic.
pdcDeliveryChannel :: Lens' PutDeliveryChannel DeliveryChannel

-- | Creates a value of <a>PutDeliveryChannelResponse</a> with the minimum
--   fields required to make a request.
putDeliveryChannelResponse :: PutDeliveryChannelResponse

-- | <i>See:</i> <a>putDeliveryChannelResponse</a> smart constructor.
data PutDeliveryChannelResponse
instance GHC.Generics.Generic Network.AWS.Config.PutDeliveryChannel.PutDeliveryChannelResponse
instance Data.Data.Data Network.AWS.Config.PutDeliveryChannel.PutDeliveryChannelResponse
instance GHC.Show.Show Network.AWS.Config.PutDeliveryChannel.PutDeliveryChannelResponse
instance GHC.Read.Read Network.AWS.Config.PutDeliveryChannel.PutDeliveryChannelResponse
instance GHC.Classes.Eq Network.AWS.Config.PutDeliveryChannel.PutDeliveryChannelResponse
instance GHC.Generics.Generic Network.AWS.Config.PutDeliveryChannel.PutDeliveryChannel
instance Data.Data.Data Network.AWS.Config.PutDeliveryChannel.PutDeliveryChannel
instance GHC.Show.Show Network.AWS.Config.PutDeliveryChannel.PutDeliveryChannel
instance GHC.Read.Read Network.AWS.Config.PutDeliveryChannel.PutDeliveryChannel
instance GHC.Classes.Eq Network.AWS.Config.PutDeliveryChannel.PutDeliveryChannel
instance Network.AWS.Types.AWSRequest Network.AWS.Config.PutDeliveryChannel.PutDeliveryChannel
instance Control.DeepSeq.NFData Network.AWS.Config.PutDeliveryChannel.PutDeliveryChannelResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.PutDeliveryChannel.PutDeliveryChannel
instance Control.DeepSeq.NFData Network.AWS.Config.PutDeliveryChannel.PutDeliveryChannel
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.PutDeliveryChannel.PutDeliveryChannel
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.PutDeliveryChannel.PutDeliveryChannel
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.PutDeliveryChannel.PutDeliveryChannel
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.PutDeliveryChannel.PutDeliveryChannel


-- | Creates a new configuration recorder to record the selected resource
--   configurations.
--   
--   You can use this action to change the role <tt>roleARN</tt> or the
--   <tt>recordingGroup</tt> of an existing recorder. To change the role,
--   call the action on the existing configuration recorder and specify a
--   role.
module Network.AWS.Config.PutConfigurationRecorder

-- | Creates a value of <a>PutConfigurationRecorder</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcrConfigurationRecorder</a> - The configuration recorder
--   object that records each configuration change made to the
--   resources.</li>
--   </ul>
putConfigurationRecorder :: ConfigurationRecorder -> PutConfigurationRecorder

-- | The input for the <a>PutConfigurationRecorder</a> action.
--   
--   <i>See:</i> <a>putConfigurationRecorder</a> smart constructor.
data PutConfigurationRecorder

-- | The configuration recorder object that records each configuration
--   change made to the resources.
pcrConfigurationRecorder :: Lens' PutConfigurationRecorder ConfigurationRecorder

-- | Creates a value of <a>PutConfigurationRecorderResponse</a> with the
--   minimum fields required to make a request.
putConfigurationRecorderResponse :: PutConfigurationRecorderResponse

-- | <i>See:</i> <a>putConfigurationRecorderResponse</a> smart constructor.
data PutConfigurationRecorderResponse
instance GHC.Generics.Generic Network.AWS.Config.PutConfigurationRecorder.PutConfigurationRecorderResponse
instance Data.Data.Data Network.AWS.Config.PutConfigurationRecorder.PutConfigurationRecorderResponse
instance GHC.Show.Show Network.AWS.Config.PutConfigurationRecorder.PutConfigurationRecorderResponse
instance GHC.Read.Read Network.AWS.Config.PutConfigurationRecorder.PutConfigurationRecorderResponse
instance GHC.Classes.Eq Network.AWS.Config.PutConfigurationRecorder.PutConfigurationRecorderResponse
instance GHC.Generics.Generic Network.AWS.Config.PutConfigurationRecorder.PutConfigurationRecorder
instance Data.Data.Data Network.AWS.Config.PutConfigurationRecorder.PutConfigurationRecorder
instance GHC.Show.Show Network.AWS.Config.PutConfigurationRecorder.PutConfigurationRecorder
instance GHC.Read.Read Network.AWS.Config.PutConfigurationRecorder.PutConfigurationRecorder
instance GHC.Classes.Eq Network.AWS.Config.PutConfigurationRecorder.PutConfigurationRecorder
instance Network.AWS.Types.AWSRequest Network.AWS.Config.PutConfigurationRecorder.PutConfigurationRecorder
instance Control.DeepSeq.NFData Network.AWS.Config.PutConfigurationRecorder.PutConfigurationRecorderResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.PutConfigurationRecorder.PutConfigurationRecorder
instance Control.DeepSeq.NFData Network.AWS.Config.PutConfigurationRecorder.PutConfigurationRecorder
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.PutConfigurationRecorder.PutConfigurationRecorder
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.PutConfigurationRecorder.PutConfigurationRecorder
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.PutConfigurationRecorder.PutConfigurationRecorder
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.PutConfigurationRecorder.PutConfigurationRecorder


-- | Creates and updates the configuration aggregator with the selected
--   source accounts and regions. The source account can be individual
--   account(s) or an organization.
module Network.AWS.Config.PutConfigurationAggregator

-- | Creates a value of <a>PutConfigurationAggregator</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcaOrganizationAggregationSource</a> - An
--   OrganizationAggregationSource object.</li>
--   <li><a>pcaAccountAggregationSources</a> - A list of
--   AccountAggregationSource object.</li>
--   <li><a>pcaConfigurationAggregatorName</a> - The name of the
--   configuration aggregator.</li>
--   </ul>
putConfigurationAggregator :: Text -> PutConfigurationAggregator

-- | <i>See:</i> <a>putConfigurationAggregator</a> smart constructor.
data PutConfigurationAggregator

-- | An OrganizationAggregationSource object.
pcaOrganizationAggregationSource :: Lens' PutConfigurationAggregator (Maybe OrganizationAggregationSource)

-- | A list of AccountAggregationSource object.
pcaAccountAggregationSources :: Lens' PutConfigurationAggregator [AccountAggregationSource]

-- | The name of the configuration aggregator.
pcaConfigurationAggregatorName :: Lens' PutConfigurationAggregator Text

-- | Creates a value of <a>PutConfigurationAggregatorResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcarsConfigurationAggregator</a> - Returns a
--   ConfigurationAggregator object.</li>
--   <li><a>pcarsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
putConfigurationAggregatorResponse :: Int -> PutConfigurationAggregatorResponse

-- | <i>See:</i> <a>putConfigurationAggregatorResponse</a> smart
--   constructor.
data PutConfigurationAggregatorResponse

-- | Returns a ConfigurationAggregator object.
pcarsConfigurationAggregator :: Lens' PutConfigurationAggregatorResponse (Maybe ConfigurationAggregator)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
pcarsResponseStatus :: Lens' PutConfigurationAggregatorResponse Int
instance GHC.Generics.Generic Network.AWS.Config.PutConfigurationAggregator.PutConfigurationAggregatorResponse
instance Data.Data.Data Network.AWS.Config.PutConfigurationAggregator.PutConfigurationAggregatorResponse
instance GHC.Show.Show Network.AWS.Config.PutConfigurationAggregator.PutConfigurationAggregatorResponse
instance GHC.Read.Read Network.AWS.Config.PutConfigurationAggregator.PutConfigurationAggregatorResponse
instance GHC.Classes.Eq Network.AWS.Config.PutConfigurationAggregator.PutConfigurationAggregatorResponse
instance GHC.Generics.Generic Network.AWS.Config.PutConfigurationAggregator.PutConfigurationAggregator
instance Data.Data.Data Network.AWS.Config.PutConfigurationAggregator.PutConfigurationAggregator
instance GHC.Show.Show Network.AWS.Config.PutConfigurationAggregator.PutConfigurationAggregator
instance GHC.Read.Read Network.AWS.Config.PutConfigurationAggregator.PutConfigurationAggregator
instance GHC.Classes.Eq Network.AWS.Config.PutConfigurationAggregator.PutConfigurationAggregator
instance Network.AWS.Types.AWSRequest Network.AWS.Config.PutConfigurationAggregator.PutConfigurationAggregator
instance Control.DeepSeq.NFData Network.AWS.Config.PutConfigurationAggregator.PutConfigurationAggregatorResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.PutConfigurationAggregator.PutConfigurationAggregator
instance Control.DeepSeq.NFData Network.AWS.Config.PutConfigurationAggregator.PutConfigurationAggregator
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.PutConfigurationAggregator.PutConfigurationAggregator
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.PutConfigurationAggregator.PutConfigurationAggregator
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.PutConfigurationAggregator.PutConfigurationAggregator
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.PutConfigurationAggregator.PutConfigurationAggregator


-- | Adds or updates an AWS Config rule for evaluating whether your AWS
--   resources comply with your desired configurations.
--   
--   You can use this action for custom AWS Config rules and AWS managed
--   Config rules. A custom AWS Config rule is a rule that you develop and
--   maintain. An AWS managed Config rule is a customizable, predefined
--   rule that AWS Config provides.
--   
--   If you are adding a new custom AWS Config rule, you must first create
--   the AWS Lambda function that the rule invokes to evaluate your
--   resources. When you use the <tt>PutConfigRule</tt> action to add the
--   rule to AWS Config, you must specify the Amazon Resource Name (ARN)
--   that AWS Lambda assigns to the function. Specify the ARN for the
--   <tt>SourceIdentifier</tt> key. This key is part of the <tt>Source</tt>
--   object, which is part of the <tt>ConfigRule</tt> object.
--   
--   If you are adding an AWS managed Config rule, specify the rule's
--   identifier for the <tt>SourceIdentifier</tt> key. To reference AWS
--   managed Config rule identifiers, see <a>About AWS Managed Config
--   Rules</a> .
--   
--   For any new rule that you add, specify the <tt>ConfigRuleName</tt> in
--   the <tt>ConfigRule</tt> object. Do not specify the
--   <tt>ConfigRuleArn</tt> or the <tt>ConfigRuleId</tt> . These values are
--   generated by AWS Config for new rules.
--   
--   If you are updating a rule that you added previously, you can specify
--   the rule by <tt>ConfigRuleName</tt> , <tt>ConfigRuleId</tt> , or
--   <tt>ConfigRuleArn</tt> in the <tt>ConfigRule</tt> data type that you
--   use in this request.
--   
--   The maximum number of rules that AWS Config supports is 50.
--   
--   For information about requesting a rule limit increase, see <a>AWS
--   Config Limits</a> in the <i>AWS General Reference Guide</i> .
--   
--   For more information about developing and using AWS Config rules, see
--   <a>Evaluating AWS Resource Configurations with AWS Config</a> in the
--   <i>AWS Config Developer Guide</i> .
module Network.AWS.Config.PutConfigRule

-- | Creates a value of <a>PutConfigRule</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcrConfigRule</a> - The rule that you want to add to your
--   account.</li>
--   </ul>
putConfigRule :: ConfigRule -> PutConfigRule

-- | <i>See:</i> <a>putConfigRule</a> smart constructor.
data PutConfigRule

-- | The rule that you want to add to your account.
pcrConfigRule :: Lens' PutConfigRule ConfigRule

-- | Creates a value of <a>PutConfigRuleResponse</a> with the minimum
--   fields required to make a request.
putConfigRuleResponse :: PutConfigRuleResponse

-- | <i>See:</i> <a>putConfigRuleResponse</a> smart constructor.
data PutConfigRuleResponse
instance GHC.Generics.Generic Network.AWS.Config.PutConfigRule.PutConfigRuleResponse
instance Data.Data.Data Network.AWS.Config.PutConfigRule.PutConfigRuleResponse
instance GHC.Show.Show Network.AWS.Config.PutConfigRule.PutConfigRuleResponse
instance GHC.Read.Read Network.AWS.Config.PutConfigRule.PutConfigRuleResponse
instance GHC.Classes.Eq Network.AWS.Config.PutConfigRule.PutConfigRuleResponse
instance GHC.Generics.Generic Network.AWS.Config.PutConfigRule.PutConfigRule
instance Data.Data.Data Network.AWS.Config.PutConfigRule.PutConfigRule
instance GHC.Show.Show Network.AWS.Config.PutConfigRule.PutConfigRule
instance GHC.Read.Read Network.AWS.Config.PutConfigRule.PutConfigRule
instance GHC.Classes.Eq Network.AWS.Config.PutConfigRule.PutConfigRule
instance Network.AWS.Types.AWSRequest Network.AWS.Config.PutConfigRule.PutConfigRule
instance Control.DeepSeq.NFData Network.AWS.Config.PutConfigRule.PutConfigRuleResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.PutConfigRule.PutConfigRule
instance Control.DeepSeq.NFData Network.AWS.Config.PutConfigRule.PutConfigRule
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.PutConfigRule.PutConfigRule
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.PutConfigRule.PutConfigRule
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.PutConfigRule.PutConfigRule
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.PutConfigRule.PutConfigRule


-- | Authorizes the aggregator account and region to collect data from the
--   source account and region.
module Network.AWS.Config.PutAggregationAuthorization

-- | Creates a value of <a>PutAggregationAuthorization</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>paaAuthorizedAccountId</a> - The 12-digit account ID of the
--   account authorized to aggregate data.</li>
--   <li><a>paaAuthorizedAWSRegion</a> - The region authorized to collect
--   aggregated data.</li>
--   </ul>
putAggregationAuthorization :: Text -> Text -> PutAggregationAuthorization

-- | <i>See:</i> <a>putAggregationAuthorization</a> smart constructor.
data PutAggregationAuthorization

-- | The 12-digit account ID of the account authorized to aggregate data.
paaAuthorizedAccountId :: Lens' PutAggregationAuthorization Text

-- | The region authorized to collect aggregated data.
paaAuthorizedAWSRegion :: Lens' PutAggregationAuthorization Text

-- | Creates a value of <a>PutAggregationAuthorizationResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>paarsAggregationAuthorization</a> - Returns an
--   AggregationAuthorization object.</li>
--   <li><a>paarsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
putAggregationAuthorizationResponse :: Int -> PutAggregationAuthorizationResponse

-- | <i>See:</i> <a>putAggregationAuthorizationResponse</a> smart
--   constructor.
data PutAggregationAuthorizationResponse

-- | Returns an AggregationAuthorization object.
paarsAggregationAuthorization :: Lens' PutAggregationAuthorizationResponse (Maybe AggregationAuthorization)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
paarsResponseStatus :: Lens' PutAggregationAuthorizationResponse Int
instance GHC.Generics.Generic Network.AWS.Config.PutAggregationAuthorization.PutAggregationAuthorizationResponse
instance Data.Data.Data Network.AWS.Config.PutAggregationAuthorization.PutAggregationAuthorizationResponse
instance GHC.Show.Show Network.AWS.Config.PutAggregationAuthorization.PutAggregationAuthorizationResponse
instance GHC.Read.Read Network.AWS.Config.PutAggregationAuthorization.PutAggregationAuthorizationResponse
instance GHC.Classes.Eq Network.AWS.Config.PutAggregationAuthorization.PutAggregationAuthorizationResponse
instance GHC.Generics.Generic Network.AWS.Config.PutAggregationAuthorization.PutAggregationAuthorization
instance Data.Data.Data Network.AWS.Config.PutAggregationAuthorization.PutAggregationAuthorization
instance GHC.Show.Show Network.AWS.Config.PutAggregationAuthorization.PutAggregationAuthorization
instance GHC.Read.Read Network.AWS.Config.PutAggregationAuthorization.PutAggregationAuthorization
instance GHC.Classes.Eq Network.AWS.Config.PutAggregationAuthorization.PutAggregationAuthorization
instance Network.AWS.Types.AWSRequest Network.AWS.Config.PutAggregationAuthorization.PutAggregationAuthorization
instance Control.DeepSeq.NFData Network.AWS.Config.PutAggregationAuthorization.PutAggregationAuthorizationResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.PutAggregationAuthorization.PutAggregationAuthorization
instance Control.DeepSeq.NFData Network.AWS.Config.PutAggregationAuthorization.PutAggregationAuthorization
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.PutAggregationAuthorization.PutAggregationAuthorization
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.PutAggregationAuthorization.PutAggregationAuthorization
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.PutAggregationAuthorization.PutAggregationAuthorization
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.PutAggregationAuthorization.PutAggregationAuthorization


-- | Accepts a resource type and returns a list of resource identifiers for
--   the resources of that type. A resource identifier includes the
--   resource type, ID, and (if available) the custom resource name. The
--   results consist of resources that AWS Config has discovered, including
--   those that AWS Config is not currently recording. You can narrow the
--   results to include only resources that have specific resource IDs or a
--   resource name.
--   
--   The response is paginated. By default, AWS Config lists 100 resource
--   identifiers on each page. You can customize this number with the
--   <tt>limit</tt> parameter. The response includes a <tt>nextToken</tt>
--   string. To get the next page of results, run the request again and
--   specify the string for the <tt>nextToken</tt> parameter.
--   
--   This operation returns paginated results.
module Network.AWS.Config.ListDiscoveredResources

-- | Creates a value of <a>ListDiscoveredResources</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldrResourceIds</a> - The IDs of only those resources that you
--   want AWS Config to list in the response. If you do not specify this
--   parameter, AWS Config lists all resources of the specified type that
--   it has discovered.</li>
--   <li><a>ldrResourceName</a> - The custom name of only those resources
--   that you want AWS Config to list in the response. If you do not
--   specify this parameter, AWS Config lists all resources of the
--   specified type that it has discovered.</li>
--   <li><a>ldrIncludeDeletedResources</a> - Specifies whether AWS Config
--   includes deleted resources in the results. By default, deleted
--   resources are not included.</li>
--   <li><a>ldrNextToken</a> - The <tt>nextToken</tt> string returned on a
--   previous page that you use to get the next page of results in a
--   paginated response.</li>
--   <li><a>ldrLimit</a> - The maximum number of resource identifiers
--   returned on each page. The default is 100. You cannot specify a number
--   greater than 100. If you specify 0, AWS Config uses the default.</li>
--   <li><a>ldrResourceType</a> - The type of resources that you want AWS
--   Config to list in the response.</li>
--   </ul>
listDiscoveredResources :: ResourceType -> ListDiscoveredResources

-- | <i>See:</i> <a>listDiscoveredResources</a> smart constructor.
data ListDiscoveredResources

-- | The IDs of only those resources that you want AWS Config to list in
--   the response. If you do not specify this parameter, AWS Config lists
--   all resources of the specified type that it has discovered.
ldrResourceIds :: Lens' ListDiscoveredResources [Text]

-- | The custom name of only those resources that you want AWS Config to
--   list in the response. If you do not specify this parameter, AWS Config
--   lists all resources of the specified type that it has discovered.
ldrResourceName :: Lens' ListDiscoveredResources (Maybe Text)

-- | Specifies whether AWS Config includes deleted resources in the
--   results. By default, deleted resources are not included.
ldrIncludeDeletedResources :: Lens' ListDiscoveredResources (Maybe Bool)

-- | The <tt>nextToken</tt> string returned on a previous page that you use
--   to get the next page of results in a paginated response.
ldrNextToken :: Lens' ListDiscoveredResources (Maybe Text)

-- | The maximum number of resource identifiers returned on each page. The
--   default is 100. You cannot specify a number greater than 100. If you
--   specify 0, AWS Config uses the default.
ldrLimit :: Lens' ListDiscoveredResources (Maybe Natural)

-- | The type of resources that you want AWS Config to list in the
--   response.
ldrResourceType :: Lens' ListDiscoveredResources ResourceType

-- | Creates a value of <a>ListDiscoveredResourcesResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldrrsNextToken</a> - The string that you use in a subsequent
--   request to get the next page of results in a paginated response.</li>
--   <li><a>ldrrsResourceIdentifiers</a> - The details that identify a
--   resource that is discovered by AWS Config, including the resource
--   type, ID, and (if available) the custom resource name.</li>
--   <li><a>ldrrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listDiscoveredResourcesResponse :: Int -> ListDiscoveredResourcesResponse

-- | <i>See:</i> <a>listDiscoveredResourcesResponse</a> smart constructor.
data ListDiscoveredResourcesResponse

-- | The string that you use in a subsequent request to get the next page
--   of results in a paginated response.
ldrrsNextToken :: Lens' ListDiscoveredResourcesResponse (Maybe Text)

-- | The details that identify a resource that is discovered by AWS Config,
--   including the resource type, ID, and (if available) the custom
--   resource name.
ldrrsResourceIdentifiers :: Lens' ListDiscoveredResourcesResponse [ResourceIdentifier]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ldrrsResponseStatus :: Lens' ListDiscoveredResourcesResponse Int
instance GHC.Generics.Generic Network.AWS.Config.ListDiscoveredResources.ListDiscoveredResourcesResponse
instance Data.Data.Data Network.AWS.Config.ListDiscoveredResources.ListDiscoveredResourcesResponse
instance GHC.Show.Show Network.AWS.Config.ListDiscoveredResources.ListDiscoveredResourcesResponse
instance GHC.Read.Read Network.AWS.Config.ListDiscoveredResources.ListDiscoveredResourcesResponse
instance GHC.Classes.Eq Network.AWS.Config.ListDiscoveredResources.ListDiscoveredResourcesResponse
instance GHC.Generics.Generic Network.AWS.Config.ListDiscoveredResources.ListDiscoveredResources
instance Data.Data.Data Network.AWS.Config.ListDiscoveredResources.ListDiscoveredResources
instance GHC.Show.Show Network.AWS.Config.ListDiscoveredResources.ListDiscoveredResources
instance GHC.Read.Read Network.AWS.Config.ListDiscoveredResources.ListDiscoveredResources
instance GHC.Classes.Eq Network.AWS.Config.ListDiscoveredResources.ListDiscoveredResources
instance Network.AWS.Types.AWSRequest Network.AWS.Config.ListDiscoveredResources.ListDiscoveredResources
instance Control.DeepSeq.NFData Network.AWS.Config.ListDiscoveredResources.ListDiscoveredResourcesResponse
instance Network.AWS.Pager.AWSPager Network.AWS.Config.ListDiscoveredResources.ListDiscoveredResources
instance Data.Hashable.Class.Hashable Network.AWS.Config.ListDiscoveredResources.ListDiscoveredResources
instance Control.DeepSeq.NFData Network.AWS.Config.ListDiscoveredResources.ListDiscoveredResources
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.ListDiscoveredResources.ListDiscoveredResources
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.ListDiscoveredResources.ListDiscoveredResources
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.ListDiscoveredResources.ListDiscoveredResources
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.ListDiscoveredResources.ListDiscoveredResources


-- | Returns a list of configuration items for the specified resource. The
--   list contains details about each state of the resource during the
--   specified time interval.
--   
--   The response is paginated. By default, AWS Config returns a limit of
--   10 configuration items per page. You can customize this number with
--   the <tt>limit</tt> parameter. The response includes a
--   <tt>nextToken</tt> string. To get the next page of results, run the
--   request again and specify the string for the <tt>nextToken</tt>
--   parameter.
--   
--   This operation returns paginated results.
module Network.AWS.Config.GetResourceConfigHistory

-- | Creates a value of <a>GetResourceConfigHistory</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>grchChronologicalOrder</a> - The chronological order for
--   configuration items listed. By default, the results are listed in
--   reverse chronological order.</li>
--   <li><a>grchNextToken</a> - The <tt>nextToken</tt> string returned on a
--   previous page that you use to get the next page of results in a
--   paginated response.</li>
--   <li><a>grchLimit</a> - The maximum number of configuration items
--   returned on each page. The default is 10. You cannot specify a number
--   greater than 100. If you specify 0, AWS Config uses the default.</li>
--   <li><a>grchLaterTime</a> - The time stamp that indicates a later time.
--   If not specified, current time is taken.</li>
--   <li><a>grchEarlierTime</a> - The time stamp that indicates an earlier
--   time. If not specified, the action returns paginated results that
--   contain configuration items that start when the first configuration
--   item was recorded.</li>
--   <li><a>grchResourceType</a> - The resource type.</li>
--   <li><a>grchResourceId</a> - The ID of the resource (for example.,
--   <tt>sg-xxxxxx</tt> ).</li>
--   </ul>
getResourceConfigHistory :: ResourceType -> Text -> GetResourceConfigHistory

-- | The input for the <a>GetResourceConfigHistory</a> action.
--   
--   <i>See:</i> <a>getResourceConfigHistory</a> smart constructor.
data GetResourceConfigHistory

-- | The chronological order for configuration items listed. By default,
--   the results are listed in reverse chronological order.
grchChronologicalOrder :: Lens' GetResourceConfigHistory (Maybe ChronologicalOrder)

-- | The <tt>nextToken</tt> string returned on a previous page that you use
--   to get the next page of results in a paginated response.
grchNextToken :: Lens' GetResourceConfigHistory (Maybe Text)

-- | The maximum number of configuration items returned on each page. The
--   default is 10. You cannot specify a number greater than 100. If you
--   specify 0, AWS Config uses the default.
grchLimit :: Lens' GetResourceConfigHistory (Maybe Natural)

-- | The time stamp that indicates a later time. If not specified, current
--   time is taken.
grchLaterTime :: Lens' GetResourceConfigHistory (Maybe UTCTime)

-- | The time stamp that indicates an earlier time. If not specified, the
--   action returns paginated results that contain configuration items that
--   start when the first configuration item was recorded.
grchEarlierTime :: Lens' GetResourceConfigHistory (Maybe UTCTime)

-- | The resource type.
grchResourceType :: Lens' GetResourceConfigHistory ResourceType

-- | The ID of the resource (for example., <tt>sg-xxxxxx</tt> ).
grchResourceId :: Lens' GetResourceConfigHistory Text

-- | Creates a value of <a>GetResourceConfigHistoryResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>grchrsNextToken</a> - The string that you use in a subsequent
--   request to get the next page of results in a paginated response.</li>
--   <li><a>grchrsConfigurationItems</a> - A list that contains the
--   configuration history of one or more resources.</li>
--   <li><a>grchrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getResourceConfigHistoryResponse :: Int -> GetResourceConfigHistoryResponse

-- | The output for the <a>GetResourceConfigHistory</a> action.
--   
--   <i>See:</i> <a>getResourceConfigHistoryResponse</a> smart constructor.
data GetResourceConfigHistoryResponse

-- | The string that you use in a subsequent request to get the next page
--   of results in a paginated response.
grchrsNextToken :: Lens' GetResourceConfigHistoryResponse (Maybe Text)

-- | A list that contains the configuration history of one or more
--   resources.
grchrsConfigurationItems :: Lens' GetResourceConfigHistoryResponse [ConfigurationItem]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
grchrsResponseStatus :: Lens' GetResourceConfigHistoryResponse Int
instance GHC.Generics.Generic Network.AWS.Config.GetResourceConfigHistory.GetResourceConfigHistoryResponse
instance Data.Data.Data Network.AWS.Config.GetResourceConfigHistory.GetResourceConfigHistoryResponse
instance GHC.Show.Show Network.AWS.Config.GetResourceConfigHistory.GetResourceConfigHistoryResponse
instance GHC.Read.Read Network.AWS.Config.GetResourceConfigHistory.GetResourceConfigHistoryResponse
instance GHC.Classes.Eq Network.AWS.Config.GetResourceConfigHistory.GetResourceConfigHistoryResponse
instance GHC.Generics.Generic Network.AWS.Config.GetResourceConfigHistory.GetResourceConfigHistory
instance Data.Data.Data Network.AWS.Config.GetResourceConfigHistory.GetResourceConfigHistory
instance GHC.Show.Show Network.AWS.Config.GetResourceConfigHistory.GetResourceConfigHistory
instance GHC.Read.Read Network.AWS.Config.GetResourceConfigHistory.GetResourceConfigHistory
instance GHC.Classes.Eq Network.AWS.Config.GetResourceConfigHistory.GetResourceConfigHistory
instance Network.AWS.Types.AWSRequest Network.AWS.Config.GetResourceConfigHistory.GetResourceConfigHistory
instance Control.DeepSeq.NFData Network.AWS.Config.GetResourceConfigHistory.GetResourceConfigHistoryResponse
instance Network.AWS.Pager.AWSPager Network.AWS.Config.GetResourceConfigHistory.GetResourceConfigHistory
instance Data.Hashable.Class.Hashable Network.AWS.Config.GetResourceConfigHistory.GetResourceConfigHistory
instance Control.DeepSeq.NFData Network.AWS.Config.GetResourceConfigHistory.GetResourceConfigHistory
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.GetResourceConfigHistory.GetResourceConfigHistory
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.GetResourceConfigHistory.GetResourceConfigHistory
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.GetResourceConfigHistory.GetResourceConfigHistory
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.GetResourceConfigHistory.GetResourceConfigHistory


-- | Returns the resource types, the number of each resource type, and the
--   total number of resources that AWS Config is recording in this region
--   for your AWS account.
--   
--   <b>Example</b>
--   
--   <ul>
--   <li>AWS Config is recording three resource types in the US East (Ohio)
--   Region for your account: 25 EC2 instances, 20 IAM users, and 15 S3
--   buckets.</li>
--   <li>You make a call to the <tt>GetDiscoveredResourceCounts</tt> action
--   and specify that you want all resource types.</li>
--   <li>AWS Config returns the following:</li>
--   <li>The resource types (EC2 instances, IAM users, and S3
--   buckets).</li>
--   <li>The number of each resource type (25, 20, and 15).</li>
--   <li>The total number of all resources (60).</li>
--   </ul>
--   
--   The response is paginated. By default, AWS Config lists 100
--   <a>ResourceCount</a> objects on each page. You can customize this
--   number with the <tt>limit</tt> parameter. The response includes a
--   <tt>nextToken</tt> string. To get the next page of results, run the
--   request again and specify the string for the <tt>nextToken</tt>
--   parameter.
module Network.AWS.Config.GetDiscoveredResourceCounts

-- | Creates a value of <a>GetDiscoveredResourceCounts</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gdrcNextToken</a> - The <tt>nextToken</tt> string returned on a
--   previous page that you use to get the next page of results in a
--   paginated response.</li>
--   <li><a>gdrcLimit</a> - The maximum number of <a>ResourceCount</a>
--   objects returned on each page. The default is 100. You cannot specify
--   a number greater than 100. If you specify 0, AWS Config uses the
--   default.</li>
--   <li><a>gdrcResourceTypes</a> - The comma-separated list that specifies
--   the resource types that you want AWS Config to return (for example,
--   <tt>"AWS::EC2::Instance"</tt> , <tt>"AWS::IAM::User"</tt> ). If a
--   value for <tt>resourceTypes</tt> is not specified, AWS Config returns
--   all resource types that AWS Config is recording in the region for your
--   account.</li>
--   </ul>
getDiscoveredResourceCounts :: GetDiscoveredResourceCounts

-- | <i>See:</i> <a>getDiscoveredResourceCounts</a> smart constructor.
data GetDiscoveredResourceCounts

-- | The <tt>nextToken</tt> string returned on a previous page that you use
--   to get the next page of results in a paginated response.
gdrcNextToken :: Lens' GetDiscoveredResourceCounts (Maybe Text)

-- | The maximum number of <a>ResourceCount</a> objects returned on each
--   page. The default is 100. You cannot specify a number greater than
--   100. If you specify 0, AWS Config uses the default.
gdrcLimit :: Lens' GetDiscoveredResourceCounts (Maybe Natural)

-- | The comma-separated list that specifies the resource types that you
--   want AWS Config to return (for example, <tt>"AWS::EC2::Instance"</tt>
--   , <tt>"AWS::IAM::User"</tt> ). If a value for <tt>resourceTypes</tt>
--   is not specified, AWS Config returns all resource types that AWS
--   Config is recording in the region for your account.
gdrcResourceTypes :: Lens' GetDiscoveredResourceCounts [Text]

-- | Creates a value of <a>GetDiscoveredResourceCountsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gdrcrsTotalDiscoveredResources</a> - The total number of
--   resources that AWS Config is recording in the region for your account.
--   If you specify resource types in the request, AWS Config returns only
--   the total number of resources for those resource types. <b>Example</b>
--   * AWS Config is recording three resource types in the US East (Ohio)
--   Region for your account: 25 EC2 instances, 20 IAM users, and 15 S3
--   buckets, for a total of 60 resources. * You make a call to the
--   <tt>GetDiscoveredResourceCounts</tt> action and specify the resource
--   type, <tt>"AWS::EC2::Instances"</tt> , in the request. * AWS Config
--   returns 25 for <tt>totalDiscoveredResources</tt> .</li>
--   <li><a>gdrcrsNextToken</a> - The string that you use in a subsequent
--   request to get the next page of results in a paginated response.</li>
--   <li><a>gdrcrsResourceCounts</a> - The list of <tt>ResourceCount</tt>
--   objects. Each object is listed in descending order by the number of
--   resources.</li>
--   <li><a>gdrcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getDiscoveredResourceCountsResponse :: Int -> GetDiscoveredResourceCountsResponse

-- | <i>See:</i> <a>getDiscoveredResourceCountsResponse</a> smart
--   constructor.
data GetDiscoveredResourceCountsResponse

-- | The total number of resources that AWS Config is recording in the
--   region for your account. If you specify resource types in the request,
--   AWS Config returns only the total number of resources for those
--   resource types. <b>Example</b> * AWS Config is recording three
--   resource types in the US East (Ohio) Region for your account: 25 EC2
--   instances, 20 IAM users, and 15 S3 buckets, for a total of 60
--   resources. * You make a call to the
--   <tt>GetDiscoveredResourceCounts</tt> action and specify the resource
--   type, <tt>"AWS::EC2::Instances"</tt> , in the request. * AWS Config
--   returns 25 for <tt>totalDiscoveredResources</tt> .
gdrcrsTotalDiscoveredResources :: Lens' GetDiscoveredResourceCountsResponse (Maybe Integer)

-- | The string that you use in a subsequent request to get the next page
--   of results in a paginated response.
gdrcrsNextToken :: Lens' GetDiscoveredResourceCountsResponse (Maybe Text)

-- | The list of <tt>ResourceCount</tt> objects. Each object is listed in
--   descending order by the number of resources.
gdrcrsResourceCounts :: Lens' GetDiscoveredResourceCountsResponse [ResourceCount]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gdrcrsResponseStatus :: Lens' GetDiscoveredResourceCountsResponse Int
instance GHC.Generics.Generic Network.AWS.Config.GetDiscoveredResourceCounts.GetDiscoveredResourceCountsResponse
instance Data.Data.Data Network.AWS.Config.GetDiscoveredResourceCounts.GetDiscoveredResourceCountsResponse
instance GHC.Show.Show Network.AWS.Config.GetDiscoveredResourceCounts.GetDiscoveredResourceCountsResponse
instance GHC.Read.Read Network.AWS.Config.GetDiscoveredResourceCounts.GetDiscoveredResourceCountsResponse
instance GHC.Classes.Eq Network.AWS.Config.GetDiscoveredResourceCounts.GetDiscoveredResourceCountsResponse
instance GHC.Generics.Generic Network.AWS.Config.GetDiscoveredResourceCounts.GetDiscoveredResourceCounts
instance Data.Data.Data Network.AWS.Config.GetDiscoveredResourceCounts.GetDiscoveredResourceCounts
instance GHC.Show.Show Network.AWS.Config.GetDiscoveredResourceCounts.GetDiscoveredResourceCounts
instance GHC.Read.Read Network.AWS.Config.GetDiscoveredResourceCounts.GetDiscoveredResourceCounts
instance GHC.Classes.Eq Network.AWS.Config.GetDiscoveredResourceCounts.GetDiscoveredResourceCounts
instance Network.AWS.Types.AWSRequest Network.AWS.Config.GetDiscoveredResourceCounts.GetDiscoveredResourceCounts
instance Control.DeepSeq.NFData Network.AWS.Config.GetDiscoveredResourceCounts.GetDiscoveredResourceCountsResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.GetDiscoveredResourceCounts.GetDiscoveredResourceCounts
instance Control.DeepSeq.NFData Network.AWS.Config.GetDiscoveredResourceCounts.GetDiscoveredResourceCounts
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.GetDiscoveredResourceCounts.GetDiscoveredResourceCounts
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.GetDiscoveredResourceCounts.GetDiscoveredResourceCounts
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.GetDiscoveredResourceCounts.GetDiscoveredResourceCounts
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.GetDiscoveredResourceCounts.GetDiscoveredResourceCounts


-- | Returns the number of resources that are compliant and the number that
--   are noncompliant. You can specify one or more resource types to get
--   these numbers for each resource type. The maximum number returned is
--   100.
module Network.AWS.Config.GetComplianceSummaryByResourceType

-- | Creates a value of <a>GetComplianceSummaryByResourceType</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gcsbrtResourceTypes</a> - Specify one or more resource types to
--   get the number of resources that are compliant and the number that are
--   noncompliant for each resource type. For this request, you can specify
--   an AWS resource type such as <tt>AWS::EC2::Instance</tt> . You can
--   specify that the resource type is an AWS account by specifying
--   <tt>AWS::::Account</tt> .</li>
--   </ul>
getComplianceSummaryByResourceType :: GetComplianceSummaryByResourceType

-- | <i>See:</i> <a>getComplianceSummaryByResourceType</a> smart
--   constructor.
data GetComplianceSummaryByResourceType

-- | Specify one or more resource types to get the number of resources that
--   are compliant and the number that are noncompliant for each resource
--   type. For this request, you can specify an AWS resource type such as
--   <tt>AWS::EC2::Instance</tt> . You can specify that the resource type
--   is an AWS account by specifying <tt>AWS::::Account</tt> .
gcsbrtResourceTypes :: Lens' GetComplianceSummaryByResourceType [Text]

-- | Creates a value of <a>GetComplianceSummaryByResourceTypeResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gcsbrtrsComplianceSummariesByResourceType</a> - The number of
--   resources that are compliant and the number that are noncompliant. If
--   one or more resource types were provided with the request, the numbers
--   are returned for each resource type. The maximum number returned is
--   100.</li>
--   <li><a>gcsbrtrsResponseStatus</a> - -- | The response status
--   code.</li>
--   </ul>
getComplianceSummaryByResourceTypeResponse :: Int -> GetComplianceSummaryByResourceTypeResponse

-- | <i>See:</i> <a>getComplianceSummaryByResourceTypeResponse</a> smart
--   constructor.
data GetComplianceSummaryByResourceTypeResponse

-- | The number of resources that are compliant and the number that are
--   noncompliant. If one or more resource types were provided with the
--   request, the numbers are returned for each resource type. The maximum
--   number returned is 100.
gcsbrtrsComplianceSummariesByResourceType :: Lens' GetComplianceSummaryByResourceTypeResponse [ComplianceSummaryByResourceType]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gcsbrtrsResponseStatus :: Lens' GetComplianceSummaryByResourceTypeResponse Int
instance GHC.Generics.Generic Network.AWS.Config.GetComplianceSummaryByResourceType.GetComplianceSummaryByResourceTypeResponse
instance Data.Data.Data Network.AWS.Config.GetComplianceSummaryByResourceType.GetComplianceSummaryByResourceTypeResponse
instance GHC.Show.Show Network.AWS.Config.GetComplianceSummaryByResourceType.GetComplianceSummaryByResourceTypeResponse
instance GHC.Read.Read Network.AWS.Config.GetComplianceSummaryByResourceType.GetComplianceSummaryByResourceTypeResponse
instance GHC.Classes.Eq Network.AWS.Config.GetComplianceSummaryByResourceType.GetComplianceSummaryByResourceTypeResponse
instance GHC.Generics.Generic Network.AWS.Config.GetComplianceSummaryByResourceType.GetComplianceSummaryByResourceType
instance Data.Data.Data Network.AWS.Config.GetComplianceSummaryByResourceType.GetComplianceSummaryByResourceType
instance GHC.Show.Show Network.AWS.Config.GetComplianceSummaryByResourceType.GetComplianceSummaryByResourceType
instance GHC.Read.Read Network.AWS.Config.GetComplianceSummaryByResourceType.GetComplianceSummaryByResourceType
instance GHC.Classes.Eq Network.AWS.Config.GetComplianceSummaryByResourceType.GetComplianceSummaryByResourceType
instance Network.AWS.Types.AWSRequest Network.AWS.Config.GetComplianceSummaryByResourceType.GetComplianceSummaryByResourceType
instance Control.DeepSeq.NFData Network.AWS.Config.GetComplianceSummaryByResourceType.GetComplianceSummaryByResourceTypeResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.GetComplianceSummaryByResourceType.GetComplianceSummaryByResourceType
instance Control.DeepSeq.NFData Network.AWS.Config.GetComplianceSummaryByResourceType.GetComplianceSummaryByResourceType
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.GetComplianceSummaryByResourceType.GetComplianceSummaryByResourceType
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.GetComplianceSummaryByResourceType.GetComplianceSummaryByResourceType
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.GetComplianceSummaryByResourceType.GetComplianceSummaryByResourceType
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.GetComplianceSummaryByResourceType.GetComplianceSummaryByResourceType


-- | Returns the number of AWS Config rules that are compliant and
--   noncompliant, up to a maximum of 25 for each.
module Network.AWS.Config.GetComplianceSummaryByConfigRule

-- | Creates a value of <a>GetComplianceSummaryByConfigRule</a> with the
--   minimum fields required to make a request.
getComplianceSummaryByConfigRule :: GetComplianceSummaryByConfigRule

-- | <i>See:</i> <a>getComplianceSummaryByConfigRule</a> smart constructor.
data GetComplianceSummaryByConfigRule

-- | Creates a value of <a>GetComplianceSummaryByConfigRuleResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gcsbcrrsComplianceSummary</a> - The number of AWS Config rules
--   that are compliant and the number that are noncompliant, up to a
--   maximum of 25 for each.</li>
--   <li><a>gcsbcrrsResponseStatus</a> - -- | The response status
--   code.</li>
--   </ul>
getComplianceSummaryByConfigRuleResponse :: Int -> GetComplianceSummaryByConfigRuleResponse

-- | <i>See:</i> <a>getComplianceSummaryByConfigRuleResponse</a> smart
--   constructor.
data GetComplianceSummaryByConfigRuleResponse

-- | The number of AWS Config rules that are compliant and the number that
--   are noncompliant, up to a maximum of 25 for each.
gcsbcrrsComplianceSummary :: Lens' GetComplianceSummaryByConfigRuleResponse (Maybe ComplianceSummary)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gcsbcrrsResponseStatus :: Lens' GetComplianceSummaryByConfigRuleResponse Int
instance GHC.Generics.Generic Network.AWS.Config.GetComplianceSummaryByConfigRule.GetComplianceSummaryByConfigRuleResponse
instance Data.Data.Data Network.AWS.Config.GetComplianceSummaryByConfigRule.GetComplianceSummaryByConfigRuleResponse
instance GHC.Show.Show Network.AWS.Config.GetComplianceSummaryByConfigRule.GetComplianceSummaryByConfigRuleResponse
instance GHC.Read.Read Network.AWS.Config.GetComplianceSummaryByConfigRule.GetComplianceSummaryByConfigRuleResponse
instance GHC.Classes.Eq Network.AWS.Config.GetComplianceSummaryByConfigRule.GetComplianceSummaryByConfigRuleResponse
instance GHC.Generics.Generic Network.AWS.Config.GetComplianceSummaryByConfigRule.GetComplianceSummaryByConfigRule
instance Data.Data.Data Network.AWS.Config.GetComplianceSummaryByConfigRule.GetComplianceSummaryByConfigRule
instance GHC.Show.Show Network.AWS.Config.GetComplianceSummaryByConfigRule.GetComplianceSummaryByConfigRule
instance GHC.Read.Read Network.AWS.Config.GetComplianceSummaryByConfigRule.GetComplianceSummaryByConfigRule
instance GHC.Classes.Eq Network.AWS.Config.GetComplianceSummaryByConfigRule.GetComplianceSummaryByConfigRule
instance Network.AWS.Types.AWSRequest Network.AWS.Config.GetComplianceSummaryByConfigRule.GetComplianceSummaryByConfigRule
instance Control.DeepSeq.NFData Network.AWS.Config.GetComplianceSummaryByConfigRule.GetComplianceSummaryByConfigRuleResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.GetComplianceSummaryByConfigRule.GetComplianceSummaryByConfigRule
instance Control.DeepSeq.NFData Network.AWS.Config.GetComplianceSummaryByConfigRule.GetComplianceSummaryByConfigRule
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.GetComplianceSummaryByConfigRule.GetComplianceSummaryByConfigRule
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.GetComplianceSummaryByConfigRule.GetComplianceSummaryByConfigRule
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.GetComplianceSummaryByConfigRule.GetComplianceSummaryByConfigRule
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.GetComplianceSummaryByConfigRule.GetComplianceSummaryByConfigRule


-- | Returns the evaluation results for the specified AWS resource. The
--   results indicate which AWS Config rules were used to evaluate the
--   resource, when each rule was last used, and whether the resource
--   complies with each rule.
--   
--   This operation returns paginated results.
module Network.AWS.Config.GetComplianceDetailsByResource

-- | Creates a value of <a>GetComplianceDetailsByResource</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gcdbrComplianceTypes</a> - Filters the results by compliance.
--   The allowed values are <tt>COMPLIANT</tt> , <tt>NON_COMPLIANT</tt> ,
--   and <tt>NOT_APPLICABLE</tt> .</li>
--   <li><a>gcdbrNextToken</a> - The <tt>nextToken</tt> string returned on
--   a previous page that you use to get the next page of results in a
--   paginated response.</li>
--   <li><a>gcdbrResourceType</a> - The type of the AWS resource for which
--   you want compliance information.</li>
--   <li><a>gcdbrResourceId</a> - The ID of the AWS resource for which you
--   want compliance information.</li>
--   </ul>
getComplianceDetailsByResource :: Text -> Text -> GetComplianceDetailsByResource

-- | <i>See:</i> <a>getComplianceDetailsByResource</a> smart constructor.
data GetComplianceDetailsByResource

-- | Filters the results by compliance. The allowed values are
--   <tt>COMPLIANT</tt> , <tt>NON_COMPLIANT</tt> , and
--   <tt>NOT_APPLICABLE</tt> .
gcdbrComplianceTypes :: Lens' GetComplianceDetailsByResource [ComplianceType]

-- | The <tt>nextToken</tt> string returned on a previous page that you use
--   to get the next page of results in a paginated response.
gcdbrNextToken :: Lens' GetComplianceDetailsByResource (Maybe Text)

-- | The type of the AWS resource for which you want compliance
--   information.
gcdbrResourceType :: Lens' GetComplianceDetailsByResource Text

-- | The ID of the AWS resource for which you want compliance information.
gcdbrResourceId :: Lens' GetComplianceDetailsByResource Text

-- | Creates a value of <a>GetComplianceDetailsByResourceResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gcdbrrsEvaluationResults</a> - Indicates whether the specified
--   AWS resource complies each AWS Config rule.</li>
--   <li><a>gcdbrrsNextToken</a> - The string that you use in a subsequent
--   request to get the next page of results in a paginated response.</li>
--   <li><a>gcdbrrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getComplianceDetailsByResourceResponse :: Int -> GetComplianceDetailsByResourceResponse

-- | <i>See:</i> <a>getComplianceDetailsByResourceResponse</a> smart
--   constructor.
data GetComplianceDetailsByResourceResponse

-- | Indicates whether the specified AWS resource complies each AWS Config
--   rule.
gcdbrrsEvaluationResults :: Lens' GetComplianceDetailsByResourceResponse [EvaluationResult]

-- | The string that you use in a subsequent request to get the next page
--   of results in a paginated response.
gcdbrrsNextToken :: Lens' GetComplianceDetailsByResourceResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gcdbrrsResponseStatus :: Lens' GetComplianceDetailsByResourceResponse Int
instance GHC.Generics.Generic Network.AWS.Config.GetComplianceDetailsByResource.GetComplianceDetailsByResourceResponse
instance Data.Data.Data Network.AWS.Config.GetComplianceDetailsByResource.GetComplianceDetailsByResourceResponse
instance GHC.Show.Show Network.AWS.Config.GetComplianceDetailsByResource.GetComplianceDetailsByResourceResponse
instance GHC.Read.Read Network.AWS.Config.GetComplianceDetailsByResource.GetComplianceDetailsByResourceResponse
instance GHC.Classes.Eq Network.AWS.Config.GetComplianceDetailsByResource.GetComplianceDetailsByResourceResponse
instance GHC.Generics.Generic Network.AWS.Config.GetComplianceDetailsByResource.GetComplianceDetailsByResource
instance Data.Data.Data Network.AWS.Config.GetComplianceDetailsByResource.GetComplianceDetailsByResource
instance GHC.Show.Show Network.AWS.Config.GetComplianceDetailsByResource.GetComplianceDetailsByResource
instance GHC.Read.Read Network.AWS.Config.GetComplianceDetailsByResource.GetComplianceDetailsByResource
instance GHC.Classes.Eq Network.AWS.Config.GetComplianceDetailsByResource.GetComplianceDetailsByResource
instance Network.AWS.Types.AWSRequest Network.AWS.Config.GetComplianceDetailsByResource.GetComplianceDetailsByResource
instance Control.DeepSeq.NFData Network.AWS.Config.GetComplianceDetailsByResource.GetComplianceDetailsByResourceResponse
instance Network.AWS.Pager.AWSPager Network.AWS.Config.GetComplianceDetailsByResource.GetComplianceDetailsByResource
instance Data.Hashable.Class.Hashable Network.AWS.Config.GetComplianceDetailsByResource.GetComplianceDetailsByResource
instance Control.DeepSeq.NFData Network.AWS.Config.GetComplianceDetailsByResource.GetComplianceDetailsByResource
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.GetComplianceDetailsByResource.GetComplianceDetailsByResource
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.GetComplianceDetailsByResource.GetComplianceDetailsByResource
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.GetComplianceDetailsByResource.GetComplianceDetailsByResource
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.GetComplianceDetailsByResource.GetComplianceDetailsByResource


-- | Returns the evaluation results for the specified AWS Config rule. The
--   results indicate which AWS resources were evaluated by the rule, when
--   each resource was last evaluated, and whether each resource complies
--   with the rule.
--   
--   This operation returns paginated results.
module Network.AWS.Config.GetComplianceDetailsByConfigRule

-- | Creates a value of <a>GetComplianceDetailsByConfigRule</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gcdbcrComplianceTypes</a> - Filters the results by compliance.
--   The allowed values are <tt>COMPLIANT</tt> , <tt>NON_COMPLIANT</tt> ,
--   and <tt>NOT_APPLICABLE</tt> .</li>
--   <li><a>gcdbcrNextToken</a> - The <tt>nextToken</tt> string returned on
--   a previous page that you use to get the next page of results in a
--   paginated response.</li>
--   <li><a>gcdbcrLimit</a> - The maximum number of evaluation results
--   returned on each page. The default is 10. You cannot specify a number
--   greater than 100. If you specify 0, AWS Config uses the default.</li>
--   <li><a>gcdbcrConfigRuleName</a> - The name of the AWS Config rule for
--   which you want compliance information.</li>
--   </ul>
getComplianceDetailsByConfigRule :: Text -> GetComplianceDetailsByConfigRule

-- | <i>See:</i> <a>getComplianceDetailsByConfigRule</a> smart constructor.
data GetComplianceDetailsByConfigRule

-- | Filters the results by compliance. The allowed values are
--   <tt>COMPLIANT</tt> , <tt>NON_COMPLIANT</tt> , and
--   <tt>NOT_APPLICABLE</tt> .
gcdbcrComplianceTypes :: Lens' GetComplianceDetailsByConfigRule [ComplianceType]

-- | The <tt>nextToken</tt> string returned on a previous page that you use
--   to get the next page of results in a paginated response.
gcdbcrNextToken :: Lens' GetComplianceDetailsByConfigRule (Maybe Text)

-- | The maximum number of evaluation results returned on each page. The
--   default is 10. You cannot specify a number greater than 100. If you
--   specify 0, AWS Config uses the default.
gcdbcrLimit :: Lens' GetComplianceDetailsByConfigRule (Maybe Natural)

-- | The name of the AWS Config rule for which you want compliance
--   information.
gcdbcrConfigRuleName :: Lens' GetComplianceDetailsByConfigRule Text

-- | Creates a value of <a>GetComplianceDetailsByConfigRuleResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gcdbcrrsEvaluationResults</a> - Indicates whether the AWS
--   resource complies with the specified AWS Config rule.</li>
--   <li><a>gcdbcrrsNextToken</a> - The string that you use in a subsequent
--   request to get the next page of results in a paginated response.</li>
--   <li><a>gcdbcrrsResponseStatus</a> - -- | The response status
--   code.</li>
--   </ul>
getComplianceDetailsByConfigRuleResponse :: Int -> GetComplianceDetailsByConfigRuleResponse

-- | <i>See:</i> <a>getComplianceDetailsByConfigRuleResponse</a> smart
--   constructor.
data GetComplianceDetailsByConfigRuleResponse

-- | Indicates whether the AWS resource complies with the specified AWS
--   Config rule.
gcdbcrrsEvaluationResults :: Lens' GetComplianceDetailsByConfigRuleResponse [EvaluationResult]

-- | The string that you use in a subsequent request to get the next page
--   of results in a paginated response.
gcdbcrrsNextToken :: Lens' GetComplianceDetailsByConfigRuleResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gcdbcrrsResponseStatus :: Lens' GetComplianceDetailsByConfigRuleResponse Int
instance GHC.Generics.Generic Network.AWS.Config.GetComplianceDetailsByConfigRule.GetComplianceDetailsByConfigRuleResponse
instance Data.Data.Data Network.AWS.Config.GetComplianceDetailsByConfigRule.GetComplianceDetailsByConfigRuleResponse
instance GHC.Show.Show Network.AWS.Config.GetComplianceDetailsByConfigRule.GetComplianceDetailsByConfigRuleResponse
instance GHC.Read.Read Network.AWS.Config.GetComplianceDetailsByConfigRule.GetComplianceDetailsByConfigRuleResponse
instance GHC.Classes.Eq Network.AWS.Config.GetComplianceDetailsByConfigRule.GetComplianceDetailsByConfigRuleResponse
instance GHC.Generics.Generic Network.AWS.Config.GetComplianceDetailsByConfigRule.GetComplianceDetailsByConfigRule
instance Data.Data.Data Network.AWS.Config.GetComplianceDetailsByConfigRule.GetComplianceDetailsByConfigRule
instance GHC.Show.Show Network.AWS.Config.GetComplianceDetailsByConfigRule.GetComplianceDetailsByConfigRule
instance GHC.Read.Read Network.AWS.Config.GetComplianceDetailsByConfigRule.GetComplianceDetailsByConfigRule
instance GHC.Classes.Eq Network.AWS.Config.GetComplianceDetailsByConfigRule.GetComplianceDetailsByConfigRule
instance Network.AWS.Types.AWSRequest Network.AWS.Config.GetComplianceDetailsByConfigRule.GetComplianceDetailsByConfigRule
instance Control.DeepSeq.NFData Network.AWS.Config.GetComplianceDetailsByConfigRule.GetComplianceDetailsByConfigRuleResponse
instance Network.AWS.Pager.AWSPager Network.AWS.Config.GetComplianceDetailsByConfigRule.GetComplianceDetailsByConfigRule
instance Data.Hashable.Class.Hashable Network.AWS.Config.GetComplianceDetailsByConfigRule.GetComplianceDetailsByConfigRule
instance Control.DeepSeq.NFData Network.AWS.Config.GetComplianceDetailsByConfigRule.GetComplianceDetailsByConfigRule
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.GetComplianceDetailsByConfigRule.GetComplianceDetailsByConfigRule
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.GetComplianceDetailsByConfigRule.GetComplianceDetailsByConfigRule
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.GetComplianceDetailsByConfigRule.GetComplianceDetailsByConfigRule
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.GetComplianceDetailsByConfigRule.GetComplianceDetailsByConfigRule


-- | Returns the number of compliant and noncompliant rules for one or more
--   accounts and regions in an aggregator.
module Network.AWS.Config.GetAggregateConfigRuleComplianceSummary

-- | Creates a value of <a>GetAggregateConfigRuleComplianceSummary</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gacrcsFilters</a> - Filters the results based on the
--   ConfigRuleComplianceSummaryFilters object.</li>
--   <li><a>gacrcsNextToken</a> - The nextToken string returned on a
--   previous page that you use to get the next page of results in a
--   paginated response.</li>
--   <li><a>gacrcsLimit</a> - The maximum number of evaluation results
--   returned on each page. The default is 1000. You cannot specify a
--   number greater than 1000. If you specify 0, AWS Config uses the
--   default.</li>
--   <li><a>gacrcsGroupByKey</a> - Groups the result based on ACCOUNT_ID or
--   AWS_REGION.</li>
--   <li><a>gacrcsConfigurationAggregatorName</a> - The name of the
--   configuration aggregator.</li>
--   </ul>
getAggregateConfigRuleComplianceSummary :: Text -> GetAggregateConfigRuleComplianceSummary

-- | <i>See:</i> <a>getAggregateConfigRuleComplianceSummary</a> smart
--   constructor.
data GetAggregateConfigRuleComplianceSummary

-- | Filters the results based on the ConfigRuleComplianceSummaryFilters
--   object.
gacrcsFilters :: Lens' GetAggregateConfigRuleComplianceSummary (Maybe ConfigRuleComplianceSummaryFilters)

-- | The nextToken string returned on a previous page that you use to get
--   the next page of results in a paginated response.
gacrcsNextToken :: Lens' GetAggregateConfigRuleComplianceSummary (Maybe Text)

-- | The maximum number of evaluation results returned on each page. The
--   default is 1000. You cannot specify a number greater than 1000. If you
--   specify 0, AWS Config uses the default.
gacrcsLimit :: Lens' GetAggregateConfigRuleComplianceSummary (Maybe Natural)

-- | Groups the result based on ACCOUNT_ID or AWS_REGION.
gacrcsGroupByKey :: Lens' GetAggregateConfigRuleComplianceSummary (Maybe ConfigRuleComplianceSummaryGroupKey)

-- | The name of the configuration aggregator.
gacrcsConfigurationAggregatorName :: Lens' GetAggregateConfigRuleComplianceSummary Text

-- | Creates a value of
--   <a>GetAggregateConfigRuleComplianceSummaryResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gacrcsrsAggregateComplianceCounts</a> - Returns a list of
--   AggregateComplianceCounts object.</li>
--   <li><a>gacrcsrsNextToken</a> - The nextToken string returned on a
--   previous page that you use to get the next page of results in a
--   paginated response.</li>
--   <li><a>gacrcsrsGroupByKey</a> - Groups the result based on ACCOUNT_ID
--   or AWS_REGION.</li>
--   <li><a>gacrcsrsResponseStatus</a> - -- | The response status
--   code.</li>
--   </ul>
getAggregateConfigRuleComplianceSummaryResponse :: Int -> GetAggregateConfigRuleComplianceSummaryResponse

-- | <i>See:</i> <a>getAggregateConfigRuleComplianceSummaryResponse</a>
--   smart constructor.
data GetAggregateConfigRuleComplianceSummaryResponse

-- | Returns a list of AggregateComplianceCounts object.
gacrcsrsAggregateComplianceCounts :: Lens' GetAggregateConfigRuleComplianceSummaryResponse [AggregateComplianceCount]

-- | The nextToken string returned on a previous page that you use to get
--   the next page of results in a paginated response.
gacrcsrsNextToken :: Lens' GetAggregateConfigRuleComplianceSummaryResponse (Maybe Text)

-- | Groups the result based on ACCOUNT_ID or AWS_REGION.
gacrcsrsGroupByKey :: Lens' GetAggregateConfigRuleComplianceSummaryResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gacrcsrsResponseStatus :: Lens' GetAggregateConfigRuleComplianceSummaryResponse Int
instance GHC.Generics.Generic Network.AWS.Config.GetAggregateConfigRuleComplianceSummary.GetAggregateConfigRuleComplianceSummaryResponse
instance Data.Data.Data Network.AWS.Config.GetAggregateConfigRuleComplianceSummary.GetAggregateConfigRuleComplianceSummaryResponse
instance GHC.Show.Show Network.AWS.Config.GetAggregateConfigRuleComplianceSummary.GetAggregateConfigRuleComplianceSummaryResponse
instance GHC.Read.Read Network.AWS.Config.GetAggregateConfigRuleComplianceSummary.GetAggregateConfigRuleComplianceSummaryResponse
instance GHC.Classes.Eq Network.AWS.Config.GetAggregateConfigRuleComplianceSummary.GetAggregateConfigRuleComplianceSummaryResponse
instance GHC.Generics.Generic Network.AWS.Config.GetAggregateConfigRuleComplianceSummary.GetAggregateConfigRuleComplianceSummary
instance Data.Data.Data Network.AWS.Config.GetAggregateConfigRuleComplianceSummary.GetAggregateConfigRuleComplianceSummary
instance GHC.Show.Show Network.AWS.Config.GetAggregateConfigRuleComplianceSummary.GetAggregateConfigRuleComplianceSummary
instance GHC.Read.Read Network.AWS.Config.GetAggregateConfigRuleComplianceSummary.GetAggregateConfigRuleComplianceSummary
instance GHC.Classes.Eq Network.AWS.Config.GetAggregateConfigRuleComplianceSummary.GetAggregateConfigRuleComplianceSummary
instance Network.AWS.Types.AWSRequest Network.AWS.Config.GetAggregateConfigRuleComplianceSummary.GetAggregateConfigRuleComplianceSummary
instance Control.DeepSeq.NFData Network.AWS.Config.GetAggregateConfigRuleComplianceSummary.GetAggregateConfigRuleComplianceSummaryResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.GetAggregateConfigRuleComplianceSummary.GetAggregateConfigRuleComplianceSummary
instance Control.DeepSeq.NFData Network.AWS.Config.GetAggregateConfigRuleComplianceSummary.GetAggregateConfigRuleComplianceSummary
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.GetAggregateConfigRuleComplianceSummary.GetAggregateConfigRuleComplianceSummary
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.GetAggregateConfigRuleComplianceSummary.GetAggregateConfigRuleComplianceSummary
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.GetAggregateConfigRuleComplianceSummary.GetAggregateConfigRuleComplianceSummary
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.GetAggregateConfigRuleComplianceSummary.GetAggregateConfigRuleComplianceSummary


-- | Returns the evaluation results for the specified AWS Config rule for a
--   specific resource in a rule. The results indicate which AWS resources
--   were evaluated by the rule, when each resource was last evaluated, and
--   whether each resource complies with the rule.
module Network.AWS.Config.GetAggregateComplianceDetailsByConfigRule

-- | Creates a value of <a>GetAggregateComplianceDetailsByConfigRule</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gacdbcrNextToken</a> - The nextToken string returned on a
--   previous page that you use to get the next page of results in a
--   paginated response.</li>
--   <li><a>gacdbcrLimit</a> - The maximum number of evaluation results
--   returned on each page. The default is 50. You cannot specify a number
--   greater than 100. If you specify 0, AWS Config uses the default.</li>
--   <li><a>gacdbcrComplianceType</a> - The resource compliance
--   status.</li>
--   <li><a>gacdbcrConfigurationAggregatorName</a> - The name of the
--   configuration aggregator.</li>
--   <li><a>gacdbcrConfigRuleName</a> - The name of the AWS Config rule for
--   which you want compliance information.</li>
--   <li><a>gacdbcrAccountId</a> - The 12-digit account ID of the source
--   account.</li>
--   <li><a>gacdbcrAWSRegion</a> - The source region from where the data is
--   aggregated.</li>
--   </ul>
getAggregateComplianceDetailsByConfigRule :: Text -> Text -> Text -> Text -> GetAggregateComplianceDetailsByConfigRule

-- | <i>See:</i> <a>getAggregateComplianceDetailsByConfigRule</a> smart
--   constructor.
data GetAggregateComplianceDetailsByConfigRule

-- | The nextToken string returned on a previous page that you use to get
--   the next page of results in a paginated response.
gacdbcrNextToken :: Lens' GetAggregateComplianceDetailsByConfigRule (Maybe Text)

-- | The maximum number of evaluation results returned on each page. The
--   default is 50. You cannot specify a number greater than 100. If you
--   specify 0, AWS Config uses the default.
gacdbcrLimit :: Lens' GetAggregateComplianceDetailsByConfigRule (Maybe Natural)

-- | The resource compliance status.
gacdbcrComplianceType :: Lens' GetAggregateComplianceDetailsByConfigRule (Maybe ComplianceType)

-- | The name of the configuration aggregator.
gacdbcrConfigurationAggregatorName :: Lens' GetAggregateComplianceDetailsByConfigRule Text

-- | The name of the AWS Config rule for which you want compliance
--   information.
gacdbcrConfigRuleName :: Lens' GetAggregateComplianceDetailsByConfigRule Text

-- | The 12-digit account ID of the source account.
gacdbcrAccountId :: Lens' GetAggregateComplianceDetailsByConfigRule Text

-- | The source region from where the data is aggregated.
gacdbcrAWSRegion :: Lens' GetAggregateComplianceDetailsByConfigRule Text

-- | Creates a value of
--   <a>GetAggregateComplianceDetailsByConfigRuleResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gacdbcrrsNextToken</a> - The nextToken string returned on a
--   previous page that you use to get the next page of results in a
--   paginated response.</li>
--   <li><a>gacdbcrrsAggregateEvaluationResults</a> - Returns an
--   AggregateEvaluationResults object.</li>
--   <li><a>gacdbcrrsResponseStatus</a> - -- | The response status
--   code.</li>
--   </ul>
getAggregateComplianceDetailsByConfigRuleResponse :: Int -> GetAggregateComplianceDetailsByConfigRuleResponse

-- | <i>See:</i> <a>getAggregateComplianceDetailsByConfigRuleResponse</a>
--   smart constructor.
data GetAggregateComplianceDetailsByConfigRuleResponse

-- | The nextToken string returned on a previous page that you use to get
--   the next page of results in a paginated response.
gacdbcrrsNextToken :: Lens' GetAggregateComplianceDetailsByConfigRuleResponse (Maybe Text)

-- | Returns an AggregateEvaluationResults object.
gacdbcrrsAggregateEvaluationResults :: Lens' GetAggregateComplianceDetailsByConfigRuleResponse [AggregateEvaluationResult]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gacdbcrrsResponseStatus :: Lens' GetAggregateComplianceDetailsByConfigRuleResponse Int
instance GHC.Generics.Generic Network.AWS.Config.GetAggregateComplianceDetailsByConfigRule.GetAggregateComplianceDetailsByConfigRuleResponse
instance Data.Data.Data Network.AWS.Config.GetAggregateComplianceDetailsByConfigRule.GetAggregateComplianceDetailsByConfigRuleResponse
instance GHC.Show.Show Network.AWS.Config.GetAggregateComplianceDetailsByConfigRule.GetAggregateComplianceDetailsByConfigRuleResponse
instance GHC.Read.Read Network.AWS.Config.GetAggregateComplianceDetailsByConfigRule.GetAggregateComplianceDetailsByConfigRuleResponse
instance GHC.Classes.Eq Network.AWS.Config.GetAggregateComplianceDetailsByConfigRule.GetAggregateComplianceDetailsByConfigRuleResponse
instance GHC.Generics.Generic Network.AWS.Config.GetAggregateComplianceDetailsByConfigRule.GetAggregateComplianceDetailsByConfigRule
instance Data.Data.Data Network.AWS.Config.GetAggregateComplianceDetailsByConfigRule.GetAggregateComplianceDetailsByConfigRule
instance GHC.Show.Show Network.AWS.Config.GetAggregateComplianceDetailsByConfigRule.GetAggregateComplianceDetailsByConfigRule
instance GHC.Read.Read Network.AWS.Config.GetAggregateComplianceDetailsByConfigRule.GetAggregateComplianceDetailsByConfigRule
instance GHC.Classes.Eq Network.AWS.Config.GetAggregateComplianceDetailsByConfigRule.GetAggregateComplianceDetailsByConfigRule
instance Network.AWS.Types.AWSRequest Network.AWS.Config.GetAggregateComplianceDetailsByConfigRule.GetAggregateComplianceDetailsByConfigRule
instance Control.DeepSeq.NFData Network.AWS.Config.GetAggregateComplianceDetailsByConfigRule.GetAggregateComplianceDetailsByConfigRuleResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.GetAggregateComplianceDetailsByConfigRule.GetAggregateComplianceDetailsByConfigRule
instance Control.DeepSeq.NFData Network.AWS.Config.GetAggregateComplianceDetailsByConfigRule.GetAggregateComplianceDetailsByConfigRule
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.GetAggregateComplianceDetailsByConfigRule.GetAggregateComplianceDetailsByConfigRule
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.GetAggregateComplianceDetailsByConfigRule.GetAggregateComplianceDetailsByConfigRule
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.GetAggregateComplianceDetailsByConfigRule.GetAggregateComplianceDetailsByConfigRule
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.GetAggregateComplianceDetailsByConfigRule.GetAggregateComplianceDetailsByConfigRule


-- | Returns a list of all pending aggregation requests.
module Network.AWS.Config.DescribePendingAggregationRequests

-- | Creates a value of <a>DescribePendingAggregationRequests</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dparNextToken</a> - The nextToken string returned on a previous
--   page that you use to get the next page of results in a paginated
--   response.</li>
--   <li><a>dparLimit</a> - The maximum number of evaluation results
--   returned on each page. The default is maximum. If you specify 0, AWS
--   Config uses the default.</li>
--   </ul>
describePendingAggregationRequests :: DescribePendingAggregationRequests

-- | <i>See:</i> <a>describePendingAggregationRequests</a> smart
--   constructor.
data DescribePendingAggregationRequests

-- | The nextToken string returned on a previous page that you use to get
--   the next page of results in a paginated response.
dparNextToken :: Lens' DescribePendingAggregationRequests (Maybe Text)

-- | The maximum number of evaluation results returned on each page. The
--   default is maximum. If you specify 0, AWS Config uses the default.
dparLimit :: Lens' DescribePendingAggregationRequests (Maybe Natural)

-- | Creates a value of <a>DescribePendingAggregationRequestsResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dparrsNextToken</a> - The nextToken string returned on a
--   previous page that you use to get the next page of results in a
--   paginated response.</li>
--   <li><a>dparrsPendingAggregationRequests</a> - Returns a
--   PendingAggregationRequests object.</li>
--   <li><a>dparrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describePendingAggregationRequestsResponse :: Int -> DescribePendingAggregationRequestsResponse

-- | <i>See:</i> <a>describePendingAggregationRequestsResponse</a> smart
--   constructor.
data DescribePendingAggregationRequestsResponse

-- | The nextToken string returned on a previous page that you use to get
--   the next page of results in a paginated response.
dparrsNextToken :: Lens' DescribePendingAggregationRequestsResponse (Maybe Text)

-- | Returns a PendingAggregationRequests object.
dparrsPendingAggregationRequests :: Lens' DescribePendingAggregationRequestsResponse [PendingAggregationRequest]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dparrsResponseStatus :: Lens' DescribePendingAggregationRequestsResponse Int
instance GHC.Generics.Generic Network.AWS.Config.DescribePendingAggregationRequests.DescribePendingAggregationRequestsResponse
instance Data.Data.Data Network.AWS.Config.DescribePendingAggregationRequests.DescribePendingAggregationRequestsResponse
instance GHC.Show.Show Network.AWS.Config.DescribePendingAggregationRequests.DescribePendingAggregationRequestsResponse
instance GHC.Read.Read Network.AWS.Config.DescribePendingAggregationRequests.DescribePendingAggregationRequestsResponse
instance GHC.Classes.Eq Network.AWS.Config.DescribePendingAggregationRequests.DescribePendingAggregationRequestsResponse
instance GHC.Generics.Generic Network.AWS.Config.DescribePendingAggregationRequests.DescribePendingAggregationRequests
instance Data.Data.Data Network.AWS.Config.DescribePendingAggregationRequests.DescribePendingAggregationRequests
instance GHC.Show.Show Network.AWS.Config.DescribePendingAggregationRequests.DescribePendingAggregationRequests
instance GHC.Read.Read Network.AWS.Config.DescribePendingAggregationRequests.DescribePendingAggregationRequests
instance GHC.Classes.Eq Network.AWS.Config.DescribePendingAggregationRequests.DescribePendingAggregationRequests
instance Network.AWS.Types.AWSRequest Network.AWS.Config.DescribePendingAggregationRequests.DescribePendingAggregationRequests
instance Control.DeepSeq.NFData Network.AWS.Config.DescribePendingAggregationRequests.DescribePendingAggregationRequestsResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.DescribePendingAggregationRequests.DescribePendingAggregationRequests
instance Control.DeepSeq.NFData Network.AWS.Config.DescribePendingAggregationRequests.DescribePendingAggregationRequests
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.DescribePendingAggregationRequests.DescribePendingAggregationRequests
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.DescribePendingAggregationRequests.DescribePendingAggregationRequests
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.DescribePendingAggregationRequests.DescribePendingAggregationRequests
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.DescribePendingAggregationRequests.DescribePendingAggregationRequests


-- | Returns details about the specified delivery channel. If a delivery
--   channel is not specified, this action returns the details of all
--   delivery channels associated with the account.
module Network.AWS.Config.DescribeDeliveryChannels

-- | Creates a value of <a>DescribeDeliveryChannels</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcDeliveryChannelNames</a> - A list of delivery channel
--   names.</li>
--   </ul>
describeDeliveryChannels :: DescribeDeliveryChannels

-- | The input for the <a>DescribeDeliveryChannels</a> action.
--   
--   <i>See:</i> <a>describeDeliveryChannels</a> smart constructor.
data DescribeDeliveryChannels

-- | A list of delivery channel names.
ddcDeliveryChannelNames :: Lens' DescribeDeliveryChannels [Text]

-- | Creates a value of <a>DescribeDeliveryChannelsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcrsDeliveryChannels</a> - A list that contains the
--   descriptions of the specified delivery channel.</li>
--   <li><a>ddcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDeliveryChannelsResponse :: Int -> DescribeDeliveryChannelsResponse

-- | The output for the <a>DescribeDeliveryChannels</a> action.
--   
--   <i>See:</i> <a>describeDeliveryChannelsResponse</a> smart constructor.
data DescribeDeliveryChannelsResponse

-- | A list that contains the descriptions of the specified delivery
--   channel.
ddcrsDeliveryChannels :: Lens' DescribeDeliveryChannelsResponse [DeliveryChannel]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddcrsResponseStatus :: Lens' DescribeDeliveryChannelsResponse Int
instance GHC.Generics.Generic Network.AWS.Config.DescribeDeliveryChannels.DescribeDeliveryChannelsResponse
instance Data.Data.Data Network.AWS.Config.DescribeDeliveryChannels.DescribeDeliveryChannelsResponse
instance GHC.Show.Show Network.AWS.Config.DescribeDeliveryChannels.DescribeDeliveryChannelsResponse
instance GHC.Read.Read Network.AWS.Config.DescribeDeliveryChannels.DescribeDeliveryChannelsResponse
instance GHC.Classes.Eq Network.AWS.Config.DescribeDeliveryChannels.DescribeDeliveryChannelsResponse
instance GHC.Generics.Generic Network.AWS.Config.DescribeDeliveryChannels.DescribeDeliveryChannels
instance Data.Data.Data Network.AWS.Config.DescribeDeliveryChannels.DescribeDeliveryChannels
instance GHC.Show.Show Network.AWS.Config.DescribeDeliveryChannels.DescribeDeliveryChannels
instance GHC.Read.Read Network.AWS.Config.DescribeDeliveryChannels.DescribeDeliveryChannels
instance GHC.Classes.Eq Network.AWS.Config.DescribeDeliveryChannels.DescribeDeliveryChannels
instance Network.AWS.Types.AWSRequest Network.AWS.Config.DescribeDeliveryChannels.DescribeDeliveryChannels
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeDeliveryChannels.DescribeDeliveryChannelsResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.DescribeDeliveryChannels.DescribeDeliveryChannels
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeDeliveryChannels.DescribeDeliveryChannels
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.DescribeDeliveryChannels.DescribeDeliveryChannels
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.DescribeDeliveryChannels.DescribeDeliveryChannels
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.DescribeDeliveryChannels.DescribeDeliveryChannels
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.DescribeDeliveryChannels.DescribeDeliveryChannels


-- | Returns the current status of the specified delivery channel. If a
--   delivery channel is not specified, this action returns the current
--   status of all delivery channels associated with the account.
module Network.AWS.Config.DescribeDeliveryChannelStatus

-- | Creates a value of <a>DescribeDeliveryChannelStatus</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcsDeliveryChannelNames</a> - A list of delivery channel
--   names.</li>
--   </ul>
describeDeliveryChannelStatus :: DescribeDeliveryChannelStatus

-- | The input for the <a>DeliveryChannelStatus</a> action.
--   
--   <i>See:</i> <a>describeDeliveryChannelStatus</a> smart constructor.
data DescribeDeliveryChannelStatus

-- | A list of delivery channel names.
ddcsDeliveryChannelNames :: Lens' DescribeDeliveryChannelStatus [Text]

-- | Creates a value of <a>DescribeDeliveryChannelStatusResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcsrsDeliveryChannelsStatus</a> - A list that contains the
--   status of a specified delivery channel.</li>
--   <li><a>ddcsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDeliveryChannelStatusResponse :: Int -> DescribeDeliveryChannelStatusResponse

-- | The output for the <a>DescribeDeliveryChannelStatus</a> action.
--   
--   <i>See:</i> <a>describeDeliveryChannelStatusResponse</a> smart
--   constructor.
data DescribeDeliveryChannelStatusResponse

-- | A list that contains the status of a specified delivery channel.
ddcsrsDeliveryChannelsStatus :: Lens' DescribeDeliveryChannelStatusResponse [DeliveryChannelStatus]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddcsrsResponseStatus :: Lens' DescribeDeliveryChannelStatusResponse Int
instance GHC.Generics.Generic Network.AWS.Config.DescribeDeliveryChannelStatus.DescribeDeliveryChannelStatusResponse
instance Data.Data.Data Network.AWS.Config.DescribeDeliveryChannelStatus.DescribeDeliveryChannelStatusResponse
instance GHC.Show.Show Network.AWS.Config.DescribeDeliveryChannelStatus.DescribeDeliveryChannelStatusResponse
instance GHC.Read.Read Network.AWS.Config.DescribeDeliveryChannelStatus.DescribeDeliveryChannelStatusResponse
instance GHC.Classes.Eq Network.AWS.Config.DescribeDeliveryChannelStatus.DescribeDeliveryChannelStatusResponse
instance GHC.Generics.Generic Network.AWS.Config.DescribeDeliveryChannelStatus.DescribeDeliveryChannelStatus
instance Data.Data.Data Network.AWS.Config.DescribeDeliveryChannelStatus.DescribeDeliveryChannelStatus
instance GHC.Show.Show Network.AWS.Config.DescribeDeliveryChannelStatus.DescribeDeliveryChannelStatus
instance GHC.Read.Read Network.AWS.Config.DescribeDeliveryChannelStatus.DescribeDeliveryChannelStatus
instance GHC.Classes.Eq Network.AWS.Config.DescribeDeliveryChannelStatus.DescribeDeliveryChannelStatus
instance Network.AWS.Types.AWSRequest Network.AWS.Config.DescribeDeliveryChannelStatus.DescribeDeliveryChannelStatus
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeDeliveryChannelStatus.DescribeDeliveryChannelStatusResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.DescribeDeliveryChannelStatus.DescribeDeliveryChannelStatus
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeDeliveryChannelStatus.DescribeDeliveryChannelStatus
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.DescribeDeliveryChannelStatus.DescribeDeliveryChannelStatus
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.DescribeDeliveryChannelStatus.DescribeDeliveryChannelStatus
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.DescribeDeliveryChannelStatus.DescribeDeliveryChannelStatus
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.DescribeDeliveryChannelStatus.DescribeDeliveryChannelStatus


-- | Returns the details for the specified configuration recorders. If the
--   configuration recorder is not specified, this action returns the
--   details for all configuration recorders associated with the account.
module Network.AWS.Config.DescribeConfigurationRecorders

-- | Creates a value of <a>DescribeConfigurationRecorders</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcrConfigurationRecorderNames</a> - A list of configuration
--   recorder names.</li>
--   </ul>
describeConfigurationRecorders :: DescribeConfigurationRecorders

-- | The input for the <a>DescribeConfigurationRecorders</a> action.
--   
--   <i>See:</i> <a>describeConfigurationRecorders</a> smart constructor.
data DescribeConfigurationRecorders

-- | A list of configuration recorder names.
dcrConfigurationRecorderNames :: Lens' DescribeConfigurationRecorders [Text]

-- | Creates a value of <a>DescribeConfigurationRecordersResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drsConfigurationRecorders</a> - A list that contains the
--   descriptions of the specified configuration recorders.</li>
--   <li><a>drsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeConfigurationRecordersResponse :: Int -> DescribeConfigurationRecordersResponse

-- | The output for the <a>DescribeConfigurationRecorders</a> action.
--   
--   <i>See:</i> <a>describeConfigurationRecordersResponse</a> smart
--   constructor.
data DescribeConfigurationRecordersResponse

-- | A list that contains the descriptions of the specified configuration
--   recorders.
drsConfigurationRecorders :: Lens' DescribeConfigurationRecordersResponse [ConfigurationRecorder]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
drsResponseStatus :: Lens' DescribeConfigurationRecordersResponse Int
instance GHC.Generics.Generic Network.AWS.Config.DescribeConfigurationRecorders.DescribeConfigurationRecordersResponse
instance Data.Data.Data Network.AWS.Config.DescribeConfigurationRecorders.DescribeConfigurationRecordersResponse
instance GHC.Show.Show Network.AWS.Config.DescribeConfigurationRecorders.DescribeConfigurationRecordersResponse
instance GHC.Read.Read Network.AWS.Config.DescribeConfigurationRecorders.DescribeConfigurationRecordersResponse
instance GHC.Classes.Eq Network.AWS.Config.DescribeConfigurationRecorders.DescribeConfigurationRecordersResponse
instance GHC.Generics.Generic Network.AWS.Config.DescribeConfigurationRecorders.DescribeConfigurationRecorders
instance Data.Data.Data Network.AWS.Config.DescribeConfigurationRecorders.DescribeConfigurationRecorders
instance GHC.Show.Show Network.AWS.Config.DescribeConfigurationRecorders.DescribeConfigurationRecorders
instance GHC.Read.Read Network.AWS.Config.DescribeConfigurationRecorders.DescribeConfigurationRecorders
instance GHC.Classes.Eq Network.AWS.Config.DescribeConfigurationRecorders.DescribeConfigurationRecorders
instance Network.AWS.Types.AWSRequest Network.AWS.Config.DescribeConfigurationRecorders.DescribeConfigurationRecorders
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeConfigurationRecorders.DescribeConfigurationRecordersResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.DescribeConfigurationRecorders.DescribeConfigurationRecorders
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeConfigurationRecorders.DescribeConfigurationRecorders
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.DescribeConfigurationRecorders.DescribeConfigurationRecorders
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.DescribeConfigurationRecorders.DescribeConfigurationRecorders
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.DescribeConfigurationRecorders.DescribeConfigurationRecorders
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.DescribeConfigurationRecorders.DescribeConfigurationRecorders


-- | Returns the current status of the specified configuration recorder. If
--   a configuration recorder is not specified, this action returns the
--   status of all configuration recorders associated with the account.
module Network.AWS.Config.DescribeConfigurationRecorderStatus

-- | Creates a value of <a>DescribeConfigurationRecorderStatus</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcrsConfigurationRecorderNames</a> - The name(s) of the
--   configuration recorder. If the name is not specified, the action
--   returns the current status of all the configuration recorders
--   associated with the account.</li>
--   </ul>
describeConfigurationRecorderStatus :: DescribeConfigurationRecorderStatus

-- | The input for the <a>DescribeConfigurationRecorderStatus</a> action.
--   
--   <i>See:</i> <a>describeConfigurationRecorderStatus</a> smart
--   constructor.
data DescribeConfigurationRecorderStatus

-- | The name(s) of the configuration recorder. If the name is not
--   specified, the action returns the current status of all the
--   configuration recorders associated with the account.
dcrsConfigurationRecorderNames :: Lens' DescribeConfigurationRecorderStatus [Text]

-- | Creates a value of <a>DescribeConfigurationRecorderStatusResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcrsrsConfigurationRecordersStatus</a> - A list that contains
--   status of the specified recorders.</li>
--   <li><a>dcrsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeConfigurationRecorderStatusResponse :: Int -> DescribeConfigurationRecorderStatusResponse

-- | The output for the <a>DescribeConfigurationRecorderStatus</a> action,
--   in JSON format.
--   
--   <i>See:</i> <a>describeConfigurationRecorderStatusResponse</a> smart
--   constructor.
data DescribeConfigurationRecorderStatusResponse

-- | A list that contains status of the specified recorders.
dcrsrsConfigurationRecordersStatus :: Lens' DescribeConfigurationRecorderStatusResponse [ConfigurationRecorderStatus]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dcrsrsResponseStatus :: Lens' DescribeConfigurationRecorderStatusResponse Int
instance GHC.Generics.Generic Network.AWS.Config.DescribeConfigurationRecorderStatus.DescribeConfigurationRecorderStatusResponse
instance Data.Data.Data Network.AWS.Config.DescribeConfigurationRecorderStatus.DescribeConfigurationRecorderStatusResponse
instance GHC.Show.Show Network.AWS.Config.DescribeConfigurationRecorderStatus.DescribeConfigurationRecorderStatusResponse
instance GHC.Read.Read Network.AWS.Config.DescribeConfigurationRecorderStatus.DescribeConfigurationRecorderStatusResponse
instance GHC.Classes.Eq Network.AWS.Config.DescribeConfigurationRecorderStatus.DescribeConfigurationRecorderStatusResponse
instance GHC.Generics.Generic Network.AWS.Config.DescribeConfigurationRecorderStatus.DescribeConfigurationRecorderStatus
instance Data.Data.Data Network.AWS.Config.DescribeConfigurationRecorderStatus.DescribeConfigurationRecorderStatus
instance GHC.Show.Show Network.AWS.Config.DescribeConfigurationRecorderStatus.DescribeConfigurationRecorderStatus
instance GHC.Read.Read Network.AWS.Config.DescribeConfigurationRecorderStatus.DescribeConfigurationRecorderStatus
instance GHC.Classes.Eq Network.AWS.Config.DescribeConfigurationRecorderStatus.DescribeConfigurationRecorderStatus
instance Network.AWS.Types.AWSRequest Network.AWS.Config.DescribeConfigurationRecorderStatus.DescribeConfigurationRecorderStatus
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeConfigurationRecorderStatus.DescribeConfigurationRecorderStatusResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.DescribeConfigurationRecorderStatus.DescribeConfigurationRecorderStatus
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeConfigurationRecorderStatus.DescribeConfigurationRecorderStatus
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.DescribeConfigurationRecorderStatus.DescribeConfigurationRecorderStatus
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.DescribeConfigurationRecorderStatus.DescribeConfigurationRecorderStatus
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.DescribeConfigurationRecorderStatus.DescribeConfigurationRecorderStatus
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.DescribeConfigurationRecorderStatus.DescribeConfigurationRecorderStatus


-- | Returns the details of one or more configuration aggregators. If the
--   configuration aggregator is not specified, this action returns the
--   details for all the configuration aggregators associated with the
--   account.
module Network.AWS.Config.DescribeConfigurationAggregators

-- | Creates a value of <a>DescribeConfigurationAggregators</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcaNextToken</a> - The nextToken string returned on a previous
--   page that you use to get the next page of results in a paginated
--   response.</li>
--   <li><a>dcaLimit</a> - The maximum number of configuration aggregators
--   returned on each page. The default is maximum. If you specify 0, AWS
--   Config uses the default.</li>
--   <li><a>dcaConfigurationAggregatorNames</a> - The name of the
--   configuration aggregators.</li>
--   </ul>
describeConfigurationAggregators :: DescribeConfigurationAggregators

-- | <i>See:</i> <a>describeConfigurationAggregators</a> smart constructor.
data DescribeConfigurationAggregators

-- | The nextToken string returned on a previous page that you use to get
--   the next page of results in a paginated response.
dcaNextToken :: Lens' DescribeConfigurationAggregators (Maybe Text)

-- | The maximum number of configuration aggregators returned on each page.
--   The default is maximum. If you specify 0, AWS Config uses the default.
dcaLimit :: Lens' DescribeConfigurationAggregators (Maybe Natural)

-- | The name of the configuration aggregators.
dcaConfigurationAggregatorNames :: Lens' DescribeConfigurationAggregators [Text]

-- | Creates a value of <a>DescribeConfigurationAggregatorsResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcarsNextToken</a> - The nextToken string returned on a
--   previous page that you use to get the next page of results in a
--   paginated response.</li>
--   <li><a>dcarsConfigurationAggregators</a> - Returns a
--   ConfigurationAggregators object.</li>
--   <li><a>dcarsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeConfigurationAggregatorsResponse :: Int -> DescribeConfigurationAggregatorsResponse

-- | <i>See:</i> <a>describeConfigurationAggregatorsResponse</a> smart
--   constructor.
data DescribeConfigurationAggregatorsResponse

-- | The nextToken string returned on a previous page that you use to get
--   the next page of results in a paginated response.
dcarsNextToken :: Lens' DescribeConfigurationAggregatorsResponse (Maybe Text)

-- | Returns a ConfigurationAggregators object.
dcarsConfigurationAggregators :: Lens' DescribeConfigurationAggregatorsResponse [ConfigurationAggregator]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dcarsResponseStatus :: Lens' DescribeConfigurationAggregatorsResponse Int
instance GHC.Generics.Generic Network.AWS.Config.DescribeConfigurationAggregators.DescribeConfigurationAggregatorsResponse
instance Data.Data.Data Network.AWS.Config.DescribeConfigurationAggregators.DescribeConfigurationAggregatorsResponse
instance GHC.Show.Show Network.AWS.Config.DescribeConfigurationAggregators.DescribeConfigurationAggregatorsResponse
instance GHC.Read.Read Network.AWS.Config.DescribeConfigurationAggregators.DescribeConfigurationAggregatorsResponse
instance GHC.Classes.Eq Network.AWS.Config.DescribeConfigurationAggregators.DescribeConfigurationAggregatorsResponse
instance GHC.Generics.Generic Network.AWS.Config.DescribeConfigurationAggregators.DescribeConfigurationAggregators
instance Data.Data.Data Network.AWS.Config.DescribeConfigurationAggregators.DescribeConfigurationAggregators
instance GHC.Show.Show Network.AWS.Config.DescribeConfigurationAggregators.DescribeConfigurationAggregators
instance GHC.Read.Read Network.AWS.Config.DescribeConfigurationAggregators.DescribeConfigurationAggregators
instance GHC.Classes.Eq Network.AWS.Config.DescribeConfigurationAggregators.DescribeConfigurationAggregators
instance Network.AWS.Types.AWSRequest Network.AWS.Config.DescribeConfigurationAggregators.DescribeConfigurationAggregators
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeConfigurationAggregators.DescribeConfigurationAggregatorsResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.DescribeConfigurationAggregators.DescribeConfigurationAggregators
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeConfigurationAggregators.DescribeConfigurationAggregators
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.DescribeConfigurationAggregators.DescribeConfigurationAggregators
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.DescribeConfigurationAggregators.DescribeConfigurationAggregators
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.DescribeConfigurationAggregators.DescribeConfigurationAggregators
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.DescribeConfigurationAggregators.DescribeConfigurationAggregators


-- | Returns status information for sources within an aggregator. The
--   status includes information about the last time AWS Config aggregated
--   data from source accounts or AWS Config failed to aggregate data from
--   source accounts with the related error code or message.
module Network.AWS.Config.DescribeConfigurationAggregatorSourcesStatus

-- | Creates a value of <a>DescribeConfigurationAggregatorSourcesStatus</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcassNextToken</a> - The nextToken string returned on a
--   previous page that you use to get the next page of results in a
--   paginated response.</li>
--   <li><a>dcassLimit</a> - The maximum number of AggregatorSourceStatus
--   returned on each page. The default is maximum. If you specify 0, AWS
--   Config uses the default.</li>
--   <li><a>dcassUpdateStatus</a> - Filters the status type. * Valid value
--   FAILED indicates errors while moving data. * Valid value SUCCEEDED
--   indicates the data was successfully moved. * Valid value OUTDATED
--   indicates the data is not the most recent.</li>
--   <li><a>dcassConfigurationAggregatorName</a> - The name of the
--   configuration aggregator.</li>
--   </ul>
describeConfigurationAggregatorSourcesStatus :: Text -> DescribeConfigurationAggregatorSourcesStatus

-- | <i>See:</i> <a>describeConfigurationAggregatorSourcesStatus</a> smart
--   constructor.
data DescribeConfigurationAggregatorSourcesStatus

-- | The nextToken string returned on a previous page that you use to get
--   the next page of results in a paginated response.
dcassNextToken :: Lens' DescribeConfigurationAggregatorSourcesStatus (Maybe Text)

-- | The maximum number of AggregatorSourceStatus returned on each page.
--   The default is maximum. If you specify 0, AWS Config uses the default.
dcassLimit :: Lens' DescribeConfigurationAggregatorSourcesStatus (Maybe Natural)

-- | Filters the status type. * Valid value FAILED indicates errors while
--   moving data. * Valid value SUCCEEDED indicates the data was
--   successfully moved. * Valid value OUTDATED indicates the data is not
--   the most recent.
dcassUpdateStatus :: Lens' DescribeConfigurationAggregatorSourcesStatus (Maybe (NonEmpty AggregatedSourceStatusType))

-- | The name of the configuration aggregator.
dcassConfigurationAggregatorName :: Lens' DescribeConfigurationAggregatorSourcesStatus Text

-- | Creates a value of
--   <a>DescribeConfigurationAggregatorSourcesStatusResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcassrsAggregatedSourceStatusList</a> - Retuns an
--   AggregatedSourceStatus object.</li>
--   <li><a>dcassrsNextToken</a> - The nextToken string returned on a
--   previous page that you use to get the next page of results in a
--   paginated response.</li>
--   <li><a>dcassrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeConfigurationAggregatorSourcesStatusResponse :: Int -> DescribeConfigurationAggregatorSourcesStatusResponse

-- | <i>See:</i>
--   <a>describeConfigurationAggregatorSourcesStatusResponse</a> smart
--   constructor.
data DescribeConfigurationAggregatorSourcesStatusResponse

-- | Retuns an AggregatedSourceStatus object.
dcassrsAggregatedSourceStatusList :: Lens' DescribeConfigurationAggregatorSourcesStatusResponse [AggregatedSourceStatus]

-- | The nextToken string returned on a previous page that you use to get
--   the next page of results in a paginated response.
dcassrsNextToken :: Lens' DescribeConfigurationAggregatorSourcesStatusResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dcassrsResponseStatus :: Lens' DescribeConfigurationAggregatorSourcesStatusResponse Int
instance GHC.Generics.Generic Network.AWS.Config.DescribeConfigurationAggregatorSourcesStatus.DescribeConfigurationAggregatorSourcesStatusResponse
instance Data.Data.Data Network.AWS.Config.DescribeConfigurationAggregatorSourcesStatus.DescribeConfigurationAggregatorSourcesStatusResponse
instance GHC.Show.Show Network.AWS.Config.DescribeConfigurationAggregatorSourcesStatus.DescribeConfigurationAggregatorSourcesStatusResponse
instance GHC.Read.Read Network.AWS.Config.DescribeConfigurationAggregatorSourcesStatus.DescribeConfigurationAggregatorSourcesStatusResponse
instance GHC.Classes.Eq Network.AWS.Config.DescribeConfigurationAggregatorSourcesStatus.DescribeConfigurationAggregatorSourcesStatusResponse
instance GHC.Generics.Generic Network.AWS.Config.DescribeConfigurationAggregatorSourcesStatus.DescribeConfigurationAggregatorSourcesStatus
instance Data.Data.Data Network.AWS.Config.DescribeConfigurationAggregatorSourcesStatus.DescribeConfigurationAggregatorSourcesStatus
instance GHC.Show.Show Network.AWS.Config.DescribeConfigurationAggregatorSourcesStatus.DescribeConfigurationAggregatorSourcesStatus
instance GHC.Read.Read Network.AWS.Config.DescribeConfigurationAggregatorSourcesStatus.DescribeConfigurationAggregatorSourcesStatus
instance GHC.Classes.Eq Network.AWS.Config.DescribeConfigurationAggregatorSourcesStatus.DescribeConfigurationAggregatorSourcesStatus
instance Network.AWS.Types.AWSRequest Network.AWS.Config.DescribeConfigurationAggregatorSourcesStatus.DescribeConfigurationAggregatorSourcesStatus
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeConfigurationAggregatorSourcesStatus.DescribeConfigurationAggregatorSourcesStatusResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.DescribeConfigurationAggregatorSourcesStatus.DescribeConfigurationAggregatorSourcesStatus
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeConfigurationAggregatorSourcesStatus.DescribeConfigurationAggregatorSourcesStatus
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.DescribeConfigurationAggregatorSourcesStatus.DescribeConfigurationAggregatorSourcesStatus
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.DescribeConfigurationAggregatorSourcesStatus.DescribeConfigurationAggregatorSourcesStatus
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.DescribeConfigurationAggregatorSourcesStatus.DescribeConfigurationAggregatorSourcesStatus
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.DescribeConfigurationAggregatorSourcesStatus.DescribeConfigurationAggregatorSourcesStatus


-- | Returns details about your AWS Config rules.
--   
--   This operation returns paginated results.
module Network.AWS.Config.DescribeConfigRules

-- | Creates a value of <a>DescribeConfigRules</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcrConfigRuleNames</a> - The names of the AWS Config rules for
--   which you want details. If you do not specify any names, AWS Config
--   returns details for all your rules.</li>
--   <li><a>dcrNextToken</a> - The <tt>nextToken</tt> string returned on a
--   previous page that you use to get the next page of results in a
--   paginated response.</li>
--   </ul>
describeConfigRules :: DescribeConfigRules

-- | <i>See:</i> <a>describeConfigRules</a> smart constructor.
data DescribeConfigRules

-- | The names of the AWS Config rules for which you want details. If you
--   do not specify any names, AWS Config returns details for all your
--   rules.
dcrConfigRuleNames :: Lens' DescribeConfigRules [Text]

-- | The <tt>nextToken</tt> string returned on a previous page that you use
--   to get the next page of results in a paginated response.
dcrNextToken :: Lens' DescribeConfigRules (Maybe Text)

-- | Creates a value of <a>DescribeConfigRulesResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcrrsConfigRules</a> - The details about your AWS Config
--   rules.</li>
--   <li><a>dcrrsNextToken</a> - The string that you use in a subsequent
--   request to get the next page of results in a paginated response.</li>
--   <li><a>dcrrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeConfigRulesResponse :: Int -> DescribeConfigRulesResponse

-- | <i>See:</i> <a>describeConfigRulesResponse</a> smart constructor.
data DescribeConfigRulesResponse

-- | The details about your AWS Config rules.
dcrrsConfigRules :: Lens' DescribeConfigRulesResponse [ConfigRule]

-- | The string that you use in a subsequent request to get the next page
--   of results in a paginated response.
dcrrsNextToken :: Lens' DescribeConfigRulesResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dcrrsResponseStatus :: Lens' DescribeConfigRulesResponse Int
instance GHC.Generics.Generic Network.AWS.Config.DescribeConfigRules.DescribeConfigRulesResponse
instance Data.Data.Data Network.AWS.Config.DescribeConfigRules.DescribeConfigRulesResponse
instance GHC.Show.Show Network.AWS.Config.DescribeConfigRules.DescribeConfigRulesResponse
instance GHC.Read.Read Network.AWS.Config.DescribeConfigRules.DescribeConfigRulesResponse
instance GHC.Classes.Eq Network.AWS.Config.DescribeConfigRules.DescribeConfigRulesResponse
instance GHC.Generics.Generic Network.AWS.Config.DescribeConfigRules.DescribeConfigRules
instance Data.Data.Data Network.AWS.Config.DescribeConfigRules.DescribeConfigRules
instance GHC.Show.Show Network.AWS.Config.DescribeConfigRules.DescribeConfigRules
instance GHC.Read.Read Network.AWS.Config.DescribeConfigRules.DescribeConfigRules
instance GHC.Classes.Eq Network.AWS.Config.DescribeConfigRules.DescribeConfigRules
instance Network.AWS.Types.AWSRequest Network.AWS.Config.DescribeConfigRules.DescribeConfigRules
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeConfigRules.DescribeConfigRulesResponse
instance Network.AWS.Pager.AWSPager Network.AWS.Config.DescribeConfigRules.DescribeConfigRules
instance Data.Hashable.Class.Hashable Network.AWS.Config.DescribeConfigRules.DescribeConfigRules
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeConfigRules.DescribeConfigRules
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.DescribeConfigRules.DescribeConfigRules
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.DescribeConfigRules.DescribeConfigRules
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.DescribeConfigRules.DescribeConfigRules
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.DescribeConfigRules.DescribeConfigRules


-- | Returns status information for each of your AWS managed Config rules.
--   The status includes information such as the last time AWS Config
--   invoked the rule, the last time AWS Config failed to invoke the rule,
--   and the related error for the last failure.
module Network.AWS.Config.DescribeConfigRuleEvaluationStatus

-- | Creates a value of <a>DescribeConfigRuleEvaluationStatus</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcresConfigRuleNames</a> - The name of the AWS managed Config
--   rules for which you want status information. If you do not specify any
--   names, AWS Config returns status information for all AWS managed
--   Config rules that you use.</li>
--   <li><a>dcresNextToken</a> - The <tt>nextToken</tt> string returned on
--   a previous page that you use to get the next page of results in a
--   paginated response.</li>
--   <li><a>dcresLimit</a> - The number of rule evaluation results that you
--   want returned. This parameter is required if the rule limit for your
--   account is more than the default of 50 rules. For information about
--   requesting a rule limit increase, see <a>AWS Config Limits</a> in the
--   <i>AWS General Reference Guide</i> .</li>
--   </ul>
describeConfigRuleEvaluationStatus :: DescribeConfigRuleEvaluationStatus

-- | <i>See:</i> <a>describeConfigRuleEvaluationStatus</a> smart
--   constructor.
data DescribeConfigRuleEvaluationStatus

-- | The name of the AWS managed Config rules for which you want status
--   information. If you do not specify any names, AWS Config returns
--   status information for all AWS managed Config rules that you use.
dcresConfigRuleNames :: Lens' DescribeConfigRuleEvaluationStatus [Text]

-- | The <tt>nextToken</tt> string returned on a previous page that you use
--   to get the next page of results in a paginated response.
dcresNextToken :: Lens' DescribeConfigRuleEvaluationStatus (Maybe Text)

-- | The number of rule evaluation results that you want returned. This
--   parameter is required if the rule limit for your account is more than
--   the default of 50 rules. For information about requesting a rule limit
--   increase, see <a>AWS Config Limits</a> in the <i>AWS General Reference
--   Guide</i> .
dcresLimit :: Lens' DescribeConfigRuleEvaluationStatus (Maybe Natural)

-- | Creates a value of <a>DescribeConfigRuleEvaluationStatusResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcresrsConfigRulesEvaluationStatus</a> - Status information
--   about your AWS managed Config rules.</li>
--   <li><a>dcresrsNextToken</a> - The string that you use in a subsequent
--   request to get the next page of results in a paginated response.</li>
--   <li><a>dcresrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeConfigRuleEvaluationStatusResponse :: Int -> DescribeConfigRuleEvaluationStatusResponse

-- | <i>See:</i> <a>describeConfigRuleEvaluationStatusResponse</a> smart
--   constructor.
data DescribeConfigRuleEvaluationStatusResponse

-- | Status information about your AWS managed Config rules.
dcresrsConfigRulesEvaluationStatus :: Lens' DescribeConfigRuleEvaluationStatusResponse [ConfigRuleEvaluationStatus]

-- | The string that you use in a subsequent request to get the next page
--   of results in a paginated response.
dcresrsNextToken :: Lens' DescribeConfigRuleEvaluationStatusResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dcresrsResponseStatus :: Lens' DescribeConfigRuleEvaluationStatusResponse Int
instance GHC.Generics.Generic Network.AWS.Config.DescribeConfigRuleEvaluationStatus.DescribeConfigRuleEvaluationStatusResponse
instance Data.Data.Data Network.AWS.Config.DescribeConfigRuleEvaluationStatus.DescribeConfigRuleEvaluationStatusResponse
instance GHC.Show.Show Network.AWS.Config.DescribeConfigRuleEvaluationStatus.DescribeConfigRuleEvaluationStatusResponse
instance GHC.Read.Read Network.AWS.Config.DescribeConfigRuleEvaluationStatus.DescribeConfigRuleEvaluationStatusResponse
instance GHC.Classes.Eq Network.AWS.Config.DescribeConfigRuleEvaluationStatus.DescribeConfigRuleEvaluationStatusResponse
instance GHC.Generics.Generic Network.AWS.Config.DescribeConfigRuleEvaluationStatus.DescribeConfigRuleEvaluationStatus
instance Data.Data.Data Network.AWS.Config.DescribeConfigRuleEvaluationStatus.DescribeConfigRuleEvaluationStatus
instance GHC.Show.Show Network.AWS.Config.DescribeConfigRuleEvaluationStatus.DescribeConfigRuleEvaluationStatus
instance GHC.Read.Read Network.AWS.Config.DescribeConfigRuleEvaluationStatus.DescribeConfigRuleEvaluationStatus
instance GHC.Classes.Eq Network.AWS.Config.DescribeConfigRuleEvaluationStatus.DescribeConfigRuleEvaluationStatus
instance Network.AWS.Types.AWSRequest Network.AWS.Config.DescribeConfigRuleEvaluationStatus.DescribeConfigRuleEvaluationStatus
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeConfigRuleEvaluationStatus.DescribeConfigRuleEvaluationStatusResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.DescribeConfigRuleEvaluationStatus.DescribeConfigRuleEvaluationStatus
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeConfigRuleEvaluationStatus.DescribeConfigRuleEvaluationStatus
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.DescribeConfigRuleEvaluationStatus.DescribeConfigRuleEvaluationStatus
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.DescribeConfigRuleEvaluationStatus.DescribeConfigRuleEvaluationStatus
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.DescribeConfigRuleEvaluationStatus.DescribeConfigRuleEvaluationStatus
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.DescribeConfigRuleEvaluationStatus.DescribeConfigRuleEvaluationStatus


-- | Indicates whether the specified AWS resources are compliant. If a
--   resource is noncompliant, this action returns the number of AWS Config
--   rules that the resource does not comply with.
--   
--   A resource is compliant if it complies with all the AWS Config rules
--   that evaluate it. It is noncompliant if it does not comply with one or
--   more of these rules.
--   
--   If AWS Config has no current evaluation results for the resource, it
--   returns <tt>INSUFFICIENT_DATA</tt> . This result might indicate one of
--   the following conditions about the rules that evaluate the resource:
--   
--   <ul>
--   <li>AWS Config has never invoked an evaluation for the rule. To check
--   whether it has, use the <tt>DescribeConfigRuleEvaluationStatus</tt>
--   action to get the <tt>LastSuccessfulInvocationTime</tt> and
--   <tt>LastFailedInvocationTime</tt> .</li>
--   <li>The rule's AWS Lambda function is failing to send evaluation
--   results to AWS Config. Verify that the role that you assigned to your
--   configuration recorder includes the <tt>config:PutEvaluations</tt>
--   permission. If the rule is a custom rule, verify that the AWS Lambda
--   execution role includes the <tt>config:PutEvaluations</tt>
--   permission.</li>
--   <li>The rule's AWS Lambda function has returned
--   <tt>NOT_APPLICABLE</tt> for all evaluation results. This can occur if
--   the resources were deleted or removed from the rule's scope.</li>
--   </ul>
--   
--   This operation returns paginated results.
module Network.AWS.Config.DescribeComplianceByResource

-- | Creates a value of <a>DescribeComplianceByResource</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcbrResourceId</a> - The ID of the AWS resource for which you
--   want compliance information. You can specify only one resource ID. If
--   you specify a resource ID, you must also specify a type for
--   <tt>ResourceType</tt> .</li>
--   <li><a>dcbrResourceType</a> - The types of AWS resources for which you
--   want compliance information (for example, <tt>AWS::EC2::Instance</tt>
--   ). For this action, you can specify that the resource type is an AWS
--   account by specifying <tt>AWS::::Account</tt> .</li>
--   <li><a>dcbrComplianceTypes</a> - Filters the results by compliance.
--   The allowed values are <tt>COMPLIANT</tt> and <tt>NON_COMPLIANT</tt>
--   .</li>
--   <li><a>dcbrNextToken</a> - The <tt>nextToken</tt> string returned on a
--   previous page that you use to get the next page of results in a
--   paginated response.</li>
--   <li><a>dcbrLimit</a> - The maximum number of evaluation results
--   returned on each page. The default is 10. You cannot specify a number
--   greater than 100. If you specify 0, AWS Config uses the default.</li>
--   </ul>
describeComplianceByResource :: DescribeComplianceByResource

-- | <i>See:</i> <a>describeComplianceByResource</a> smart constructor.
data DescribeComplianceByResource

-- | The ID of the AWS resource for which you want compliance information.
--   You can specify only one resource ID. If you specify a resource ID,
--   you must also specify a type for <tt>ResourceType</tt> .
dcbrResourceId :: Lens' DescribeComplianceByResource (Maybe Text)

-- | The types of AWS resources for which you want compliance information
--   (for example, <tt>AWS::EC2::Instance</tt> ). For this action, you can
--   specify that the resource type is an AWS account by specifying
--   <tt>AWS::::Account</tt> .
dcbrResourceType :: Lens' DescribeComplianceByResource (Maybe Text)

-- | Filters the results by compliance. The allowed values are
--   <tt>COMPLIANT</tt> and <tt>NON_COMPLIANT</tt> .
dcbrComplianceTypes :: Lens' DescribeComplianceByResource [ComplianceType]

-- | The <tt>nextToken</tt> string returned on a previous page that you use
--   to get the next page of results in a paginated response.
dcbrNextToken :: Lens' DescribeComplianceByResource (Maybe Text)

-- | The maximum number of evaluation results returned on each page. The
--   default is 10. You cannot specify a number greater than 100. If you
--   specify 0, AWS Config uses the default.
dcbrLimit :: Lens' DescribeComplianceByResource (Maybe Natural)

-- | Creates a value of <a>DescribeComplianceByResourceResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcbrrsComplianceByResources</a> - Indicates whether the
--   specified AWS resource complies with all of the AWS Config rules that
--   evaluate it.</li>
--   <li><a>dcbrrsNextToken</a> - The string that you use in a subsequent
--   request to get the next page of results in a paginated response.</li>
--   <li><a>dcbrrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeComplianceByResourceResponse :: Int -> DescribeComplianceByResourceResponse

-- | <i>See:</i> <a>describeComplianceByResourceResponse</a> smart
--   constructor.
data DescribeComplianceByResourceResponse

-- | Indicates whether the specified AWS resource complies with all of the
--   AWS Config rules that evaluate it.
dcbrrsComplianceByResources :: Lens' DescribeComplianceByResourceResponse [ComplianceByResource]

-- | The string that you use in a subsequent request to get the next page
--   of results in a paginated response.
dcbrrsNextToken :: Lens' DescribeComplianceByResourceResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dcbrrsResponseStatus :: Lens' DescribeComplianceByResourceResponse Int
instance GHC.Generics.Generic Network.AWS.Config.DescribeComplianceByResource.DescribeComplianceByResourceResponse
instance Data.Data.Data Network.AWS.Config.DescribeComplianceByResource.DescribeComplianceByResourceResponse
instance GHC.Show.Show Network.AWS.Config.DescribeComplianceByResource.DescribeComplianceByResourceResponse
instance GHC.Read.Read Network.AWS.Config.DescribeComplianceByResource.DescribeComplianceByResourceResponse
instance GHC.Classes.Eq Network.AWS.Config.DescribeComplianceByResource.DescribeComplianceByResourceResponse
instance GHC.Generics.Generic Network.AWS.Config.DescribeComplianceByResource.DescribeComplianceByResource
instance Data.Data.Data Network.AWS.Config.DescribeComplianceByResource.DescribeComplianceByResource
instance GHC.Show.Show Network.AWS.Config.DescribeComplianceByResource.DescribeComplianceByResource
instance GHC.Read.Read Network.AWS.Config.DescribeComplianceByResource.DescribeComplianceByResource
instance GHC.Classes.Eq Network.AWS.Config.DescribeComplianceByResource.DescribeComplianceByResource
instance Network.AWS.Types.AWSRequest Network.AWS.Config.DescribeComplianceByResource.DescribeComplianceByResource
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeComplianceByResource.DescribeComplianceByResourceResponse
instance Network.AWS.Pager.AWSPager Network.AWS.Config.DescribeComplianceByResource.DescribeComplianceByResource
instance Data.Hashable.Class.Hashable Network.AWS.Config.DescribeComplianceByResource.DescribeComplianceByResource
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeComplianceByResource.DescribeComplianceByResource
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.DescribeComplianceByResource.DescribeComplianceByResource
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.DescribeComplianceByResource.DescribeComplianceByResource
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.DescribeComplianceByResource.DescribeComplianceByResource
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.DescribeComplianceByResource.DescribeComplianceByResource


-- | Indicates whether the specified AWS Config rules are compliant. If a
--   rule is noncompliant, this action returns the number of AWS resources
--   that do not comply with the rule.
--   
--   A rule is compliant if all of the evaluated resources comply with it.
--   It is noncompliant if any of these resources do not comply.
--   
--   If AWS Config has no current evaluation results for the rule, it
--   returns <tt>INSUFFICIENT_DATA</tt> . This result might indicate one of
--   the following conditions:
--   
--   <ul>
--   <li>AWS Config has never invoked an evaluation for the rule. To check
--   whether it has, use the <tt>DescribeConfigRuleEvaluationStatus</tt>
--   action to get the <tt>LastSuccessfulInvocationTime</tt> and
--   <tt>LastFailedInvocationTime</tt> .</li>
--   <li>The rule's AWS Lambda function is failing to send evaluation
--   results to AWS Config. Verify that the role you assigned to your
--   configuration recorder includes the <tt>config:PutEvaluations</tt>
--   permission. If the rule is a custom rule, verify that the AWS Lambda
--   execution role includes the <tt>config:PutEvaluations</tt>
--   permission.</li>
--   <li>The rule's AWS Lambda function has returned
--   <tt>NOT_APPLICABLE</tt> for all evaluation results. This can occur if
--   the resources were deleted or removed from the rule's scope.</li>
--   </ul>
--   
--   This operation returns paginated results.
module Network.AWS.Config.DescribeComplianceByConfigRule

-- | Creates a value of <a>DescribeComplianceByConfigRule</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcbcrConfigRuleNames</a> - Specify one or more AWS Config rule
--   names to filter the results by rule.</li>
--   <li><a>dcbcrComplianceTypes</a> - Filters the results by compliance.
--   The allowed values are <tt>COMPLIANT</tt> , <tt>NON_COMPLIANT</tt> ,
--   and <tt>INSUFFICIENT_DATA</tt> .</li>
--   <li><a>dcbcrNextToken</a> - The <tt>nextToken</tt> string returned on
--   a previous page that you use to get the next page of results in a
--   paginated response.</li>
--   </ul>
describeComplianceByConfigRule :: DescribeComplianceByConfigRule

-- | <i>See:</i> <a>describeComplianceByConfigRule</a> smart constructor.
data DescribeComplianceByConfigRule

-- | Specify one or more AWS Config rule names to filter the results by
--   rule.
dcbcrConfigRuleNames :: Lens' DescribeComplianceByConfigRule [Text]

-- | Filters the results by compliance. The allowed values are
--   <tt>COMPLIANT</tt> , <tt>NON_COMPLIANT</tt> , and
--   <tt>INSUFFICIENT_DATA</tt> .
dcbcrComplianceTypes :: Lens' DescribeComplianceByConfigRule [ComplianceType]

-- | The <tt>nextToken</tt> string returned on a previous page that you use
--   to get the next page of results in a paginated response.
dcbcrNextToken :: Lens' DescribeComplianceByConfigRule (Maybe Text)

-- | Creates a value of <a>DescribeComplianceByConfigRuleResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcbcrrsComplianceByConfigRules</a> - Indicates whether each of
--   the specified AWS Config rules is compliant.</li>
--   <li><a>dcbcrrsNextToken</a> - The string that you use in a subsequent
--   request to get the next page of results in a paginated response.</li>
--   <li><a>dcbcrrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeComplianceByConfigRuleResponse :: Int -> DescribeComplianceByConfigRuleResponse

-- | <i>See:</i> <a>describeComplianceByConfigRuleResponse</a> smart
--   constructor.
data DescribeComplianceByConfigRuleResponse

-- | Indicates whether each of the specified AWS Config rules is compliant.
dcbcrrsComplianceByConfigRules :: Lens' DescribeComplianceByConfigRuleResponse [ComplianceByConfigRule]

-- | The string that you use in a subsequent request to get the next page
--   of results in a paginated response.
dcbcrrsNextToken :: Lens' DescribeComplianceByConfigRuleResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dcbcrrsResponseStatus :: Lens' DescribeComplianceByConfigRuleResponse Int
instance GHC.Generics.Generic Network.AWS.Config.DescribeComplianceByConfigRule.DescribeComplianceByConfigRuleResponse
instance Data.Data.Data Network.AWS.Config.DescribeComplianceByConfigRule.DescribeComplianceByConfigRuleResponse
instance GHC.Show.Show Network.AWS.Config.DescribeComplianceByConfigRule.DescribeComplianceByConfigRuleResponse
instance GHC.Read.Read Network.AWS.Config.DescribeComplianceByConfigRule.DescribeComplianceByConfigRuleResponse
instance GHC.Classes.Eq Network.AWS.Config.DescribeComplianceByConfigRule.DescribeComplianceByConfigRuleResponse
instance GHC.Generics.Generic Network.AWS.Config.DescribeComplianceByConfigRule.DescribeComplianceByConfigRule
instance Data.Data.Data Network.AWS.Config.DescribeComplianceByConfigRule.DescribeComplianceByConfigRule
instance GHC.Show.Show Network.AWS.Config.DescribeComplianceByConfigRule.DescribeComplianceByConfigRule
instance GHC.Read.Read Network.AWS.Config.DescribeComplianceByConfigRule.DescribeComplianceByConfigRule
instance GHC.Classes.Eq Network.AWS.Config.DescribeComplianceByConfigRule.DescribeComplianceByConfigRule
instance Network.AWS.Types.AWSRequest Network.AWS.Config.DescribeComplianceByConfigRule.DescribeComplianceByConfigRule
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeComplianceByConfigRule.DescribeComplianceByConfigRuleResponse
instance Network.AWS.Pager.AWSPager Network.AWS.Config.DescribeComplianceByConfigRule.DescribeComplianceByConfigRule
instance Data.Hashable.Class.Hashable Network.AWS.Config.DescribeComplianceByConfigRule.DescribeComplianceByConfigRule
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeComplianceByConfigRule.DescribeComplianceByConfigRule
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.DescribeComplianceByConfigRule.DescribeComplianceByConfigRule
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.DescribeComplianceByConfigRule.DescribeComplianceByConfigRule
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.DescribeComplianceByConfigRule.DescribeComplianceByConfigRule
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.DescribeComplianceByConfigRule.DescribeComplianceByConfigRule


-- | Returns a list of authorizations granted to various aggregator
--   accounts and regions.
module Network.AWS.Config.DescribeAggregationAuthorizations

-- | Creates a value of <a>DescribeAggregationAuthorizations</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>daaNextToken</a> - The nextToken string returned on a previous
--   page that you use to get the next page of results in a paginated
--   response.</li>
--   <li><a>daaLimit</a> - The maximum number of AggregationAuthorizations
--   returned on each page. The default is maximum. If you specify 0, AWS
--   Config uses the default.</li>
--   </ul>
describeAggregationAuthorizations :: DescribeAggregationAuthorizations

-- | <i>See:</i> <a>describeAggregationAuthorizations</a> smart
--   constructor.
data DescribeAggregationAuthorizations

-- | The nextToken string returned on a previous page that you use to get
--   the next page of results in a paginated response.
daaNextToken :: Lens' DescribeAggregationAuthorizations (Maybe Text)

-- | The maximum number of AggregationAuthorizations returned on each page.
--   The default is maximum. If you specify 0, AWS Config uses the default.
daaLimit :: Lens' DescribeAggregationAuthorizations (Maybe Natural)

-- | Creates a value of <a>DescribeAggregationAuthorizationsResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>daarsAggregationAuthorizations</a> - Returns a list of
--   authorizations granted to various aggregator accounts and
--   regions.</li>
--   <li><a>daarsNextToken</a> - The nextToken string returned on a
--   previous page that you use to get the next page of results in a
--   paginated response.</li>
--   <li><a>daarsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeAggregationAuthorizationsResponse :: Int -> DescribeAggregationAuthorizationsResponse

-- | <i>See:</i> <a>describeAggregationAuthorizationsResponse</a> smart
--   constructor.
data DescribeAggregationAuthorizationsResponse

-- | Returns a list of authorizations granted to various aggregator
--   accounts and regions.
daarsAggregationAuthorizations :: Lens' DescribeAggregationAuthorizationsResponse [AggregationAuthorization]

-- | The nextToken string returned on a previous page that you use to get
--   the next page of results in a paginated response.
daarsNextToken :: Lens' DescribeAggregationAuthorizationsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
daarsResponseStatus :: Lens' DescribeAggregationAuthorizationsResponse Int
instance GHC.Generics.Generic Network.AWS.Config.DescribeAggregationAuthorizations.DescribeAggregationAuthorizationsResponse
instance Data.Data.Data Network.AWS.Config.DescribeAggregationAuthorizations.DescribeAggregationAuthorizationsResponse
instance GHC.Show.Show Network.AWS.Config.DescribeAggregationAuthorizations.DescribeAggregationAuthorizationsResponse
instance GHC.Read.Read Network.AWS.Config.DescribeAggregationAuthorizations.DescribeAggregationAuthorizationsResponse
instance GHC.Classes.Eq Network.AWS.Config.DescribeAggregationAuthorizations.DescribeAggregationAuthorizationsResponse
instance GHC.Generics.Generic Network.AWS.Config.DescribeAggregationAuthorizations.DescribeAggregationAuthorizations
instance Data.Data.Data Network.AWS.Config.DescribeAggregationAuthorizations.DescribeAggregationAuthorizations
instance GHC.Show.Show Network.AWS.Config.DescribeAggregationAuthorizations.DescribeAggregationAuthorizations
instance GHC.Read.Read Network.AWS.Config.DescribeAggregationAuthorizations.DescribeAggregationAuthorizations
instance GHC.Classes.Eq Network.AWS.Config.DescribeAggregationAuthorizations.DescribeAggregationAuthorizations
instance Network.AWS.Types.AWSRequest Network.AWS.Config.DescribeAggregationAuthorizations.DescribeAggregationAuthorizations
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeAggregationAuthorizations.DescribeAggregationAuthorizationsResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.DescribeAggregationAuthorizations.DescribeAggregationAuthorizations
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeAggregationAuthorizations.DescribeAggregationAuthorizations
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.DescribeAggregationAuthorizations.DescribeAggregationAuthorizations
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.DescribeAggregationAuthorizations.DescribeAggregationAuthorizations
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.DescribeAggregationAuthorizations.DescribeAggregationAuthorizations
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.DescribeAggregationAuthorizations.DescribeAggregationAuthorizations


-- | Returns a list of compliant and noncompliant rules with the number of
--   resources for compliant and noncompliant rules.
module Network.AWS.Config.DescribeAggregateComplianceByConfigRules

-- | Creates a value of <a>DescribeAggregateComplianceByConfigRules</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dacbcrFilters</a> - Filters the results by
--   ConfigRuleComplianceFilters object.</li>
--   <li><a>dacbcrNextToken</a> - The nextToken string returned on a
--   previous page that you use to get the next page of results in a
--   paginated response.</li>
--   <li><a>dacbcrLimit</a> - The maximum number of evaluation results
--   returned on each page. The default is maximum. If you specify 0, AWS
--   Config uses the default.</li>
--   <li><a>dacbcrConfigurationAggregatorName</a> - The name of the
--   configuration aggregator.</li>
--   </ul>
describeAggregateComplianceByConfigRules :: Text -> DescribeAggregateComplianceByConfigRules

-- | <i>See:</i> <a>describeAggregateComplianceByConfigRules</a> smart
--   constructor.
data DescribeAggregateComplianceByConfigRules

-- | Filters the results by ConfigRuleComplianceFilters object.
dacbcrFilters :: Lens' DescribeAggregateComplianceByConfigRules (Maybe ConfigRuleComplianceFilters)

-- | The nextToken string returned on a previous page that you use to get
--   the next page of results in a paginated response.
dacbcrNextToken :: Lens' DescribeAggregateComplianceByConfigRules (Maybe Text)

-- | The maximum number of evaluation results returned on each page. The
--   default is maximum. If you specify 0, AWS Config uses the default.
dacbcrLimit :: Lens' DescribeAggregateComplianceByConfigRules (Maybe Natural)

-- | The name of the configuration aggregator.
dacbcrConfigurationAggregatorName :: Lens' DescribeAggregateComplianceByConfigRules Text

-- | Creates a value of
--   <a>DescribeAggregateComplianceByConfigRulesResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dacbcrrsNextToken</a> - The nextToken string returned on a
--   previous page that you use to get the next page of results in a
--   paginated response.</li>
--   <li><a>dacbcrrsAggregateComplianceByConfigRules</a> - Returns a list
--   of AggregateComplianceByConfigRule object.</li>
--   <li><a>dacbcrrsResponseStatus</a> - -- | The response status
--   code.</li>
--   </ul>
describeAggregateComplianceByConfigRulesResponse :: Int -> DescribeAggregateComplianceByConfigRulesResponse

-- | <i>See:</i> <a>describeAggregateComplianceByConfigRulesResponse</a>
--   smart constructor.
data DescribeAggregateComplianceByConfigRulesResponse

-- | The nextToken string returned on a previous page that you use to get
--   the next page of results in a paginated response.
dacbcrrsNextToken :: Lens' DescribeAggregateComplianceByConfigRulesResponse (Maybe Text)

-- | Returns a list of AggregateComplianceByConfigRule object.
dacbcrrsAggregateComplianceByConfigRules :: Lens' DescribeAggregateComplianceByConfigRulesResponse [AggregateComplianceByConfigRule]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dacbcrrsResponseStatus :: Lens' DescribeAggregateComplianceByConfigRulesResponse Int
instance GHC.Generics.Generic Network.AWS.Config.DescribeAggregateComplianceByConfigRules.DescribeAggregateComplianceByConfigRulesResponse
instance Data.Data.Data Network.AWS.Config.DescribeAggregateComplianceByConfigRules.DescribeAggregateComplianceByConfigRulesResponse
instance GHC.Show.Show Network.AWS.Config.DescribeAggregateComplianceByConfigRules.DescribeAggregateComplianceByConfigRulesResponse
instance GHC.Read.Read Network.AWS.Config.DescribeAggregateComplianceByConfigRules.DescribeAggregateComplianceByConfigRulesResponse
instance GHC.Classes.Eq Network.AWS.Config.DescribeAggregateComplianceByConfigRules.DescribeAggregateComplianceByConfigRulesResponse
instance GHC.Generics.Generic Network.AWS.Config.DescribeAggregateComplianceByConfigRules.DescribeAggregateComplianceByConfigRules
instance Data.Data.Data Network.AWS.Config.DescribeAggregateComplianceByConfigRules.DescribeAggregateComplianceByConfigRules
instance GHC.Show.Show Network.AWS.Config.DescribeAggregateComplianceByConfigRules.DescribeAggregateComplianceByConfigRules
instance GHC.Read.Read Network.AWS.Config.DescribeAggregateComplianceByConfigRules.DescribeAggregateComplianceByConfigRules
instance GHC.Classes.Eq Network.AWS.Config.DescribeAggregateComplianceByConfigRules.DescribeAggregateComplianceByConfigRules
instance Network.AWS.Types.AWSRequest Network.AWS.Config.DescribeAggregateComplianceByConfigRules.DescribeAggregateComplianceByConfigRules
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeAggregateComplianceByConfigRules.DescribeAggregateComplianceByConfigRulesResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.DescribeAggregateComplianceByConfigRules.DescribeAggregateComplianceByConfigRules
instance Control.DeepSeq.NFData Network.AWS.Config.DescribeAggregateComplianceByConfigRules.DescribeAggregateComplianceByConfigRules
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.DescribeAggregateComplianceByConfigRules.DescribeAggregateComplianceByConfigRules
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.DescribeAggregateComplianceByConfigRules.DescribeAggregateComplianceByConfigRules
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.DescribeAggregateComplianceByConfigRules.DescribeAggregateComplianceByConfigRules
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.DescribeAggregateComplianceByConfigRules.DescribeAggregateComplianceByConfigRules


-- | Schedules delivery of a configuration snapshot to the Amazon S3 bucket
--   in the specified delivery channel. After the delivery has started, AWS
--   Config sends the following notifications using an Amazon SNS topic
--   that you have specified.
--   
--   <ul>
--   <li>Notification of the start of the delivery.</li>
--   <li>Notification of the completion of the delivery, if the delivery
--   was successfully completed.</li>
--   <li>Notification of delivery failure, if the delivery failed.</li>
--   </ul>
module Network.AWS.Config.DeliverConfigSnapshot

-- | Creates a value of <a>DeliverConfigSnapshot</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcsDeliveryChannelName</a> - The name of the delivery channel
--   through which the snapshot is delivered.</li>
--   </ul>
deliverConfigSnapshot :: Text -> DeliverConfigSnapshot

-- | The input for the <a>DeliverConfigSnapshot</a> action.
--   
--   <i>See:</i> <a>deliverConfigSnapshot</a> smart constructor.
data DeliverConfigSnapshot

-- | The name of the delivery channel through which the snapshot is
--   delivered.
dcsDeliveryChannelName :: Lens' DeliverConfigSnapshot Text

-- | Creates a value of <a>DeliverConfigSnapshotResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcsrsConfigSnapshotId</a> - The ID of the snapshot that is
--   being created.</li>
--   <li><a>dcsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deliverConfigSnapshotResponse :: Int -> DeliverConfigSnapshotResponse

-- | The output for the <a>DeliverConfigSnapshot</a> action, in JSON
--   format.
--   
--   <i>See:</i> <a>deliverConfigSnapshotResponse</a> smart constructor.
data DeliverConfigSnapshotResponse

-- | The ID of the snapshot that is being created.
dcsrsConfigSnapshotId :: Lens' DeliverConfigSnapshotResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dcsrsResponseStatus :: Lens' DeliverConfigSnapshotResponse Int
instance GHC.Generics.Generic Network.AWS.Config.DeliverConfigSnapshot.DeliverConfigSnapshotResponse
instance Data.Data.Data Network.AWS.Config.DeliverConfigSnapshot.DeliverConfigSnapshotResponse
instance GHC.Show.Show Network.AWS.Config.DeliverConfigSnapshot.DeliverConfigSnapshotResponse
instance GHC.Read.Read Network.AWS.Config.DeliverConfigSnapshot.DeliverConfigSnapshotResponse
instance GHC.Classes.Eq Network.AWS.Config.DeliverConfigSnapshot.DeliverConfigSnapshotResponse
instance GHC.Generics.Generic Network.AWS.Config.DeliverConfigSnapshot.DeliverConfigSnapshot
instance Data.Data.Data Network.AWS.Config.DeliverConfigSnapshot.DeliverConfigSnapshot
instance GHC.Show.Show Network.AWS.Config.DeliverConfigSnapshot.DeliverConfigSnapshot
instance GHC.Read.Read Network.AWS.Config.DeliverConfigSnapshot.DeliverConfigSnapshot
instance GHC.Classes.Eq Network.AWS.Config.DeliverConfigSnapshot.DeliverConfigSnapshot
instance Network.AWS.Types.AWSRequest Network.AWS.Config.DeliverConfigSnapshot.DeliverConfigSnapshot
instance Control.DeepSeq.NFData Network.AWS.Config.DeliverConfigSnapshot.DeliverConfigSnapshotResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.DeliverConfigSnapshot.DeliverConfigSnapshot
instance Control.DeepSeq.NFData Network.AWS.Config.DeliverConfigSnapshot.DeliverConfigSnapshot
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.DeliverConfigSnapshot.DeliverConfigSnapshot
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.DeliverConfigSnapshot.DeliverConfigSnapshot
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.DeliverConfigSnapshot.DeliverConfigSnapshot
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.DeliverConfigSnapshot.DeliverConfigSnapshot


-- | Deletes pending authorization requests for a specified aggregator
--   account in a specified region.
module Network.AWS.Config.DeletePendingAggregationRequest

-- | Creates a value of <a>DeletePendingAggregationRequest</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dparRequesterAccountId</a> - The 12-digit account ID of the
--   account requesting to aggregate data.</li>
--   <li><a>dparRequesterAWSRegion</a> - The region requesting to aggregate
--   data.</li>
--   </ul>
deletePendingAggregationRequest :: Text -> Text -> DeletePendingAggregationRequest

-- | <i>See:</i> <a>deletePendingAggregationRequest</a> smart constructor.
data DeletePendingAggregationRequest

-- | The 12-digit account ID of the account requesting to aggregate data.
dparRequesterAccountId :: Lens' DeletePendingAggregationRequest Text

-- | The region requesting to aggregate data.
dparRequesterAWSRegion :: Lens' DeletePendingAggregationRequest Text

-- | Creates a value of <a>DeletePendingAggregationRequestResponse</a> with
--   the minimum fields required to make a request.
deletePendingAggregationRequestResponse :: DeletePendingAggregationRequestResponse

-- | <i>See:</i> <a>deletePendingAggregationRequestResponse</a> smart
--   constructor.
data DeletePendingAggregationRequestResponse
instance GHC.Generics.Generic Network.AWS.Config.DeletePendingAggregationRequest.DeletePendingAggregationRequestResponse
instance Data.Data.Data Network.AWS.Config.DeletePendingAggregationRequest.DeletePendingAggregationRequestResponse
instance GHC.Show.Show Network.AWS.Config.DeletePendingAggregationRequest.DeletePendingAggregationRequestResponse
instance GHC.Read.Read Network.AWS.Config.DeletePendingAggregationRequest.DeletePendingAggregationRequestResponse
instance GHC.Classes.Eq Network.AWS.Config.DeletePendingAggregationRequest.DeletePendingAggregationRequestResponse
instance GHC.Generics.Generic Network.AWS.Config.DeletePendingAggregationRequest.DeletePendingAggregationRequest
instance Data.Data.Data Network.AWS.Config.DeletePendingAggregationRequest.DeletePendingAggregationRequest
instance GHC.Show.Show Network.AWS.Config.DeletePendingAggregationRequest.DeletePendingAggregationRequest
instance GHC.Read.Read Network.AWS.Config.DeletePendingAggregationRequest.DeletePendingAggregationRequest
instance GHC.Classes.Eq Network.AWS.Config.DeletePendingAggregationRequest.DeletePendingAggregationRequest
instance Network.AWS.Types.AWSRequest Network.AWS.Config.DeletePendingAggregationRequest.DeletePendingAggregationRequest
instance Control.DeepSeq.NFData Network.AWS.Config.DeletePendingAggregationRequest.DeletePendingAggregationRequestResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.DeletePendingAggregationRequest.DeletePendingAggregationRequest
instance Control.DeepSeq.NFData Network.AWS.Config.DeletePendingAggregationRequest.DeletePendingAggregationRequest
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.DeletePendingAggregationRequest.DeletePendingAggregationRequest
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.DeletePendingAggregationRequest.DeletePendingAggregationRequest
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.DeletePendingAggregationRequest.DeletePendingAggregationRequest
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.DeletePendingAggregationRequest.DeletePendingAggregationRequest


-- | Deletes the evaluation results for the specified AWS Config rule. You
--   can specify one AWS Config rule per request. After you delete the
--   evaluation results, you can call the
--   <tt>StartConfigRulesEvaluation</tt> API to start evaluating your AWS
--   resources against the rule.
module Network.AWS.Config.DeleteEvaluationResults

-- | Creates a value of <a>DeleteEvaluationResults</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>derConfigRuleName</a> - The name of the AWS Config rule for
--   which you want to delete the evaluation results.</li>
--   </ul>
deleteEvaluationResults :: Text -> DeleteEvaluationResults

-- | <i>See:</i> <a>deleteEvaluationResults</a> smart constructor.
data DeleteEvaluationResults

-- | The name of the AWS Config rule for which you want to delete the
--   evaluation results.
derConfigRuleName :: Lens' DeleteEvaluationResults Text

-- | Creates a value of <a>DeleteEvaluationResultsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>derrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteEvaluationResultsResponse :: Int -> DeleteEvaluationResultsResponse

-- | The output when you delete the evaluation results for the specified
--   AWS Config rule.
--   
--   <i>See:</i> <a>deleteEvaluationResultsResponse</a> smart constructor.
data DeleteEvaluationResultsResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
derrsResponseStatus :: Lens' DeleteEvaluationResultsResponse Int
instance GHC.Generics.Generic Network.AWS.Config.DeleteEvaluationResults.DeleteEvaluationResultsResponse
instance Data.Data.Data Network.AWS.Config.DeleteEvaluationResults.DeleteEvaluationResultsResponse
instance GHC.Show.Show Network.AWS.Config.DeleteEvaluationResults.DeleteEvaluationResultsResponse
instance GHC.Read.Read Network.AWS.Config.DeleteEvaluationResults.DeleteEvaluationResultsResponse
instance GHC.Classes.Eq Network.AWS.Config.DeleteEvaluationResults.DeleteEvaluationResultsResponse
instance GHC.Generics.Generic Network.AWS.Config.DeleteEvaluationResults.DeleteEvaluationResults
instance Data.Data.Data Network.AWS.Config.DeleteEvaluationResults.DeleteEvaluationResults
instance GHC.Show.Show Network.AWS.Config.DeleteEvaluationResults.DeleteEvaluationResults
instance GHC.Read.Read Network.AWS.Config.DeleteEvaluationResults.DeleteEvaluationResults
instance GHC.Classes.Eq Network.AWS.Config.DeleteEvaluationResults.DeleteEvaluationResults
instance Network.AWS.Types.AWSRequest Network.AWS.Config.DeleteEvaluationResults.DeleteEvaluationResults
instance Control.DeepSeq.NFData Network.AWS.Config.DeleteEvaluationResults.DeleteEvaluationResultsResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.DeleteEvaluationResults.DeleteEvaluationResults
instance Control.DeepSeq.NFData Network.AWS.Config.DeleteEvaluationResults.DeleteEvaluationResults
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.DeleteEvaluationResults.DeleteEvaluationResults
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.DeleteEvaluationResults.DeleteEvaluationResults
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.DeleteEvaluationResults.DeleteEvaluationResults
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.DeleteEvaluationResults.DeleteEvaluationResults


-- | Deletes the delivery channel.
--   
--   Before you can delete the delivery channel, you must stop the
--   configuration recorder by using the <tt>StopConfigurationRecorder</tt>
--   action.
module Network.AWS.Config.DeleteDeliveryChannel

-- | Creates a value of <a>DeleteDeliveryChannel</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcDeliveryChannelName</a> - The name of the delivery channel
--   to delete.</li>
--   </ul>
deleteDeliveryChannel :: Text -> DeleteDeliveryChannel

-- | The input for the <a>DeleteDeliveryChannel</a> action. The action
--   accepts the following data, in JSON format.
--   
--   <i>See:</i> <a>deleteDeliveryChannel</a> smart constructor.
data DeleteDeliveryChannel

-- | The name of the delivery channel to delete.
ddcDeliveryChannelName :: Lens' DeleteDeliveryChannel Text

-- | Creates a value of <a>DeleteDeliveryChannelResponse</a> with the
--   minimum fields required to make a request.
deleteDeliveryChannelResponse :: DeleteDeliveryChannelResponse

-- | <i>See:</i> <a>deleteDeliveryChannelResponse</a> smart constructor.
data DeleteDeliveryChannelResponse
instance GHC.Generics.Generic Network.AWS.Config.DeleteDeliveryChannel.DeleteDeliveryChannelResponse
instance Data.Data.Data Network.AWS.Config.DeleteDeliveryChannel.DeleteDeliveryChannelResponse
instance GHC.Show.Show Network.AWS.Config.DeleteDeliveryChannel.DeleteDeliveryChannelResponse
instance GHC.Read.Read Network.AWS.Config.DeleteDeliveryChannel.DeleteDeliveryChannelResponse
instance GHC.Classes.Eq Network.AWS.Config.DeleteDeliveryChannel.DeleteDeliveryChannelResponse
instance GHC.Generics.Generic Network.AWS.Config.DeleteDeliveryChannel.DeleteDeliveryChannel
instance Data.Data.Data Network.AWS.Config.DeleteDeliveryChannel.DeleteDeliveryChannel
instance GHC.Show.Show Network.AWS.Config.DeleteDeliveryChannel.DeleteDeliveryChannel
instance GHC.Read.Read Network.AWS.Config.DeleteDeliveryChannel.DeleteDeliveryChannel
instance GHC.Classes.Eq Network.AWS.Config.DeleteDeliveryChannel.DeleteDeliveryChannel
instance Network.AWS.Types.AWSRequest Network.AWS.Config.DeleteDeliveryChannel.DeleteDeliveryChannel
instance Control.DeepSeq.NFData Network.AWS.Config.DeleteDeliveryChannel.DeleteDeliveryChannelResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.DeleteDeliveryChannel.DeleteDeliveryChannel
instance Control.DeepSeq.NFData Network.AWS.Config.DeleteDeliveryChannel.DeleteDeliveryChannel
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.DeleteDeliveryChannel.DeleteDeliveryChannel
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.DeleteDeliveryChannel.DeleteDeliveryChannel
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.DeleteDeliveryChannel.DeleteDeliveryChannel
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.DeleteDeliveryChannel.DeleteDeliveryChannel


-- | Deletes the configuration recorder.
--   
--   After the configuration recorder is deleted, AWS Config will not
--   record resource configuration changes until you create a new
--   configuration recorder.
--   
--   This action does not delete the configuration information that was
--   previously recorded. You will be able to access the previously
--   recorded information by using the <tt>GetResourceConfigHistory</tt>
--   action, but you will not be able to access this information in the AWS
--   Config console until you create a new configuration recorder.
module Network.AWS.Config.DeleteConfigurationRecorder

-- | Creates a value of <a>DeleteConfigurationRecorder</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcrConfigurationRecorderName</a> - The name of the
--   configuration recorder to be deleted. You can retrieve the name of
--   your configuration recorder by using the
--   <tt>DescribeConfigurationRecorders</tt> action.</li>
--   </ul>
deleteConfigurationRecorder :: Text -> DeleteConfigurationRecorder

-- | The request object for the <tt>DeleteConfigurationRecorder</tt>
--   action.
--   
--   <i>See:</i> <a>deleteConfigurationRecorder</a> smart constructor.
data DeleteConfigurationRecorder

-- | The name of the configuration recorder to be deleted. You can retrieve
--   the name of your configuration recorder by using the
--   <tt>DescribeConfigurationRecorders</tt> action.
dcrConfigurationRecorderName :: Lens' DeleteConfigurationRecorder Text

-- | Creates a value of <a>DeleteConfigurationRecorderResponse</a> with the
--   minimum fields required to make a request.
deleteConfigurationRecorderResponse :: DeleteConfigurationRecorderResponse

-- | <i>See:</i> <a>deleteConfigurationRecorderResponse</a> smart
--   constructor.
data DeleteConfigurationRecorderResponse
instance GHC.Generics.Generic Network.AWS.Config.DeleteConfigurationRecorder.DeleteConfigurationRecorderResponse
instance Data.Data.Data Network.AWS.Config.DeleteConfigurationRecorder.DeleteConfigurationRecorderResponse
instance GHC.Show.Show Network.AWS.Config.DeleteConfigurationRecorder.DeleteConfigurationRecorderResponse
instance GHC.Read.Read Network.AWS.Config.DeleteConfigurationRecorder.DeleteConfigurationRecorderResponse
instance GHC.Classes.Eq Network.AWS.Config.DeleteConfigurationRecorder.DeleteConfigurationRecorderResponse
instance GHC.Generics.Generic Network.AWS.Config.DeleteConfigurationRecorder.DeleteConfigurationRecorder
instance Data.Data.Data Network.AWS.Config.DeleteConfigurationRecorder.DeleteConfigurationRecorder
instance GHC.Show.Show Network.AWS.Config.DeleteConfigurationRecorder.DeleteConfigurationRecorder
instance GHC.Read.Read Network.AWS.Config.DeleteConfigurationRecorder.DeleteConfigurationRecorder
instance GHC.Classes.Eq Network.AWS.Config.DeleteConfigurationRecorder.DeleteConfigurationRecorder
instance Network.AWS.Types.AWSRequest Network.AWS.Config.DeleteConfigurationRecorder.DeleteConfigurationRecorder
instance Control.DeepSeq.NFData Network.AWS.Config.DeleteConfigurationRecorder.DeleteConfigurationRecorderResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.DeleteConfigurationRecorder.DeleteConfigurationRecorder
instance Control.DeepSeq.NFData Network.AWS.Config.DeleteConfigurationRecorder.DeleteConfigurationRecorder
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.DeleteConfigurationRecorder.DeleteConfigurationRecorder
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.DeleteConfigurationRecorder.DeleteConfigurationRecorder
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.DeleteConfigurationRecorder.DeleteConfigurationRecorder
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.DeleteConfigurationRecorder.DeleteConfigurationRecorder


-- | Deletes the specified configuration aggregator and the aggregated data
--   associated with the aggregator.
module Network.AWS.Config.DeleteConfigurationAggregator

-- | Creates a value of <a>DeleteConfigurationAggregator</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcaConfigurationAggregatorName</a> - The name of the
--   configuration aggregator.</li>
--   </ul>
deleteConfigurationAggregator :: Text -> DeleteConfigurationAggregator

-- | <i>See:</i> <a>deleteConfigurationAggregator</a> smart constructor.
data DeleteConfigurationAggregator

-- | The name of the configuration aggregator.
dcaConfigurationAggregatorName :: Lens' DeleteConfigurationAggregator Text

-- | Creates a value of <a>DeleteConfigurationAggregatorResponse</a> with
--   the minimum fields required to make a request.
deleteConfigurationAggregatorResponse :: DeleteConfigurationAggregatorResponse

-- | <i>See:</i> <a>deleteConfigurationAggregatorResponse</a> smart
--   constructor.
data DeleteConfigurationAggregatorResponse
instance GHC.Generics.Generic Network.AWS.Config.DeleteConfigurationAggregator.DeleteConfigurationAggregatorResponse
instance Data.Data.Data Network.AWS.Config.DeleteConfigurationAggregator.DeleteConfigurationAggregatorResponse
instance GHC.Show.Show Network.AWS.Config.DeleteConfigurationAggregator.DeleteConfigurationAggregatorResponse
instance GHC.Read.Read Network.AWS.Config.DeleteConfigurationAggregator.DeleteConfigurationAggregatorResponse
instance GHC.Classes.Eq Network.AWS.Config.DeleteConfigurationAggregator.DeleteConfigurationAggregatorResponse
instance GHC.Generics.Generic Network.AWS.Config.DeleteConfigurationAggregator.DeleteConfigurationAggregator
instance Data.Data.Data Network.AWS.Config.DeleteConfigurationAggregator.DeleteConfigurationAggregator
instance GHC.Show.Show Network.AWS.Config.DeleteConfigurationAggregator.DeleteConfigurationAggregator
instance GHC.Read.Read Network.AWS.Config.DeleteConfigurationAggregator.DeleteConfigurationAggregator
instance GHC.Classes.Eq Network.AWS.Config.DeleteConfigurationAggregator.DeleteConfigurationAggregator
instance Network.AWS.Types.AWSRequest Network.AWS.Config.DeleteConfigurationAggregator.DeleteConfigurationAggregator
instance Control.DeepSeq.NFData Network.AWS.Config.DeleteConfigurationAggregator.DeleteConfigurationAggregatorResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.DeleteConfigurationAggregator.DeleteConfigurationAggregator
instance Control.DeepSeq.NFData Network.AWS.Config.DeleteConfigurationAggregator.DeleteConfigurationAggregator
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.DeleteConfigurationAggregator.DeleteConfigurationAggregator
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.DeleteConfigurationAggregator.DeleteConfigurationAggregator
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.DeleteConfigurationAggregator.DeleteConfigurationAggregator
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.DeleteConfigurationAggregator.DeleteConfigurationAggregator


-- | Deletes the specified AWS Config rule and all of its evaluation
--   results.
--   
--   AWS Config sets the state of a rule to <tt>DELETING</tt> until the
--   deletion is complete. You cannot update a rule while it is in this
--   state. If you make a <tt>PutConfigRule</tt> or
--   <tt>DeleteConfigRule</tt> request for the rule, you will receive a
--   <tt>ResourceInUseException</tt> .
--   
--   You can check the state of a rule by using the
--   <tt>DescribeConfigRules</tt> request.
module Network.AWS.Config.DeleteConfigRule

-- | Creates a value of <a>DeleteConfigRule</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcrConfigRuleName</a> - The name of the AWS Config rule that
--   you want to delete.</li>
--   </ul>
deleteConfigRule :: Text -> DeleteConfigRule

-- | <i>See:</i> <a>deleteConfigRule</a> smart constructor.
data DeleteConfigRule

-- | The name of the AWS Config rule that you want to delete.
dcrConfigRuleName :: Lens' DeleteConfigRule Text

-- | Creates a value of <a>DeleteConfigRuleResponse</a> with the minimum
--   fields required to make a request.
deleteConfigRuleResponse :: DeleteConfigRuleResponse

-- | <i>See:</i> <a>deleteConfigRuleResponse</a> smart constructor.
data DeleteConfigRuleResponse
instance GHC.Generics.Generic Network.AWS.Config.DeleteConfigRule.DeleteConfigRuleResponse
instance Data.Data.Data Network.AWS.Config.DeleteConfigRule.DeleteConfigRuleResponse
instance GHC.Show.Show Network.AWS.Config.DeleteConfigRule.DeleteConfigRuleResponse
instance GHC.Read.Read Network.AWS.Config.DeleteConfigRule.DeleteConfigRuleResponse
instance GHC.Classes.Eq Network.AWS.Config.DeleteConfigRule.DeleteConfigRuleResponse
instance GHC.Generics.Generic Network.AWS.Config.DeleteConfigRule.DeleteConfigRule
instance Data.Data.Data Network.AWS.Config.DeleteConfigRule.DeleteConfigRule
instance GHC.Show.Show Network.AWS.Config.DeleteConfigRule.DeleteConfigRule
instance GHC.Read.Read Network.AWS.Config.DeleteConfigRule.DeleteConfigRule
instance GHC.Classes.Eq Network.AWS.Config.DeleteConfigRule.DeleteConfigRule
instance Network.AWS.Types.AWSRequest Network.AWS.Config.DeleteConfigRule.DeleteConfigRule
instance Control.DeepSeq.NFData Network.AWS.Config.DeleteConfigRule.DeleteConfigRuleResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.DeleteConfigRule.DeleteConfigRule
instance Control.DeepSeq.NFData Network.AWS.Config.DeleteConfigRule.DeleteConfigRule
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.DeleteConfigRule.DeleteConfigRule
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.DeleteConfigRule.DeleteConfigRule
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.DeleteConfigRule.DeleteConfigRule
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.DeleteConfigRule.DeleteConfigRule


-- | Deletes the authorization granted to the specified configuration
--   aggregator account in a specified region.
module Network.AWS.Config.DeleteAggregationAuthorization

-- | Creates a value of <a>DeleteAggregationAuthorization</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>daaAuthorizedAccountId</a> - The 12-digit account ID of the
--   account authorized to aggregate data.</li>
--   <li><a>daaAuthorizedAWSRegion</a> - The region authorized to collect
--   aggregated data.</li>
--   </ul>
deleteAggregationAuthorization :: Text -> Text -> DeleteAggregationAuthorization

-- | <i>See:</i> <a>deleteAggregationAuthorization</a> smart constructor.
data DeleteAggregationAuthorization

-- | The 12-digit account ID of the account authorized to aggregate data.
daaAuthorizedAccountId :: Lens' DeleteAggregationAuthorization Text

-- | The region authorized to collect aggregated data.
daaAuthorizedAWSRegion :: Lens' DeleteAggregationAuthorization Text

-- | Creates a value of <a>DeleteAggregationAuthorizationResponse</a> with
--   the minimum fields required to make a request.
deleteAggregationAuthorizationResponse :: DeleteAggregationAuthorizationResponse

-- | <i>See:</i> <a>deleteAggregationAuthorizationResponse</a> smart
--   constructor.
data DeleteAggregationAuthorizationResponse
instance GHC.Generics.Generic Network.AWS.Config.DeleteAggregationAuthorization.DeleteAggregationAuthorizationResponse
instance Data.Data.Data Network.AWS.Config.DeleteAggregationAuthorization.DeleteAggregationAuthorizationResponse
instance GHC.Show.Show Network.AWS.Config.DeleteAggregationAuthorization.DeleteAggregationAuthorizationResponse
instance GHC.Read.Read Network.AWS.Config.DeleteAggregationAuthorization.DeleteAggregationAuthorizationResponse
instance GHC.Classes.Eq Network.AWS.Config.DeleteAggregationAuthorization.DeleteAggregationAuthorizationResponse
instance GHC.Generics.Generic Network.AWS.Config.DeleteAggregationAuthorization.DeleteAggregationAuthorization
instance Data.Data.Data Network.AWS.Config.DeleteAggregationAuthorization.DeleteAggregationAuthorization
instance GHC.Show.Show Network.AWS.Config.DeleteAggregationAuthorization.DeleteAggregationAuthorization
instance GHC.Read.Read Network.AWS.Config.DeleteAggregationAuthorization.DeleteAggregationAuthorization
instance GHC.Classes.Eq Network.AWS.Config.DeleteAggregationAuthorization.DeleteAggregationAuthorization
instance Network.AWS.Types.AWSRequest Network.AWS.Config.DeleteAggregationAuthorization.DeleteAggregationAuthorization
instance Control.DeepSeq.NFData Network.AWS.Config.DeleteAggregationAuthorization.DeleteAggregationAuthorizationResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.DeleteAggregationAuthorization.DeleteAggregationAuthorization
instance Control.DeepSeq.NFData Network.AWS.Config.DeleteAggregationAuthorization.DeleteAggregationAuthorization
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.DeleteAggregationAuthorization.DeleteAggregationAuthorization
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.DeleteAggregationAuthorization.DeleteAggregationAuthorization
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.DeleteAggregationAuthorization.DeleteAggregationAuthorization
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.DeleteAggregationAuthorization.DeleteAggregationAuthorization


-- | Returns the current configuration for one or more requested resources.
--   The operation also returns a list of resources that are not processed
--   in the current request. If there are no unprocessed resources, the
--   operation returns an empty unprocessedResourceKeys list.
module Network.AWS.Config.BatchGetResourceConfig

-- | Creates a value of <a>BatchGetResourceConfig</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bgrcResourceKeys</a> - A list of resource keys to be processed
--   with the current request. Each element in the list consists of the
--   resource type and resource ID.</li>
--   </ul>
batchGetResourceConfig :: NonEmpty ResourceKey -> BatchGetResourceConfig

-- | <i>See:</i> <a>batchGetResourceConfig</a> smart constructor.
data BatchGetResourceConfig

-- | A list of resource keys to be processed with the current request. Each
--   element in the list consists of the resource type and resource ID.
bgrcResourceKeys :: Lens' BatchGetResourceConfig (NonEmpty ResourceKey)

-- | Creates a value of <a>BatchGetResourceConfigResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bgrcrsBaseConfigurationItems</a> - A list that contains the
--   current configuration of one or more resources.</li>
--   <li><a>bgrcrsUnprocessedResourceKeys</a> - A list of resource keys
--   that were not processed with the current response. The
--   unprocessesResourceKeys value is in the same form as ResourceKeys, so
--   the value can be directly provided to a subsequent
--   BatchGetResourceConfig operation. If there are no unprocessed resource
--   keys, the response contains an empty unprocessedResourceKeys
--   list.</li>
--   <li><a>bgrcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
batchGetResourceConfigResponse :: Int -> BatchGetResourceConfigResponse

-- | <i>See:</i> <a>batchGetResourceConfigResponse</a> smart constructor.
data BatchGetResourceConfigResponse

-- | A list that contains the current configuration of one or more
--   resources.
bgrcrsBaseConfigurationItems :: Lens' BatchGetResourceConfigResponse [BaseConfigurationItem]

-- | A list of resource keys that were not processed with the current
--   response. The unprocessesResourceKeys value is in the same form as
--   ResourceKeys, so the value can be directly provided to a subsequent
--   BatchGetResourceConfig operation. If there are no unprocessed resource
--   keys, the response contains an empty unprocessedResourceKeys list.
bgrcrsUnprocessedResourceKeys :: Lens' BatchGetResourceConfigResponse (Maybe (NonEmpty ResourceKey))

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
bgrcrsResponseStatus :: Lens' BatchGetResourceConfigResponse Int
instance GHC.Generics.Generic Network.AWS.Config.BatchGetResourceConfig.BatchGetResourceConfigResponse
instance Data.Data.Data Network.AWS.Config.BatchGetResourceConfig.BatchGetResourceConfigResponse
instance GHC.Show.Show Network.AWS.Config.BatchGetResourceConfig.BatchGetResourceConfigResponse
instance GHC.Read.Read Network.AWS.Config.BatchGetResourceConfig.BatchGetResourceConfigResponse
instance GHC.Classes.Eq Network.AWS.Config.BatchGetResourceConfig.BatchGetResourceConfigResponse
instance GHC.Generics.Generic Network.AWS.Config.BatchGetResourceConfig.BatchGetResourceConfig
instance Data.Data.Data Network.AWS.Config.BatchGetResourceConfig.BatchGetResourceConfig
instance GHC.Show.Show Network.AWS.Config.BatchGetResourceConfig.BatchGetResourceConfig
instance GHC.Read.Read Network.AWS.Config.BatchGetResourceConfig.BatchGetResourceConfig
instance GHC.Classes.Eq Network.AWS.Config.BatchGetResourceConfig.BatchGetResourceConfig
instance Network.AWS.Types.AWSRequest Network.AWS.Config.BatchGetResourceConfig.BatchGetResourceConfig
instance Control.DeepSeq.NFData Network.AWS.Config.BatchGetResourceConfig.BatchGetResourceConfigResponse
instance Data.Hashable.Class.Hashable Network.AWS.Config.BatchGetResourceConfig.BatchGetResourceConfig
instance Control.DeepSeq.NFData Network.AWS.Config.BatchGetResourceConfig.BatchGetResourceConfig
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Config.BatchGetResourceConfig.BatchGetResourceConfig
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Config.BatchGetResourceConfig.BatchGetResourceConfig
instance Network.AWS.Data.Path.ToPath Network.AWS.Config.BatchGetResourceConfig.BatchGetResourceConfig
instance Network.AWS.Data.Query.ToQuery Network.AWS.Config.BatchGetResourceConfig.BatchGetResourceConfig


module Network.AWS.Config.Waiters


-- | <b>AWS Config</b>
--   
--   AWS Config provides a way to keep track of the configurations of all
--   the AWS resources associated with your AWS account. You can use AWS
--   Config to get the current and historical configurations of each AWS
--   resource and also to get information about the relationship between
--   the resources. An AWS resource can be an Amazon Compute Cloud (Amazon
--   EC2) instance, an Elastic Block Store (EBS) volume, an elastic network
--   Interface (ENI), or a security group. For a complete list of resources
--   currently supported by AWS Config, see <a>Supported AWS Resources</a>
--   .
--   
--   You can access and manage AWS Config through the AWS Management
--   Console, the AWS Command Line Interface (AWS CLI), the AWS Config API,
--   or the AWS SDKs for AWS Config. This reference guide contains
--   documentation for the AWS Config API and the AWS CLI commands that you
--   can use to manage AWS Config. The AWS Config API uses the Signature
--   Version 4 protocol for signing requests. For more information about
--   how to sign a request with this protocol, see <a>Signature Version 4
--   Signing Process</a> . For detailed information about AWS Config
--   features and their associated actions or commands, as well as how to
--   work with AWS Management Console, see <a>What Is AWS Config</a> in the
--   <i>AWS Config Developer Guide</i> .
module Network.AWS.Config

-- | API version <tt>2014-11-12</tt> of the Amazon Config SDK
--   configuration.
config :: Service

-- | The specified time range is not valid. The earlier time is not
--   chronologically before the later time.
_InvalidTimeRangeException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified Amazon SNS topic does not exist.
_InvalidSNSTopicARNException :: AsError a => Getting (First ServiceError) a ServiceError

-- | AWS Config throws an exception if the recording group does not contain
--   a valid list of resource types. Invalid values might also be
--   incorrectly formatted.
_InvalidRecordingGroupException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Organization does is no longer available.
_NoAvailableOrganizationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The requested action is not valid.
_ValidationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | No permission to call the EnableAWSServiceAccess API.
_OrganizationAccessDeniedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have specified a configuration aggregator that does not exist.
_NoSuchConfigurationAggregatorException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have provided a null or empty role ARN.
_InvalidRoleException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You cannot delete the delivery channel you specified because the
--   configuration recorder is running.
_LastDeliveryChannelDeleteFailedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified limit is outside the allowable range.
_InvalidLimitException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified delivery channel name is not valid.
_InvalidDeliveryChannelNameException :: AsError a => Getting (First ServiceError) a ServiceError

-- | One or more of the specified parameters are invalid. Verify that your
--   parameters are valid and try again.
_InvalidParameterValueException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified <tt>ResultToken</tt> is invalid.
_InvalidResultTokenException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have specified a delivery channel that does not exist.
_NoSuchDeliveryChannelException :: AsError a => Getting (First ServiceError) a ServiceError

-- | One or more AWS Config rules in the request are invalid. Verify that
--   the rule names are correct and try again.
_NoSuchConfigRuleException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The configuration aggregator cannot be created because organization
--   does not have all features enabled.
_OrganizationAllFeaturesNotEnabledException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Indicates one of the following errors:
--   
--   <ul>
--   <li>The rule cannot be created because the IAM role assigned to AWS
--   Config lacks permissions to perform the config:Put* action.</li>
--   <li>The AWS Lambda function cannot be invoked. Check the function ARN,
--   and check the function's permissions.</li>
--   </ul>
_InsufficientPermissionsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have specified a resource that is either unknown or has not been
--   discovered.
_ResourceNotDiscoveredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified next token is invalid. Specify the <tt>nextToken</tt>
--   string that was returned in the previous response to get the next page
--   of results.
_InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Failed to add the AWS Config rule because the account already contains
--   the maximum number of 50 rules. Consider deleting any deactivated
--   rules before you add new rules.
_MaxNumberOfConfigRulesExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | There are no configuration recorders available to provide the role
--   needed to describe your resources. Create a configuration recorder.
_NoAvailableConfigurationRecorderException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified Amazon S3 bucket does not exist.
_NoSuchBucketException :: AsError a => Getting (First ServiceError) a ServiceError

-- | There is no delivery channel available to record configurations.
_NoAvailableDeliveryChannelException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have provided a configuration recorder name that is not valid.
_InvalidConfigurationRecorderNameException :: AsError a => Getting (First ServiceError) a ServiceError

-- | There is no configuration recorder running.
_NoRunningConfigurationRecorderException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have reached the limit of the number of recorders you can create.
_MaxNumberOfConfigurationRecordersExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Your Amazon S3 bucket policy does not permit AWS Config to write to
--   it.
_InsufficientDeliveryPolicyException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have reached the limit of the number of delivery channels you can
--   create.
_MaxNumberOfDeliveryChannelsExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | You have specified a configuration recorder that does not exist.
_NoSuchConfigurationRecorderException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified Amazon S3 key prefix is not valid.
_InvalidS3KeyPrefixException :: AsError a => Getting (First ServiceError) a ServiceError

-- | This exception is thrown if an evaluation is in progress or if you
--   call the <tt>StartConfigRulesEvaluation</tt> API more than once per
--   minute.
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The rule is currently being deleted or the rule is deleting your
--   evaluation results. Try your request again later.
_ResourceInUseException :: AsError a => Getting (First ServiceError) a ServiceError
data AggregatedSourceStatusType
Failed :: AggregatedSourceStatusType
Outdated :: AggregatedSourceStatusType
Succeeded :: AggregatedSourceStatusType
data AggregatedSourceType
Account :: AggregatedSourceType
Organization :: AggregatedSourceType
data ChronologicalOrder
Forward :: ChronologicalOrder
Reverse :: ChronologicalOrder
data ComplianceType
Compliant :: ComplianceType
InsufficientData :: ComplianceType
NonCompliant :: ComplianceType
NotApplicable :: ComplianceType
data ConfigRuleComplianceSummaryGroupKey
AWSRegion :: ConfigRuleComplianceSummaryGroupKey
AccountId :: ConfigRuleComplianceSummaryGroupKey
data ConfigRuleState
Active :: ConfigRuleState
Deleting :: ConfigRuleState
DeletingResults :: ConfigRuleState
Evaluating :: ConfigRuleState
data ConfigurationItemStatus
OK :: ConfigurationItemStatus
ResourceDeleted :: ConfigurationItemStatus
ResourceDeletedNotRecorded :: ConfigurationItemStatus
ResourceDiscovered :: ConfigurationItemStatus
ResourceNotRecorded :: ConfigurationItemStatus
data DeliveryStatus
DSFailure :: DeliveryStatus
DSNotApplicable :: DeliveryStatus
DSSuccess :: DeliveryStatus
data EventSource
AWS_Config :: EventSource
data MaximumExecutionFrequency
OneHour :: MaximumExecutionFrequency
SixHours :: MaximumExecutionFrequency
ThreeHours :: MaximumExecutionFrequency
TwelveHours :: MaximumExecutionFrequency
TwentyFourHours :: MaximumExecutionFrequency
data MessageType
ConfigurationItemChangeNotification :: MessageType
ConfigurationSnapshotDeliveryCompleted :: MessageType
OversizedConfigurationItemChangeNotification :: MessageType
ScheduledNotification :: MessageType
data Owner
AWS :: Owner
CustomLambda :: Owner
data RecorderStatus
Failure :: RecorderStatus
Pending :: RecorderStatus
Success :: RecorderStatus
data ResourceType
AWSAcmCertificate :: ResourceType
AWSAutoScalingAutoScalingGroup :: ResourceType
AWSAutoScalingLaunchConfiguration :: ResourceType
AWSAutoScalingScalingPolicy :: ResourceType
AWSAutoScalingScheduledAction :: ResourceType
AWSCloudFormationStack :: ResourceType
AWSCloudFrontDistribution :: ResourceType
AWSCloudFrontStreamingDistribution :: ResourceType
AWSCloudTrailTrail :: ResourceType
AWSCloudWatchAlarm :: ResourceType
AWSCodeBuildProject :: ResourceType
AWSDynamoDBTable :: ResourceType
AWSEC2CustomerGateway :: ResourceType
AWSEC2EIP :: ResourceType
AWSEC2Host :: ResourceType
AWSEC2Instance :: ResourceType
AWSEC2InternetGateway :: ResourceType
AWSEC2NetworkACL :: ResourceType
AWSEC2NetworkInterface :: ResourceType
AWSEC2RouteTable :: ResourceType
AWSEC2SecurityGroup :: ResourceType
AWSEC2Subnet :: ResourceType
AWSEC2VPC :: ResourceType
AWSEC2VPNConnection :: ResourceType
AWSEC2VPNGateway :: ResourceType
AWSEC2Volume :: ResourceType
AWSELASTICLOADBALANCINGV2LoadBalancer :: ResourceType
AWSElasticBeanstalkApplication :: ResourceType
AWSElasticBeanstalkApplicationVersion :: ResourceType
AWSElasticBeanstalkEnvironment :: ResourceType
AWSElasticLoadBalancingLoadBalancer :: ResourceType
AWSIAMGroup :: ResourceType
AWSIAMPolicy :: ResourceType
AWSIAMRole :: ResourceType
AWSIAMUser :: ResourceType
AWSLambdaFunction :: ResourceType
AWSRDSDBInstance :: ResourceType
AWSRDSDBSecurityGroup :: ResourceType
AWSRDSDBSnapshot :: ResourceType
AWSRDSDBSubnetGroup :: ResourceType
AWSRDSEventSubscription :: ResourceType
AWSRedshiftCluster :: ResourceType
AWSRedshiftClusterParameterGroup :: ResourceType
AWSRedshiftClusterSecurityGroup :: ResourceType
AWSRedshiftClusterSnapshot :: ResourceType
AWSRedshiftClusterSubnetGroup :: ResourceType
AWSRedshiftEventSubscription :: ResourceType
AWSS3Bucket :: ResourceType
AWSSsmManagedInstanceInventory :: ResourceType
AWSWAFRegionalRateBasedRule :: ResourceType
AWSWAFRegionalRule :: ResourceType
AWSWAFRegionalRuleGroup :: ResourceType
AWSWAFRegionalWebACL :: ResourceType
AWSWafRateBasedRule :: ResourceType
AWSWafRule :: ResourceType
AWSWafRuleGroup :: ResourceType
AWSWafWebACL :: ResourceType

-- | A collection of accounts and regions.
--   
--   <i>See:</i> <a>accountAggregationSource</a> smart constructor.
data AccountAggregationSource

-- | Creates a value of <a>AccountAggregationSource</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aasAWSRegions</a> - The source regions being aggregated.</li>
--   <li><a>aasAllAWSRegions</a> - If true, aggreagate existing AWS Config
--   regions and future regions.</li>
--   <li><a>aasAccountIds</a> - The 12-digit account ID of the account
--   being aggregated.</li>
--   </ul>
accountAggregationSource :: NonEmpty Text -> AccountAggregationSource

-- | The source regions being aggregated.
aasAWSRegions :: Lens' AccountAggregationSource (Maybe (NonEmpty Text))

-- | If true, aggreagate existing AWS Config regions and future regions.
aasAllAWSRegions :: Lens' AccountAggregationSource (Maybe Bool)

-- | The 12-digit account ID of the account being aggregated.
aasAccountIds :: Lens' AccountAggregationSource (NonEmpty Text)

-- | Indicates whether an AWS Config rule is compliant based on account ID,
--   region, compliance, and rule name.
--   
--   A rule is compliant if all of the resources that the rule evaluated
--   comply with it. It is noncompliant if any of these resources do not
--   comply.
--   
--   <i>See:</i> <a>aggregateComplianceByConfigRule</a> smart constructor.
data AggregateComplianceByConfigRule

-- | Creates a value of <a>AggregateComplianceByConfigRule</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acbcrCompliance</a> - Indicates whether an AWS resource or AWS
--   Config rule is compliant and provides the number of contributors that
--   affect the compliance.</li>
--   <li><a>acbcrConfigRuleName</a> - The name of the AWS Config rule.</li>
--   <li><a>acbcrAccountId</a> - The 12-digit account ID of the source
--   account.</li>
--   <li><a>acbcrAWSRegion</a> - The source region from where the data is
--   aggregated.</li>
--   </ul>
aggregateComplianceByConfigRule :: AggregateComplianceByConfigRule

-- | Indicates whether an AWS resource or AWS Config rule is compliant and
--   provides the number of contributors that affect the compliance.
acbcrCompliance :: Lens' AggregateComplianceByConfigRule (Maybe Compliance)

-- | The name of the AWS Config rule.
acbcrConfigRuleName :: Lens' AggregateComplianceByConfigRule (Maybe Text)

-- | The 12-digit account ID of the source account.
acbcrAccountId :: Lens' AggregateComplianceByConfigRule (Maybe Text)

-- | The source region from where the data is aggregated.
acbcrAWSRegion :: Lens' AggregateComplianceByConfigRule (Maybe Text)

-- | Returns the number of compliant and noncompliant rules for one or more
--   accounts and regions in an aggregator.
--   
--   <i>See:</i> <a>aggregateComplianceCount</a> smart constructor.
data AggregateComplianceCount

-- | Creates a value of <a>AggregateComplianceCount</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>accGroupName</a> - The 12-digit account ID or region based on
--   the GroupByKey value.</li>
--   <li><a>accComplianceSummary</a> - The number of compliant and
--   noncompliant AWS Config rules.</li>
--   </ul>
aggregateComplianceCount :: AggregateComplianceCount

-- | The 12-digit account ID or region based on the GroupByKey value.
accGroupName :: Lens' AggregateComplianceCount (Maybe Text)

-- | The number of compliant and noncompliant AWS Config rules.
accComplianceSummary :: Lens' AggregateComplianceCount (Maybe ComplianceSummary)

-- | The details of an AWS Config evaluation for an account ID and region
--   in an aggregator. Provides the AWS resource that was evaluated, the
--   compliance of the resource, related time stamps, and supplementary
--   information.
--   
--   <i>See:</i> <a>aggregateEvaluationResult</a> smart constructor.
data AggregateEvaluationResult

-- | Creates a value of <a>AggregateEvaluationResult</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aerEvaluationResultIdentifier</a> - Uniquely identifies the
--   evaluation result.</li>
--   <li><a>aerAnnotation</a> - Supplementary information about how the
--   agrregate evaluation determined the compliance.</li>
--   <li><a>aerConfigRuleInvokedTime</a> - The time when the AWS Config
--   rule evaluated the AWS resource.</li>
--   <li><a>aerResultRecordedTime</a> - The time when AWS Config recorded
--   the aggregate evaluation result.</li>
--   <li><a>aerAccountId</a> - The 12-digit account ID of the source
--   account.</li>
--   <li><a>aerComplianceType</a> - The resource compliance status. For the
--   <tt>AggregationEvaluationResult</tt> data type, AWS Config supports
--   only the <tt>COMPLIANT</tt> and <tt>NON_COMPLIANT</tt> . AWS Config
--   does not support the <tt>NOT_APPLICABLE</tt> and
--   <tt>INSUFFICIENT_DATA</tt> value.</li>
--   <li><a>aerAWSRegion</a> - The source region from where the data is
--   aggregated.</li>
--   </ul>
aggregateEvaluationResult :: AggregateEvaluationResult

-- | Uniquely identifies the evaluation result.
aerEvaluationResultIdentifier :: Lens' AggregateEvaluationResult (Maybe EvaluationResultIdentifier)

-- | Supplementary information about how the agrregate evaluation
--   determined the compliance.
aerAnnotation :: Lens' AggregateEvaluationResult (Maybe Text)

-- | The time when the AWS Config rule evaluated the AWS resource.
aerConfigRuleInvokedTime :: Lens' AggregateEvaluationResult (Maybe UTCTime)

-- | The time when AWS Config recorded the aggregate evaluation result.
aerResultRecordedTime :: Lens' AggregateEvaluationResult (Maybe UTCTime)

-- | The 12-digit account ID of the source account.
aerAccountId :: Lens' AggregateEvaluationResult (Maybe Text)

-- | The resource compliance status. For the
--   <tt>AggregationEvaluationResult</tt> data type, AWS Config supports
--   only the <tt>COMPLIANT</tt> and <tt>NON_COMPLIANT</tt> . AWS Config
--   does not support the <tt>NOT_APPLICABLE</tt> and
--   <tt>INSUFFICIENT_DATA</tt> value.
aerComplianceType :: Lens' AggregateEvaluationResult (Maybe ComplianceType)

-- | The source region from where the data is aggregated.
aerAWSRegion :: Lens' AggregateEvaluationResult (Maybe Text)

-- | The current sync status between the source and the aggregator account.
--   
--   <i>See:</i> <a>aggregatedSourceStatus</a> smart constructor.
data AggregatedSourceStatus

-- | Creates a value of <a>AggregatedSourceStatus</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>assLastErrorCode</a> - The error code that AWS Config returned
--   when the source account aggregation last failed.</li>
--   <li><a>assLastUpdateStatus</a> - Filters the last updated status type.
--   * Valid value FAILED indicates errors while moving data. * Valid value
--   SUCCEEDED indicates the data was successfully moved. * Valid value
--   OUTDATED indicates the data is not the most recent.</li>
--   <li><a>assSourceType</a> - The source account or an organization.</li>
--   <li><a>assSourceId</a> - The source account ID or an
--   organization.</li>
--   <li><a>assLastErrorMessage</a> - The message indicating that the
--   source account aggregation failed due to an error.</li>
--   <li><a>assAWSRegion</a> - The region authorized to collect aggregated
--   data.</li>
--   <li><a>assLastUpdateTime</a> - The time of the last update.</li>
--   </ul>
aggregatedSourceStatus :: AggregatedSourceStatus

-- | The error code that AWS Config returned when the source account
--   aggregation last failed.
assLastErrorCode :: Lens' AggregatedSourceStatus (Maybe Text)

-- | Filters the last updated status type. * Valid value FAILED indicates
--   errors while moving data. * Valid value SUCCEEDED indicates the data
--   was successfully moved. * Valid value OUTDATED indicates the data is
--   not the most recent.
assLastUpdateStatus :: Lens' AggregatedSourceStatus (Maybe AggregatedSourceStatusType)

-- | The source account or an organization.
assSourceType :: Lens' AggregatedSourceStatus (Maybe AggregatedSourceType)

-- | The source account ID or an organization.
assSourceId :: Lens' AggregatedSourceStatus (Maybe Text)

-- | The message indicating that the source account aggregation failed due
--   to an error.
assLastErrorMessage :: Lens' AggregatedSourceStatus (Maybe Text)

-- | The region authorized to collect aggregated data.
assAWSRegion :: Lens' AggregatedSourceStatus (Maybe Text)

-- | The time of the last update.
assLastUpdateTime :: Lens' AggregatedSourceStatus (Maybe UTCTime)

-- | An object that represents the authorizations granted to aggregator
--   accounts and regions.
--   
--   <i>See:</i> <a>aggregationAuthorization</a> smart constructor.
data AggregationAuthorization

-- | Creates a value of <a>AggregationAuthorization</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaCreationTime</a> - The time stamp when the aggregation
--   authorization was created.</li>
--   <li><a>aaAuthorizedAWSRegion</a> - The region authorized to collect
--   aggregated data.</li>
--   <li><a>aaAggregationAuthorizationARN</a> - The Amazon Resource Name
--   (ARN) of the aggregation object.</li>
--   <li><a>aaAuthorizedAccountId</a> - The 12-digit account ID of the
--   account authorized to aggregate data.</li>
--   </ul>
aggregationAuthorization :: AggregationAuthorization

-- | The time stamp when the aggregation authorization was created.
aaCreationTime :: Lens' AggregationAuthorization (Maybe UTCTime)

-- | The region authorized to collect aggregated data.
aaAuthorizedAWSRegion :: Lens' AggregationAuthorization (Maybe Text)

-- | The Amazon Resource Name (ARN) of the aggregation object.
aaAggregationAuthorizationARN :: Lens' AggregationAuthorization (Maybe Text)

-- | The 12-digit account ID of the account authorized to aggregate data.
aaAuthorizedAccountId :: Lens' AggregationAuthorization (Maybe Text)

-- | The detailed configuration of a specified resource.
--   
--   <i>See:</i> <a>baseConfigurationItem</a> smart constructor.
data BaseConfigurationItem

-- | Creates a value of <a>BaseConfigurationItem</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bciResourceId</a> - The ID of the resource (for example.,
--   sg-xxxxxx).</li>
--   <li><a>bciResourceType</a> - The type of AWS resource.</li>
--   <li><a>bciConfigurationStateId</a> - An identifier that indicates the
--   ordering of the configuration items of a resource.</li>
--   <li><a>bciArn</a> - The Amazon Resource Name (ARN) of the
--   resource.</li>
--   <li><a>bciResourceName</a> - The custom name of the resource, if
--   available.</li>
--   <li><a>bciResourceCreationTime</a> - The time stamp when the resource
--   was created.</li>
--   <li><a>bciConfigurationItemStatus</a> - The configuration item
--   status.</li>
--   <li><a>bciConfigurationItemCaptureTime</a> - The time when the
--   configuration recording was initiated.</li>
--   <li><a>bciAccountId</a> - The 12 digit AWS account ID associated with
--   the resource.</li>
--   <li><a>bciSupplementaryConfiguration</a> - Configuration attributes
--   that AWS Config returns for certain resource types to supplement the
--   information returned for the configuration parameter.</li>
--   <li><a>bciAvailabilityZone</a> - The Availability Zone associated with
--   the resource.</li>
--   <li><a>bciVersion</a> - The version number of the resource
--   configuration.</li>
--   <li><a>bciAwsRegion</a> - The region where the resource resides.</li>
--   <li><a>bciConfiguration</a> - The description of the resource
--   configuration.</li>
--   </ul>
baseConfigurationItem :: BaseConfigurationItem

-- | The ID of the resource (for example., sg-xxxxxx).
bciResourceId :: Lens' BaseConfigurationItem (Maybe Text)

-- | The type of AWS resource.
bciResourceType :: Lens' BaseConfigurationItem (Maybe ResourceType)

-- | An identifier that indicates the ordering of the configuration items
--   of a resource.
bciConfigurationStateId :: Lens' BaseConfigurationItem (Maybe Text)

-- | The Amazon Resource Name (ARN) of the resource.
bciArn :: Lens' BaseConfigurationItem (Maybe Text)

-- | The custom name of the resource, if available.
bciResourceName :: Lens' BaseConfigurationItem (Maybe Text)

-- | The time stamp when the resource was created.
bciResourceCreationTime :: Lens' BaseConfigurationItem (Maybe UTCTime)

-- | The configuration item status.
bciConfigurationItemStatus :: Lens' BaseConfigurationItem (Maybe ConfigurationItemStatus)

-- | The time when the configuration recording was initiated.
bciConfigurationItemCaptureTime :: Lens' BaseConfigurationItem (Maybe UTCTime)

-- | The 12 digit AWS account ID associated with the resource.
bciAccountId :: Lens' BaseConfigurationItem (Maybe Text)

-- | Configuration attributes that AWS Config returns for certain resource
--   types to supplement the information returned for the configuration
--   parameter.
bciSupplementaryConfiguration :: Lens' BaseConfigurationItem (HashMap Text Text)

-- | The Availability Zone associated with the resource.
bciAvailabilityZone :: Lens' BaseConfigurationItem (Maybe Text)

-- | The version number of the resource configuration.
bciVersion :: Lens' BaseConfigurationItem (Maybe Text)

-- | The region where the resource resides.
bciAwsRegion :: Lens' BaseConfigurationItem (Maybe Text)

-- | The description of the resource configuration.
bciConfiguration :: Lens' BaseConfigurationItem (Maybe Text)

-- | Indicates whether an AWS resource or AWS Config rule is compliant and
--   provides the number of contributors that affect the compliance.
--   
--   <i>See:</i> <a>compliance</a> smart constructor.
data Compliance

-- | Creates a value of <a>Compliance</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cComplianceContributorCount</a> - The number of AWS resources
--   or AWS Config rules that cause a result of <tt>NON_COMPLIANT</tt> , up
--   to a maximum number.</li>
--   <li><a>cComplianceType</a> - Indicates whether an AWS resource or AWS
--   Config rule is compliant. A resource is compliant if it complies with
--   all of the AWS Config rules that evaluate it. A resource is
--   noncompliant if it does not comply with one or more of these rules. A
--   rule is compliant if all of the resources that the rule evaluates
--   comply with it. A rule is noncompliant if any of these resources do
--   not comply. AWS Config returns the <tt>INSUFFICIENT_DATA</tt> value
--   when no evaluation results are available for the AWS resource or AWS
--   Config rule. For the <tt>Compliance</tt> data type, AWS Config
--   supports only <tt>COMPLIANT</tt> , <tt>NON_COMPLIANT</tt> , and
--   <tt>INSUFFICIENT_DATA</tt> values. AWS Config does not support the
--   <tt>NOT_APPLICABLE</tt> value for the <tt>Compliance</tt> data
--   type.</li>
--   </ul>
compliance :: Compliance

-- | The number of AWS resources or AWS Config rules that cause a result of
--   <tt>NON_COMPLIANT</tt> , up to a maximum number.
cComplianceContributorCount :: Lens' Compliance (Maybe ComplianceContributorCount)

-- | Indicates whether an AWS resource or AWS Config rule is compliant. A
--   resource is compliant if it complies with all of the AWS Config rules
--   that evaluate it. A resource is noncompliant if it does not comply
--   with one or more of these rules. A rule is compliant if all of the
--   resources that the rule evaluates comply with it. A rule is
--   noncompliant if any of these resources do not comply. AWS Config
--   returns the <tt>INSUFFICIENT_DATA</tt> value when no evaluation
--   results are available for the AWS resource or AWS Config rule. For the
--   <tt>Compliance</tt> data type, AWS Config supports only
--   <tt>COMPLIANT</tt> , <tt>NON_COMPLIANT</tt> , and
--   <tt>INSUFFICIENT_DATA</tt> values. AWS Config does not support the
--   <tt>NOT_APPLICABLE</tt> value for the <tt>Compliance</tt> data type.
cComplianceType :: Lens' Compliance (Maybe ComplianceType)

-- | Indicates whether an AWS Config rule is compliant. A rule is compliant
--   if all of the resources that the rule evaluated comply with it. A rule
--   is noncompliant if any of these resources do not comply.
--   
--   <i>See:</i> <a>complianceByConfigRule</a> smart constructor.
data ComplianceByConfigRule

-- | Creates a value of <a>ComplianceByConfigRule</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cbcrCompliance</a> - Indicates whether the AWS Config rule is
--   compliant.</li>
--   <li><a>cbcrConfigRuleName</a> - The name of the AWS Config rule.</li>
--   </ul>
complianceByConfigRule :: ComplianceByConfigRule

-- | Indicates whether the AWS Config rule is compliant.
cbcrCompliance :: Lens' ComplianceByConfigRule (Maybe Compliance)

-- | The name of the AWS Config rule.
cbcrConfigRuleName :: Lens' ComplianceByConfigRule (Maybe Text)

-- | Indicates whether an AWS resource that is evaluated according to one
--   or more AWS Config rules is compliant. A resource is compliant if it
--   complies with all of the rules that evaluate it. A resource is
--   noncompliant if it does not comply with one or more of these rules.
--   
--   <i>See:</i> <a>complianceByResource</a> smart constructor.
data ComplianceByResource

-- | Creates a value of <a>ComplianceByResource</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cbrResourceId</a> - The ID of the AWS resource that was
--   evaluated.</li>
--   <li><a>cbrResourceType</a> - The type of the AWS resource that was
--   evaluated.</li>
--   <li><a>cbrCompliance</a> - Indicates whether the AWS resource complies
--   with all of the AWS Config rules that evaluated it.</li>
--   </ul>
complianceByResource :: ComplianceByResource

-- | The ID of the AWS resource that was evaluated.
cbrResourceId :: Lens' ComplianceByResource (Maybe Text)

-- | The type of the AWS resource that was evaluated.
cbrResourceType :: Lens' ComplianceByResource (Maybe Text)

-- | Indicates whether the AWS resource complies with all of the AWS Config
--   rules that evaluated it.
cbrCompliance :: Lens' ComplianceByResource (Maybe Compliance)

-- | The number of AWS resources or AWS Config rules responsible for the
--   current compliance of the item, up to a maximum number.
--   
--   <i>See:</i> <a>complianceContributorCount</a> smart constructor.
data ComplianceContributorCount

-- | Creates a value of <a>ComplianceContributorCount</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cccCappedCount</a> - The number of AWS resources or AWS Config
--   rules responsible for the current compliance of the item.</li>
--   <li><a>cccCapExceeded</a> - Indicates whether the maximum count is
--   reached.</li>
--   </ul>
complianceContributorCount :: ComplianceContributorCount

-- | The number of AWS resources or AWS Config rules responsible for the
--   current compliance of the item.
cccCappedCount :: Lens' ComplianceContributorCount (Maybe Int)

-- | Indicates whether the maximum count is reached.
cccCapExceeded :: Lens' ComplianceContributorCount (Maybe Bool)

-- | The number of AWS Config rules or AWS resources that are compliant and
--   noncompliant.
--   
--   <i>See:</i> <a>complianceSummary</a> smart constructor.
data ComplianceSummary

-- | Creates a value of <a>ComplianceSummary</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csComplianceSummaryTimestamp</a> - The time that AWS Config
--   created the compliance summary.</li>
--   <li><a>csCompliantResourceCount</a> - The number of AWS Config rules
--   or AWS resources that are compliant, up to a maximum of 25 for rules
--   and 100 for resources.</li>
--   <li><a>csNonCompliantResourceCount</a> - The number of AWS Config
--   rules or AWS resources that are noncompliant, up to a maximum of 25
--   for rules and 100 for resources.</li>
--   </ul>
complianceSummary :: ComplianceSummary

-- | The time that AWS Config created the compliance summary.
csComplianceSummaryTimestamp :: Lens' ComplianceSummary (Maybe UTCTime)

-- | The number of AWS Config rules or AWS resources that are compliant, up
--   to a maximum of 25 for rules and 100 for resources.
csCompliantResourceCount :: Lens' ComplianceSummary (Maybe ComplianceContributorCount)

-- | The number of AWS Config rules or AWS resources that are noncompliant,
--   up to a maximum of 25 for rules and 100 for resources.
csNonCompliantResourceCount :: Lens' ComplianceSummary (Maybe ComplianceContributorCount)

-- | The number of AWS resources of a specific type that are compliant or
--   noncompliant, up to a maximum of 100 for each.
--   
--   <i>See:</i> <a>complianceSummaryByResourceType</a> smart constructor.
data ComplianceSummaryByResourceType

-- | Creates a value of <a>ComplianceSummaryByResourceType</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csbrtResourceType</a> - The type of AWS resource.</li>
--   <li><a>csbrtComplianceSummary</a> - The number of AWS resources that
--   are compliant or noncompliant, up to a maximum of 100 for each.</li>
--   </ul>
complianceSummaryByResourceType :: ComplianceSummaryByResourceType

-- | The type of AWS resource.
csbrtResourceType :: Lens' ComplianceSummaryByResourceType (Maybe Text)

-- | The number of AWS resources that are compliant or noncompliant, up to
--   a maximum of 100 for each.
csbrtComplianceSummary :: Lens' ComplianceSummaryByResourceType (Maybe ComplianceSummary)

-- | Provides status of the delivery of the snapshot or the configuration
--   history to the specified Amazon S3 bucket. Also provides the status of
--   notifications about the Amazon S3 delivery to the specified Amazon SNS
--   topic.
--   
--   <i>See:</i> <a>configExportDeliveryInfo</a> smart constructor.
data ConfigExportDeliveryInfo

-- | Creates a value of <a>ConfigExportDeliveryInfo</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cediLastErrorCode</a> - The error code from the last attempted
--   delivery.</li>
--   <li><a>cediLastAttemptTime</a> - The time of the last attempted
--   delivery.</li>
--   <li><a>cediLastSuccessfulTime</a> - The time of the last successful
--   delivery.</li>
--   <li><a>cediLastStatus</a> - Status of the last attempted
--   delivery.</li>
--   <li><a>cediLastErrorMessage</a> - The error message from the last
--   attempted delivery.</li>
--   <li><a>cediNextDeliveryTime</a> - The time that the next delivery
--   occurs.</li>
--   </ul>
configExportDeliveryInfo :: ConfigExportDeliveryInfo

-- | The error code from the last attempted delivery.
cediLastErrorCode :: Lens' ConfigExportDeliveryInfo (Maybe Text)

-- | The time of the last attempted delivery.
cediLastAttemptTime :: Lens' ConfigExportDeliveryInfo (Maybe UTCTime)

-- | The time of the last successful delivery.
cediLastSuccessfulTime :: Lens' ConfigExportDeliveryInfo (Maybe UTCTime)

-- | Status of the last attempted delivery.
cediLastStatus :: Lens' ConfigExportDeliveryInfo (Maybe DeliveryStatus)

-- | The error message from the last attempted delivery.
cediLastErrorMessage :: Lens' ConfigExportDeliveryInfo (Maybe Text)

-- | The time that the next delivery occurs.
cediNextDeliveryTime :: Lens' ConfigExportDeliveryInfo (Maybe UTCTime)

-- | An AWS Config rule represents an AWS Lambda function that you create
--   for a custom rule or a predefined function for an AWS managed rule.
--   The function evaluates configuration items to assess whether your AWS
--   resources comply with your desired configurations. This function can
--   run when AWS Config detects a configuration change to an AWS resource
--   and at a periodic frequency that you choose (for example, every 24
--   hours).
--   
--   For more information about developing and using AWS Config rules, see
--   <a>Evaluating AWS Resource Configurations with AWS Config</a> in the
--   <i>AWS Config Developer Guide</i> .
--   
--   <i>See:</i> <a>configRule</a> smart constructor.
data ConfigRule

-- | Creates a value of <a>ConfigRule</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crInputParameters</a> - A string, in JSON format, that is
--   passed to the AWS Config rule Lambda function.</li>
--   <li><a>crConfigRuleName</a> - The name that you assign to the AWS
--   Config rule. The name is required if you are adding a new rule.</li>
--   <li><a>crMaximumExecutionFrequency</a> - The maximum frequency with
--   which AWS Config runs evaluations for a rule. You can specify a value
--   for <tt>MaximumExecutionFrequency</tt> when: * You are using an AWS
--   managed rule that is triggered at a periodic frequency. * Your custom
--   rule is triggered when AWS Config delivers the configuration snapshot.
--   For more information, see <a>ConfigSnapshotDeliveryProperties</a>
--   .</li>
--   <li><a>crConfigRuleId</a> - The ID of the AWS Config rule.</li>
--   <li><a>crScope</a> - Defines which resources can trigger an evaluation
--   for the rule. The scope can include one or more resource types, a
--   combination of one resource type and one resource ID, or a combination
--   of a tag key and value. Specify a scope to constrain the resources
--   that can trigger an evaluation for the rule. If you do not specify a
--   scope, evaluations are triggered when any resource in the recording
--   group changes.</li>
--   <li><a>crConfigRuleState</a> - Indicates whether the AWS Config rule
--   is active or is currently being deleted by AWS Config. It can also
--   indicate the evaluation status for the AWS Config rule. AWS Config
--   sets the state of the rule to <tt>EVALUATING</tt> temporarily after
--   you use the <tt>StartConfigRulesEvaluation</tt> request to evaluate
--   your resources against the AWS Config rule. AWS Config sets the state
--   of the rule to <tt>DELETING_RESULTS</tt> temporarily after you use the
--   <tt>DeleteEvaluationResults</tt> request to delete the current
--   evaluation results for the AWS Config rule. AWS Config temporarily
--   sets the state of a rule to <tt>DELETING</tt> after you use the
--   <tt>DeleteConfigRule</tt> request to delete the rule. After AWS Config
--   deletes the rule, the rule and all of its evaluations are erased and
--   are no longer available.</li>
--   <li><a>crDescription</a> - The description that you provide for the
--   AWS Config rule.</li>
--   <li><a>crConfigRuleARN</a> - The Amazon Resource Name (ARN) of the AWS
--   Config rule.</li>
--   <li><a>crSource</a> - Provides the rule owner (AWS or customer), the
--   rule identifier, and the notifications that cause the function to
--   evaluate your AWS resources.</li>
--   </ul>
configRule :: Source -> ConfigRule

-- | A string, in JSON format, that is passed to the AWS Config rule Lambda
--   function.
crInputParameters :: Lens' ConfigRule (Maybe Text)

-- | The name that you assign to the AWS Config rule. The name is required
--   if you are adding a new rule.
crConfigRuleName :: Lens' ConfigRule (Maybe Text)

-- | The maximum frequency with which AWS Config runs evaluations for a
--   rule. You can specify a value for <tt>MaximumExecutionFrequency</tt>
--   when: * You are using an AWS managed rule that is triggered at a
--   periodic frequency. * Your custom rule is triggered when AWS Config
--   delivers the configuration snapshot. For more information, see
--   <a>ConfigSnapshotDeliveryProperties</a> .
crMaximumExecutionFrequency :: Lens' ConfigRule (Maybe MaximumExecutionFrequency)

-- | The ID of the AWS Config rule.
crConfigRuleId :: Lens' ConfigRule (Maybe Text)

-- | Defines which resources can trigger an evaluation for the rule. The
--   scope can include one or more resource types, a combination of one
--   resource type and one resource ID, or a combination of a tag key and
--   value. Specify a scope to constrain the resources that can trigger an
--   evaluation for the rule. If you do not specify a scope, evaluations
--   are triggered when any resource in the recording group changes.
crScope :: Lens' ConfigRule (Maybe Scope)

-- | Indicates whether the AWS Config rule is active or is currently being
--   deleted by AWS Config. It can also indicate the evaluation status for
--   the AWS Config rule. AWS Config sets the state of the rule to
--   <tt>EVALUATING</tt> temporarily after you use the
--   <tt>StartConfigRulesEvaluation</tt> request to evaluate your resources
--   against the AWS Config rule. AWS Config sets the state of the rule to
--   <tt>DELETING_RESULTS</tt> temporarily after you use the
--   <tt>DeleteEvaluationResults</tt> request to delete the current
--   evaluation results for the AWS Config rule. AWS Config temporarily
--   sets the state of a rule to <tt>DELETING</tt> after you use the
--   <tt>DeleteConfigRule</tt> request to delete the rule. After AWS Config
--   deletes the rule, the rule and all of its evaluations are erased and
--   are no longer available.
crConfigRuleState :: Lens' ConfigRule (Maybe ConfigRuleState)

-- | The description that you provide for the AWS Config rule.
crDescription :: Lens' ConfigRule (Maybe Text)

-- | The Amazon Resource Name (ARN) of the AWS Config rule.
crConfigRuleARN :: Lens' ConfigRule (Maybe Text)

-- | Provides the rule owner (AWS or customer), the rule identifier, and
--   the notifications that cause the function to evaluate your AWS
--   resources.
crSource :: Lens' ConfigRule Source

-- | Filters the compliance results based on account ID, region, compliance
--   type, and rule name.
--   
--   <i>See:</i> <a>configRuleComplianceFilters</a> smart constructor.
data ConfigRuleComplianceFilters

-- | Creates a value of <a>ConfigRuleComplianceFilters</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crcfConfigRuleName</a> - The name of the AWS Config rule.</li>
--   <li><a>crcfAccountId</a> - The 12-digit account ID of the source
--   account.</li>
--   <li><a>crcfComplianceType</a> - The rule compliance status. For the
--   <tt>ConfigRuleComplianceFilters</tt> data type, AWS Config supports
--   only <tt>COMPLIANT</tt> and <tt>NON_COMPLIANT</tt> . AWS Config does
--   not support the <tt>NOT_APPLICABLE</tt> and the
--   <tt>INSUFFICIENT_DATA</tt> values.</li>
--   <li><a>crcfAWSRegion</a> - The source region where the data is
--   aggregated.</li>
--   </ul>
configRuleComplianceFilters :: ConfigRuleComplianceFilters

-- | The name of the AWS Config rule.
crcfConfigRuleName :: Lens' ConfigRuleComplianceFilters (Maybe Text)

-- | The 12-digit account ID of the source account.
crcfAccountId :: Lens' ConfigRuleComplianceFilters (Maybe Text)

-- | The rule compliance status. For the
--   <tt>ConfigRuleComplianceFilters</tt> data type, AWS Config supports
--   only <tt>COMPLIANT</tt> and <tt>NON_COMPLIANT</tt> . AWS Config does
--   not support the <tt>NOT_APPLICABLE</tt> and the
--   <tt>INSUFFICIENT_DATA</tt> values.
crcfComplianceType :: Lens' ConfigRuleComplianceFilters (Maybe ComplianceType)

-- | The source region where the data is aggregated.
crcfAWSRegion :: Lens' ConfigRuleComplianceFilters (Maybe Text)

-- | Filters the results based on the account IDs and regions.
--   
--   <i>See:</i> <a>configRuleComplianceSummaryFilters</a> smart
--   constructor.
data ConfigRuleComplianceSummaryFilters

-- | Creates a value of <a>ConfigRuleComplianceSummaryFilters</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crcsfAccountId</a> - The 12-digit account ID of the source
--   account.</li>
--   <li><a>crcsfAWSRegion</a> - The source region where the data is
--   aggregated.</li>
--   </ul>
configRuleComplianceSummaryFilters :: ConfigRuleComplianceSummaryFilters

-- | The 12-digit account ID of the source account.
crcsfAccountId :: Lens' ConfigRuleComplianceSummaryFilters (Maybe Text)

-- | The source region where the data is aggregated.
crcsfAWSRegion :: Lens' ConfigRuleComplianceSummaryFilters (Maybe Text)

-- | Status information for your AWS managed Config rules. The status
--   includes information such as the last time the rule ran, the last time
--   it failed, and the related error for the last failure.
--   
--   This action does not return status information about custom AWS Config
--   rules.
--   
--   <i>See:</i> <a>configRuleEvaluationStatus</a> smart constructor.
data ConfigRuleEvaluationStatus

-- | Creates a value of <a>ConfigRuleEvaluationStatus</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cresLastErrorCode</a> - The error code that AWS Config returned
--   when the rule last failed.</li>
--   <li><a>cresLastFailedEvaluationTime</a> - The time that AWS Config
--   last failed to evaluate your AWS resources against the rule.</li>
--   <li><a>cresFirstActivatedTime</a> - The time that you first activated
--   the AWS Config rule.</li>
--   <li><a>cresLastSuccessfulEvaluationTime</a> - The time that AWS Config
--   last successfully evaluated your AWS resources against the rule.</li>
--   <li><a>cresConfigRuleName</a> - The name of the AWS Config rule.</li>
--   <li><a>cresLastErrorMessage</a> - The error message that AWS Config
--   returned when the rule last failed.</li>
--   <li><a>cresConfigRuleId</a> - The ID of the AWS Config rule.</li>
--   <li><a>cresLastFailedInvocationTime</a> - The time that AWS Config
--   last failed to invoke the AWS Config rule to evaluate your AWS
--   resources.</li>
--   <li><a>cresFirstEvaluationStarted</a> - Indicates whether AWS Config
--   has evaluated your resources against the rule at least once. *
--   <tt>true</tt> - AWS Config has evaluated your AWS resources against
--   the rule at least once. * <tt>false</tt> - AWS Config has not once
--   finished evaluating your AWS resources against the rule.</li>
--   <li><a>cresLastSuccessfulInvocationTime</a> - The time that AWS Config
--   last successfully invoked the AWS Config rule to evaluate your AWS
--   resources.</li>
--   <li><a>cresConfigRuleARN</a> - The Amazon Resource Name (ARN) of the
--   AWS Config rule.</li>
--   </ul>
configRuleEvaluationStatus :: ConfigRuleEvaluationStatus

-- | The error code that AWS Config returned when the rule last failed.
cresLastErrorCode :: Lens' ConfigRuleEvaluationStatus (Maybe Text)

-- | The time that AWS Config last failed to evaluate your AWS resources
--   against the rule.
cresLastFailedEvaluationTime :: Lens' ConfigRuleEvaluationStatus (Maybe UTCTime)

-- | The time that you first activated the AWS Config rule.
cresFirstActivatedTime :: Lens' ConfigRuleEvaluationStatus (Maybe UTCTime)

-- | The time that AWS Config last successfully evaluated your AWS
--   resources against the rule.
cresLastSuccessfulEvaluationTime :: Lens' ConfigRuleEvaluationStatus (Maybe UTCTime)

-- | The name of the AWS Config rule.
cresConfigRuleName :: Lens' ConfigRuleEvaluationStatus (Maybe Text)

-- | The error message that AWS Config returned when the rule last failed.
cresLastErrorMessage :: Lens' ConfigRuleEvaluationStatus (Maybe Text)

-- | The ID of the AWS Config rule.
cresConfigRuleId :: Lens' ConfigRuleEvaluationStatus (Maybe Text)

-- | The time that AWS Config last failed to invoke the AWS Config rule to
--   evaluate your AWS resources.
cresLastFailedInvocationTime :: Lens' ConfigRuleEvaluationStatus (Maybe UTCTime)

-- | Indicates whether AWS Config has evaluated your resources against the
--   rule at least once. * <tt>true</tt> - AWS Config has evaluated your
--   AWS resources against the rule at least once. * <tt>false</tt> - AWS
--   Config has not once finished evaluating your AWS resources against the
--   rule.
cresFirstEvaluationStarted :: Lens' ConfigRuleEvaluationStatus (Maybe Bool)

-- | The time that AWS Config last successfully invoked the AWS Config rule
--   to evaluate your AWS resources.
cresLastSuccessfulInvocationTime :: Lens' ConfigRuleEvaluationStatus (Maybe UTCTime)

-- | The Amazon Resource Name (ARN) of the AWS Config rule.
cresConfigRuleARN :: Lens' ConfigRuleEvaluationStatus (Maybe Text)

-- | Provides options for how often AWS Config delivers configuration
--   snapshots to the Amazon S3 bucket in your delivery channel.
--   
--   The frequency for a rule that triggers evaluations for your resources
--   when AWS Config delivers the configuration snapshot is set by one of
--   two values, depending on which is less frequent:
--   
--   <ul>
--   <li>The value for the <tt>deliveryFrequency</tt> parameter within the
--   delivery channel configuration, which sets how often AWS Config
--   delivers configuration snapshots. This value also sets how often AWS
--   Config invokes evaluations for AWS Config rules.</li>
--   <li>The value for the <tt>MaximumExecutionFrequency</tt> parameter,
--   which sets the maximum frequency with which AWS Config invokes
--   evaluations for the rule. For more information, see <a>ConfigRule</a>
--   .</li>
--   </ul>
--   
--   If the <tt>deliveryFrequency</tt> value is less frequent than the
--   <tt>MaximumExecutionFrequency</tt> value for a rule, AWS Config
--   invokes the rule only as often as the <tt>deliveryFrequency</tt>
--   value.
--   
--   <ul>
--   <li>For example, you want your rule to run evaluations when AWS Config
--   delivers the configuration snapshot.</li>
--   <li>You specify the <tt>MaximumExecutionFrequency</tt> value for
--   <tt>Six_Hours</tt> .</li>
--   <li>You then specify the delivery channel <tt>deliveryFrequency</tt>
--   value for <tt>TwentyFour_Hours</tt> .</li>
--   <li>Because the value for <tt>deliveryFrequency</tt> is less frequent
--   than <tt>MaximumExecutionFrequency</tt> , AWS Config invokes
--   evaluations for the rule every 24 hours.</li>
--   </ul>
--   
--   You should set the <tt>MaximumExecutionFrequency</tt> value to be at
--   least as frequent as the <tt>deliveryFrequency</tt> value. You can
--   view the <tt>deliveryFrequency</tt> value by using the
--   <tt>DescribeDeliveryChannnels</tt> action.
--   
--   To update the <tt>deliveryFrequency</tt> with which AWS Config
--   delivers your configuration snapshots, use the
--   <tt>PutDeliveryChannel</tt> action.
--   
--   <i>See:</i> <a>configSnapshotDeliveryProperties</a> smart constructor.
data ConfigSnapshotDeliveryProperties

-- | Creates a value of <a>ConfigSnapshotDeliveryProperties</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csdpDeliveryFrequency</a> - The frequency with which AWS Config
--   delivers configuration snapshots.</li>
--   </ul>
configSnapshotDeliveryProperties :: ConfigSnapshotDeliveryProperties

-- | The frequency with which AWS Config delivers configuration snapshots.
csdpDeliveryFrequency :: Lens' ConfigSnapshotDeliveryProperties (Maybe MaximumExecutionFrequency)

-- | A list that contains the status of the delivery of the configuration
--   stream notification to the Amazon SNS topic.
--   
--   <i>See:</i> <a>configStreamDeliveryInfo</a> smart constructor.
data ConfigStreamDeliveryInfo

-- | Creates a value of <a>ConfigStreamDeliveryInfo</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csdiLastErrorCode</a> - The error code from the last attempted
--   delivery.</li>
--   <li><a>csdiLastStatusChangeTime</a> - The time from the last status
--   change.</li>
--   <li><a>csdiLastStatus</a> - Status of the last attempted delivery.
--   <b>Note</b> Providing an SNS topic on a <a>DeliveryChannel</a> for AWS
--   Config is optional. If the SNS delivery is turned off, the last status
--   will be <b>Not_Applicable</b> .</li>
--   <li><a>csdiLastErrorMessage</a> - The error message from the last
--   attempted delivery.</li>
--   </ul>
configStreamDeliveryInfo :: ConfigStreamDeliveryInfo

-- | The error code from the last attempted delivery.
csdiLastErrorCode :: Lens' ConfigStreamDeliveryInfo (Maybe Text)

-- | The time from the last status change.
csdiLastStatusChangeTime :: Lens' ConfigStreamDeliveryInfo (Maybe UTCTime)

-- | Status of the last attempted delivery. <b>Note</b> Providing an SNS
--   topic on a <a>DeliveryChannel</a> for AWS Config is optional. If the
--   SNS delivery is turned off, the last status will be
--   <b>Not_Applicable</b> .
csdiLastStatus :: Lens' ConfigStreamDeliveryInfo (Maybe DeliveryStatus)

-- | The error message from the last attempted delivery.
csdiLastErrorMessage :: Lens' ConfigStreamDeliveryInfo (Maybe Text)

-- | The details about the configuration aggregator, including information
--   about source accounts, regions, and metadata of the aggregator.
--   
--   <i>See:</i> <a>configurationAggregator</a> smart constructor.
data ConfigurationAggregator

-- | Creates a value of <a>ConfigurationAggregator</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>caConfigurationAggregatorARN</a> - The Amazon Resource Name
--   (ARN) of the aggregator.</li>
--   <li><a>caCreationTime</a> - The time stamp when the configuration
--   aggregator was created.</li>
--   <li><a>caOrganizationAggregationSource</a> - Provides an organization
--   and list of regions to be aggregated.</li>
--   <li><a>caLastUpdatedTime</a> - The time of the last update.</li>
--   <li><a>caAccountAggregationSources</a> - Provides a list of source
--   accounts and regions to be aggregated.</li>
--   <li><a>caConfigurationAggregatorName</a> - The name of the
--   aggregator.</li>
--   </ul>
configurationAggregator :: ConfigurationAggregator

-- | The Amazon Resource Name (ARN) of the aggregator.
caConfigurationAggregatorARN :: Lens' ConfigurationAggregator (Maybe Text)

-- | The time stamp when the configuration aggregator was created.
caCreationTime :: Lens' ConfigurationAggregator (Maybe UTCTime)

-- | Provides an organization and list of regions to be aggregated.
caOrganizationAggregationSource :: Lens' ConfigurationAggregator (Maybe OrganizationAggregationSource)

-- | The time of the last update.
caLastUpdatedTime :: Lens' ConfigurationAggregator (Maybe UTCTime)

-- | Provides a list of source accounts and regions to be aggregated.
caAccountAggregationSources :: Lens' ConfigurationAggregator [AccountAggregationSource]

-- | The name of the aggregator.
caConfigurationAggregatorName :: Lens' ConfigurationAggregator (Maybe Text)

-- | A list that contains detailed configurations of a specified resource.
--   
--   <i>See:</i> <a>configurationItem</a> smart constructor.
data ConfigurationItem

-- | Creates a value of <a>ConfigurationItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ciResourceId</a> - The ID of the resource (for example,
--   <tt>sg-xxxxxx</tt> ).</li>
--   <li><a>ciResourceType</a> - The type of AWS resource.</li>
--   <li><a>ciConfigurationStateId</a> - An identifier that indicates the
--   ordering of the configuration items of a resource.</li>
--   <li><a>ciArn</a> - The Amazon Resource Name (ARN) of the
--   resource.</li>
--   <li><a>ciResourceName</a> - The custom name of the resource, if
--   available.</li>
--   <li><a>ciResourceCreationTime</a> - The time stamp when the resource
--   was created.</li>
--   <li><a>ciConfigurationItemStatus</a> - The configuration item
--   status.</li>
--   <li><a>ciConfigurationItemCaptureTime</a> - The time when the
--   configuration recording was initiated.</li>
--   <li><a>ciAccountId</a> - The 12-digit AWS account ID associated with
--   the resource.</li>
--   <li><a>ciSupplementaryConfiguration</a> - Configuration attributes
--   that AWS Config returns for certain resource types to supplement the
--   information returned for the <tt>configuration</tt> parameter.</li>
--   <li><a>ciAvailabilityZone</a> - The Availability Zone associated with
--   the resource.</li>
--   <li><a>ciRelationships</a> - A list of related AWS resources.</li>
--   <li><a>ciVersion</a> - The version number of the resource
--   configuration.</li>
--   <li><a>ciAwsRegion</a> - The region where the resource resides.</li>
--   <li><a>ciRelatedEvents</a> - A list of CloudTrail event IDs. A
--   populated field indicates that the current configuration was initiated
--   by the events recorded in the CloudTrail log. For more information
--   about CloudTrail, see <a>What Is AWS CloudTrail</a> . An empty field
--   indicates that the current configuration was not initiated by any
--   event.</li>
--   <li><a>ciConfiguration</a> - The description of the resource
--   configuration.</li>
--   <li><a>ciConfigurationItemMD5Hash</a> - Unique MD5 hash that
--   represents the configuration item's state. You can use MD5 hash to
--   compare the states of two or more configuration items that are
--   associated with the same resource.</li>
--   <li><a>ciTags</a> - A mapping of key value tags associated with the
--   resource.</li>
--   </ul>
configurationItem :: ConfigurationItem

-- | The ID of the resource (for example, <tt>sg-xxxxxx</tt> ).
ciResourceId :: Lens' ConfigurationItem (Maybe Text)

-- | The type of AWS resource.
ciResourceType :: Lens' ConfigurationItem (Maybe ResourceType)

-- | An identifier that indicates the ordering of the configuration items
--   of a resource.
ciConfigurationStateId :: Lens' ConfigurationItem (Maybe Text)

-- | The Amazon Resource Name (ARN) of the resource.
ciArn :: Lens' ConfigurationItem (Maybe Text)

-- | The custom name of the resource, if available.
ciResourceName :: Lens' ConfigurationItem (Maybe Text)

-- | The time stamp when the resource was created.
ciResourceCreationTime :: Lens' ConfigurationItem (Maybe UTCTime)

-- | The configuration item status.
ciConfigurationItemStatus :: Lens' ConfigurationItem (Maybe ConfigurationItemStatus)

-- | The time when the configuration recording was initiated.
ciConfigurationItemCaptureTime :: Lens' ConfigurationItem (Maybe UTCTime)

-- | The 12-digit AWS account ID associated with the resource.
ciAccountId :: Lens' ConfigurationItem (Maybe Text)

-- | Configuration attributes that AWS Config returns for certain resource
--   types to supplement the information returned for the
--   <tt>configuration</tt> parameter.
ciSupplementaryConfiguration :: Lens' ConfigurationItem (HashMap Text Text)

-- | The Availability Zone associated with the resource.
ciAvailabilityZone :: Lens' ConfigurationItem (Maybe Text)

-- | A list of related AWS resources.
ciRelationships :: Lens' ConfigurationItem [Relationship]

-- | The version number of the resource configuration.
ciVersion :: Lens' ConfigurationItem (Maybe Text)

-- | The region where the resource resides.
ciAwsRegion :: Lens' ConfigurationItem (Maybe Text)

-- | A list of CloudTrail event IDs. A populated field indicates that the
--   current configuration was initiated by the events recorded in the
--   CloudTrail log. For more information about CloudTrail, see <a>What Is
--   AWS CloudTrail</a> . An empty field indicates that the current
--   configuration was not initiated by any event.
ciRelatedEvents :: Lens' ConfigurationItem [Text]

-- | The description of the resource configuration.
ciConfiguration :: Lens' ConfigurationItem (Maybe Text)

-- | Unique MD5 hash that represents the configuration item's state. You
--   can use MD5 hash to compare the states of two or more configuration
--   items that are associated with the same resource.
ciConfigurationItemMD5Hash :: Lens' ConfigurationItem (Maybe Text)

-- | A mapping of key value tags associated with the resource.
ciTags :: Lens' ConfigurationItem (HashMap Text Text)

-- | An object that represents the recording of configuration changes of an
--   AWS resource.
--   
--   <i>See:</i> <a>configurationRecorder</a> smart constructor.
data ConfigurationRecorder

-- | Creates a value of <a>ConfigurationRecorder</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crName</a> - The name of the recorder. By default, AWS Config
--   automatically assigns the name "default" when creating the
--   configuration recorder. You cannot change the assigned name.</li>
--   <li><a>crRecordingGroup</a> - Specifies the types of AWS resources for
--   which AWS Config records configuration changes.</li>
--   <li><a>crRoleARN</a> - Amazon Resource Name (ARN) of the IAM role used
--   to describe the AWS resources associated with the account.</li>
--   </ul>
configurationRecorder :: ConfigurationRecorder

-- | The name of the recorder. By default, AWS Config automatically assigns
--   the name "default" when creating the configuration recorder. You
--   cannot change the assigned name.
crName :: Lens' ConfigurationRecorder (Maybe Text)

-- | Specifies the types of AWS resources for which AWS Config records
--   configuration changes.
crRecordingGroup :: Lens' ConfigurationRecorder (Maybe RecordingGroup)

-- | Amazon Resource Name (ARN) of the IAM role used to describe the AWS
--   resources associated with the account.
crRoleARN :: Lens' ConfigurationRecorder (Maybe Text)

-- | The current status of the configuration recorder.
--   
--   <i>See:</i> <a>configurationRecorderStatus</a> smart constructor.
data ConfigurationRecorderStatus

-- | Creates a value of <a>ConfigurationRecorderStatus</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crsLastErrorCode</a> - The error code indicating that the
--   recording failed.</li>
--   <li><a>crsLastStopTime</a> - The time the recorder was last
--   stopped.</li>
--   <li><a>crsLastStatusChangeTime</a> - The time when the status was last
--   changed.</li>
--   <li><a>crsRecording</a> - Specifies whether or not the recorder is
--   currently recording.</li>
--   <li><a>crsLastStatus</a> - The last (previous) status of the
--   recorder.</li>
--   <li><a>crsLastErrorMessage</a> - The message indicating that the
--   recording failed due to an error.</li>
--   <li><a>crsName</a> - The name of the configuration recorder.</li>
--   <li><a>crsLastStartTime</a> - The time the recorder was last
--   started.</li>
--   </ul>
configurationRecorderStatus :: ConfigurationRecorderStatus

-- | The error code indicating that the recording failed.
crsLastErrorCode :: Lens' ConfigurationRecorderStatus (Maybe Text)

-- | The time the recorder was last stopped.
crsLastStopTime :: Lens' ConfigurationRecorderStatus (Maybe UTCTime)

-- | The time when the status was last changed.
crsLastStatusChangeTime :: Lens' ConfigurationRecorderStatus (Maybe UTCTime)

-- | Specifies whether or not the recorder is currently recording.
crsRecording :: Lens' ConfigurationRecorderStatus (Maybe Bool)

-- | The last (previous) status of the recorder.
crsLastStatus :: Lens' ConfigurationRecorderStatus (Maybe RecorderStatus)

-- | The message indicating that the recording failed due to an error.
crsLastErrorMessage :: Lens' ConfigurationRecorderStatus (Maybe Text)

-- | The name of the configuration recorder.
crsName :: Lens' ConfigurationRecorderStatus (Maybe Text)

-- | The time the recorder was last started.
crsLastStartTime :: Lens' ConfigurationRecorderStatus (Maybe UTCTime)

-- | The channel through which AWS Config delivers notifications and
--   updated configuration states.
--   
--   <i>See:</i> <a>deliveryChannel</a> smart constructor.
data DeliveryChannel

-- | Creates a value of <a>DeliveryChannel</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcS3KeyPrefix</a> - The prefix for the specified Amazon S3
--   bucket.</li>
--   <li><a>dcSnsTopicARN</a> - The Amazon Resource Name (ARN) of the
--   Amazon SNS topic to which AWS Config sends notifications about
--   configuration changes. If you choose a topic from another account, the
--   topic must have policies that grant access permissions to AWS Config.
--   For more information, see <a>Permissions for the Amazon SNS Topic</a>
--   in the AWS Config Developer Guide.</li>
--   <li><a>dcName</a> - The name of the delivery channel. By default, AWS
--   Config assigns the name "default" when creating the delivery channel.
--   To change the delivery channel name, you must use the
--   DeleteDeliveryChannel action to delete your current delivery channel,
--   and then you must use the PutDeliveryChannel command to create a
--   delivery channel that has the desired name.</li>
--   <li><a>dcConfigSnapshotDeliveryProperties</a> - The options for how
--   often AWS Config delivers configuration snapshots to the Amazon S3
--   bucket.</li>
--   <li><a>dcS3BucketName</a> - The name of the Amazon S3 bucket to which
--   AWS Config delivers configuration snapshots and configuration history
--   files. If you specify a bucket that belongs to another AWS account,
--   that bucket must have policies that grant access permissions to AWS
--   Config. For more information, see <a>Permissions for the Amazon S3
--   Bucket</a> in the AWS Config Developer Guide.</li>
--   </ul>
deliveryChannel :: DeliveryChannel

-- | The prefix for the specified Amazon S3 bucket.
dcS3KeyPrefix :: Lens' DeliveryChannel (Maybe Text)

-- | The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS
--   Config sends notifications about configuration changes. If you choose
--   a topic from another account, the topic must have policies that grant
--   access permissions to AWS Config. For more information, see
--   <a>Permissions for the Amazon SNS Topic</a> in the AWS Config
--   Developer Guide.
dcSnsTopicARN :: Lens' DeliveryChannel (Maybe Text)

-- | The name of the delivery channel. By default, AWS Config assigns the
--   name "default" when creating the delivery channel. To change the
--   delivery channel name, you must use the DeleteDeliveryChannel action
--   to delete your current delivery channel, and then you must use the
--   PutDeliveryChannel command to create a delivery channel that has the
--   desired name.
dcName :: Lens' DeliveryChannel (Maybe Text)

-- | The options for how often AWS Config delivers configuration snapshots
--   to the Amazon S3 bucket.
dcConfigSnapshotDeliveryProperties :: Lens' DeliveryChannel (Maybe ConfigSnapshotDeliveryProperties)

-- | The name of the Amazon S3 bucket to which AWS Config delivers
--   configuration snapshots and configuration history files. If you
--   specify a bucket that belongs to another AWS account, that bucket must
--   have policies that grant access permissions to AWS Config. For more
--   information, see <a>Permissions for the Amazon S3 Bucket</a> in the
--   AWS Config Developer Guide.
dcS3BucketName :: Lens' DeliveryChannel (Maybe Text)

-- | The status of a specified delivery channel.
--   
--   Valid values: <tt>Success</tt> | <tt>Failure</tt>
--   
--   <i>See:</i> <a>deliveryChannelStatus</a> smart constructor.
data DeliveryChannelStatus

-- | Creates a value of <a>DeliveryChannelStatus</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcsConfigSnapshotDeliveryInfo</a> - A list containing the
--   status of the delivery of the snapshot to the specified Amazon S3
--   bucket.</li>
--   <li><a>dcsConfigStreamDeliveryInfo</a> - A list containing the status
--   of the delivery of the configuration stream notification to the
--   specified Amazon SNS topic.</li>
--   <li><a>dcsConfigHistoryDeliveryInfo</a> - A list that contains the
--   status of the delivery of the configuration history to the specified
--   Amazon S3 bucket.</li>
--   <li><a>dcsName</a> - The name of the delivery channel.</li>
--   </ul>
deliveryChannelStatus :: DeliveryChannelStatus

-- | A list containing the status of the delivery of the snapshot to the
--   specified Amazon S3 bucket.
dcsConfigSnapshotDeliveryInfo :: Lens' DeliveryChannelStatus (Maybe ConfigExportDeliveryInfo)

-- | A list containing the status of the delivery of the configuration
--   stream notification to the specified Amazon SNS topic.
dcsConfigStreamDeliveryInfo :: Lens' DeliveryChannelStatus (Maybe ConfigStreamDeliveryInfo)

-- | A list that contains the status of the delivery of the configuration
--   history to the specified Amazon S3 bucket.
dcsConfigHistoryDeliveryInfo :: Lens' DeliveryChannelStatus (Maybe ConfigExportDeliveryInfo)

-- | The name of the delivery channel.
dcsName :: Lens' DeliveryChannelStatus (Maybe Text)

-- | Identifies an AWS resource and indicates whether it complies with the
--   AWS Config rule that it was evaluated against.
--   
--   <i>See:</i> <a>evaluation</a> smart constructor.
data Evaluation

-- | Creates a value of <a>Evaluation</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eAnnotation</a> - Supplementary information about how the
--   evaluation determined the compliance.</li>
--   <li><a>eComplianceResourceType</a> - The type of AWS resource that was
--   evaluated.</li>
--   <li><a>eComplianceResourceId</a> - The ID of the AWS resource that was
--   evaluated.</li>
--   <li><a>eComplianceType</a> - Indicates whether the AWS resource
--   complies with the AWS Config rule that it was evaluated against. For
--   the <tt>Evaluation</tt> data type, AWS Config supports only the
--   <tt>COMPLIANT</tt> , <tt>NON_COMPLIANT</tt> , and
--   <tt>NOT_APPLICABLE</tt> values. AWS Config does not support the
--   <tt>INSUFFICIENT_DATA</tt> value for this data type. Similarly, AWS
--   Config does not accept <tt>INSUFFICIENT_DATA</tt> as the value for
--   <tt>ComplianceType</tt> from a <tt>PutEvaluations</tt> request. For
--   example, an AWS Lambda function for a custom AWS Config rule cannot
--   pass an <tt>INSUFFICIENT_DATA</tt> value to AWS Config.</li>
--   <li><a>eOrderingTimestamp</a> - The time of the event in AWS Config
--   that triggered the evaluation. For event-based evaluations, the time
--   indicates when AWS Config created the configuration item that
--   triggered the evaluation. For periodic evaluations, the time indicates
--   when AWS Config triggered the evaluation at the frequency that you
--   specified (for example, every 24 hours).</li>
--   </ul>
evaluation :: Text -> Text -> ComplianceType -> UTCTime -> Evaluation

-- | Supplementary information about how the evaluation determined the
--   compliance.
eAnnotation :: Lens' Evaluation (Maybe Text)

-- | The type of AWS resource that was evaluated.
eComplianceResourceType :: Lens' Evaluation Text

-- | The ID of the AWS resource that was evaluated.
eComplianceResourceId :: Lens' Evaluation Text

-- | Indicates whether the AWS resource complies with the AWS Config rule
--   that it was evaluated against. For the <tt>Evaluation</tt> data type,
--   AWS Config supports only the <tt>COMPLIANT</tt> ,
--   <tt>NON_COMPLIANT</tt> , and <tt>NOT_APPLICABLE</tt> values. AWS
--   Config does not support the <tt>INSUFFICIENT_DATA</tt> value for this
--   data type. Similarly, AWS Config does not accept
--   <tt>INSUFFICIENT_DATA</tt> as the value for <tt>ComplianceType</tt>
--   from a <tt>PutEvaluations</tt> request. For example, an AWS Lambda
--   function for a custom AWS Config rule cannot pass an
--   <tt>INSUFFICIENT_DATA</tt> value to AWS Config.
eComplianceType :: Lens' Evaluation ComplianceType

-- | The time of the event in AWS Config that triggered the evaluation. For
--   event-based evaluations, the time indicates when AWS Config created
--   the configuration item that triggered the evaluation. For periodic
--   evaluations, the time indicates when AWS Config triggered the
--   evaluation at the frequency that you specified (for example, every 24
--   hours).
eOrderingTimestamp :: Lens' Evaluation UTCTime

-- | The details of an AWS Config evaluation. Provides the AWS resource
--   that was evaluated, the compliance of the resource, related time
--   stamps, and supplementary information.
--   
--   <i>See:</i> <a>evaluationResult</a> smart constructor.
data EvaluationResult

-- | Creates a value of <a>EvaluationResult</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>erEvaluationResultIdentifier</a> - Uniquely identifies the
--   evaluation result.</li>
--   <li><a>erAnnotation</a> - Supplementary information about how the
--   evaluation determined the compliance.</li>
--   <li><a>erConfigRuleInvokedTime</a> - The time when the AWS Config rule
--   evaluated the AWS resource.</li>
--   <li><a>erResultRecordedTime</a> - The time when AWS Config recorded
--   the evaluation result.</li>
--   <li><a>erResultToken</a> - An encrypted token that associates an
--   evaluation with an AWS Config rule. The token identifies the rule, the
--   AWS resource being evaluated, and the event that triggered the
--   evaluation.</li>
--   <li><a>erComplianceType</a> - Indicates whether the AWS resource
--   complies with the AWS Config rule that evaluated it. For the
--   <tt>EvaluationResult</tt> data type, AWS Config supports only the
--   <tt>COMPLIANT</tt> , <tt>NON_COMPLIANT</tt> , and
--   <tt>NOT_APPLICABLE</tt> values. AWS Config does not support the
--   <tt>INSUFFICIENT_DATA</tt> value for the <tt>EvaluationResult</tt>
--   data type.</li>
--   </ul>
evaluationResult :: EvaluationResult

-- | Uniquely identifies the evaluation result.
erEvaluationResultIdentifier :: Lens' EvaluationResult (Maybe EvaluationResultIdentifier)

-- | Supplementary information about how the evaluation determined the
--   compliance.
erAnnotation :: Lens' EvaluationResult (Maybe Text)

-- | The time when the AWS Config rule evaluated the AWS resource.
erConfigRuleInvokedTime :: Lens' EvaluationResult (Maybe UTCTime)

-- | The time when AWS Config recorded the evaluation result.
erResultRecordedTime :: Lens' EvaluationResult (Maybe UTCTime)

-- | An encrypted token that associates an evaluation with an AWS Config
--   rule. The token identifies the rule, the AWS resource being evaluated,
--   and the event that triggered the evaluation.
erResultToken :: Lens' EvaluationResult (Maybe Text)

-- | Indicates whether the AWS resource complies with the AWS Config rule
--   that evaluated it. For the <tt>EvaluationResult</tt> data type, AWS
--   Config supports only the <tt>COMPLIANT</tt> , <tt>NON_COMPLIANT</tt> ,
--   and <tt>NOT_APPLICABLE</tt> values. AWS Config does not support the
--   <tt>INSUFFICIENT_DATA</tt> value for the <tt>EvaluationResult</tt>
--   data type.
erComplianceType :: Lens' EvaluationResult (Maybe ComplianceType)

-- | Uniquely identifies an evaluation result.
--   
--   <i>See:</i> <a>evaluationResultIdentifier</a> smart constructor.
data EvaluationResultIdentifier

-- | Creates a value of <a>EvaluationResultIdentifier</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eriEvaluationResultQualifier</a> - Identifies an AWS Config
--   rule used to evaluate an AWS resource, and provides the type and ID of
--   the evaluated resource.</li>
--   <li><a>eriOrderingTimestamp</a> - The time of the event that triggered
--   the evaluation of your AWS resources. The time can indicate when AWS
--   Config delivered a configuration item change notification, or it can
--   indicate when AWS Config delivered the configuration snapshot,
--   depending on which event triggered the evaluation.</li>
--   </ul>
evaluationResultIdentifier :: EvaluationResultIdentifier

-- | Identifies an AWS Config rule used to evaluate an AWS resource, and
--   provides the type and ID of the evaluated resource.
eriEvaluationResultQualifier :: Lens' EvaluationResultIdentifier (Maybe EvaluationResultQualifier)

-- | The time of the event that triggered the evaluation of your AWS
--   resources. The time can indicate when AWS Config delivered a
--   configuration item change notification, or it can indicate when AWS
--   Config delivered the configuration snapshot, depending on which event
--   triggered the evaluation.
eriOrderingTimestamp :: Lens' EvaluationResultIdentifier (Maybe UTCTime)

-- | Identifies an AWS Config rule that evaluated an AWS resource, and
--   provides the type and ID of the resource that the rule evaluated.
--   
--   <i>See:</i> <a>evaluationResultQualifier</a> smart constructor.
data EvaluationResultQualifier

-- | Creates a value of <a>EvaluationResultQualifier</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>erqResourceId</a> - The ID of the evaluated AWS resource.</li>
--   <li><a>erqResourceType</a> - The type of AWS resource that was
--   evaluated.</li>
--   <li><a>erqConfigRuleName</a> - The name of the AWS Config rule that
--   was used in the evaluation.</li>
--   </ul>
evaluationResultQualifier :: EvaluationResultQualifier

-- | The ID of the evaluated AWS resource.
erqResourceId :: Lens' EvaluationResultQualifier (Maybe Text)

-- | The type of AWS resource that was evaluated.
erqResourceType :: Lens' EvaluationResultQualifier (Maybe Text)

-- | The name of the AWS Config rule that was used in the evaluation.
erqConfigRuleName :: Lens' EvaluationResultQualifier (Maybe Text)

-- | This object contains regions to setup the aggregator and an IAM role
--   to retrieve organization details.
--   
--   <i>See:</i> <a>organizationAggregationSource</a> smart constructor.
data OrganizationAggregationSource

-- | Creates a value of <a>OrganizationAggregationSource</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oasAWSRegions</a> - The source regions being aggregated.</li>
--   <li><a>oasAllAWSRegions</a> - If true, aggreagate existing AWS Config
--   regions and future regions.</li>
--   <li><a>oasRoleARN</a> - ARN of the IAM role used to retreive AWS
--   Organization details associated with the aggregator account.</li>
--   </ul>
organizationAggregationSource :: Text -> OrganizationAggregationSource

-- | The source regions being aggregated.
oasAWSRegions :: Lens' OrganizationAggregationSource (Maybe (NonEmpty Text))

-- | If true, aggreagate existing AWS Config regions and future regions.
oasAllAWSRegions :: Lens' OrganizationAggregationSource (Maybe Bool)

-- | ARN of the IAM role used to retreive AWS Organization details
--   associated with the aggregator account.
oasRoleARN :: Lens' OrganizationAggregationSource Text

-- | An object that represents the account ID and region of an aggregator
--   account that is requesting authorization but is not yet authorized.
--   
--   <i>See:</i> <a>pendingAggregationRequest</a> smart constructor.
data PendingAggregationRequest

-- | Creates a value of <a>PendingAggregationRequest</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>parRequesterAccountId</a> - The 12-digit account ID of the
--   account requesting to aggregate data.</li>
--   <li><a>parRequesterAWSRegion</a> - The region requesting to aggregate
--   data.</li>
--   </ul>
pendingAggregationRequest :: PendingAggregationRequest

-- | The 12-digit account ID of the account requesting to aggregate data.
parRequesterAccountId :: Lens' PendingAggregationRequest (Maybe Text)

-- | The region requesting to aggregate data.
parRequesterAWSRegion :: Lens' PendingAggregationRequest (Maybe Text)

-- | Specifies the types of AWS resource for which AWS Config records
--   configuration changes.
--   
--   In the recording group, you specify whether all supported types or
--   specific types of resources are recorded.
--   
--   By default, AWS Config records configuration changes for all supported
--   types of regional resources that AWS Config discovers in the region in
--   which it is running. Regional resources are tied to a region and can
--   be used only in that region. Examples of regional resources are EC2
--   instances and EBS volumes.
--   
--   You can also have AWS Config record configuration changes for
--   supported types of global resources (for example, IAM resources).
--   Global resources are not tied to an individual region and can be used
--   in all regions.
--   
--   <i>Important:</i> The configuration details for any global resource
--   are the same in all regions. If you customize AWS Config in multiple
--   regions to record global resources, it will create multiple
--   configuration items each time a global resource changes: one
--   configuration item for each region. These configuration items will
--   contain identical data. To prevent duplicate configuration items, you
--   should consider customizing AWS Config in only one region to record
--   global resources, unless you want the configuration items to be
--   available in multiple regions.
--   
--   If you don't want AWS Config to record all resources, you can specify
--   which types of resources it will record with the
--   <tt>resourceTypes</tt> parameter.
--   
--   For a list of supported resource types, see <a>Supported Resource
--   Types</a> .
--   
--   For more information, see <a>Selecting Which Resources AWS Config
--   Records</a> .
--   
--   <i>See:</i> <a>recordingGroup</a> smart constructor.
data RecordingGroup

-- | Creates a value of <a>RecordingGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rgAllSupported</a> - Specifies whether AWS Config records
--   configuration changes for every supported type of regional resource.
--   If you set this option to <tt>true</tt> , when AWS Config adds support
--   for a new type of regional resource, it starts recording resources of
--   that type automatically. If you set this option to <tt>true</tt> , you
--   cannot enumerate a list of <tt>resourceTypes</tt> .</li>
--   <li><a>rgIncludeGlobalResourceTypes</a> - Specifies whether AWS Config
--   includes all supported types of global resources (for example, IAM
--   resources) with the resources that it records. Before you can set this
--   option to <tt>true</tt> , you must set the <tt>allSupported</tt>
--   option to <tt>true</tt> . If you set this option to <tt>true</tt> ,
--   when AWS Config adds support for a new type of global resource, it
--   starts recording resources of that type automatically. The
--   configuration details for any global resource are the same in all
--   regions. To prevent duplicate configuration items, you should consider
--   customizing AWS Config in only one region to record global
--   resources.</li>
--   <li><a>rgResourceTypes</a> - A comma-separated list that specifies the
--   types of AWS resources for which AWS Config records configuration
--   changes (for example, <tt>AWS::EC2::Instance</tt> or
--   <tt>AWS::CloudTrail::Trail</tt> ). Before you can set this option to
--   <tt>true</tt> , you must set the <tt>allSupported</tt> option to
--   <tt>false</tt> . If you set this option to <tt>true</tt> , when AWS
--   Config adds support for a new type of resource, it will not record
--   resources of that type unless you manually add that type to your
--   recording group. For a list of valid <tt>resourceTypes</tt> values,
--   see the <b>resourceType Value</b> column in <a>Supported AWS Resource
--   Types</a> .</li>
--   </ul>
recordingGroup :: RecordingGroup

-- | Specifies whether AWS Config records configuration changes for every
--   supported type of regional resource. If you set this option to
--   <tt>true</tt> , when AWS Config adds support for a new type of
--   regional resource, it starts recording resources of that type
--   automatically. If you set this option to <tt>true</tt> , you cannot
--   enumerate a list of <tt>resourceTypes</tt> .
rgAllSupported :: Lens' RecordingGroup (Maybe Bool)

-- | Specifies whether AWS Config includes all supported types of global
--   resources (for example, IAM resources) with the resources that it
--   records. Before you can set this option to <tt>true</tt> , you must
--   set the <tt>allSupported</tt> option to <tt>true</tt> . If you set
--   this option to <tt>true</tt> , when AWS Config adds support for a new
--   type of global resource, it starts recording resources of that type
--   automatically. The configuration details for any global resource are
--   the same in all regions. To prevent duplicate configuration items, you
--   should consider customizing AWS Config in only one region to record
--   global resources.
rgIncludeGlobalResourceTypes :: Lens' RecordingGroup (Maybe Bool)

-- | A comma-separated list that specifies the types of AWS resources for
--   which AWS Config records configuration changes (for example,
--   <tt>AWS::EC2::Instance</tt> or <tt>AWS::CloudTrail::Trail</tt> ).
--   Before you can set this option to <tt>true</tt> , you must set the
--   <tt>allSupported</tt> option to <tt>false</tt> . If you set this
--   option to <tt>true</tt> , when AWS Config adds support for a new type
--   of resource, it will not record resources of that type unless you
--   manually add that type to your recording group. For a list of valid
--   <tt>resourceTypes</tt> values, see the <b>resourceType Value</b>
--   column in <a>Supported AWS Resource Types</a> .
rgResourceTypes :: Lens' RecordingGroup [ResourceType]

-- | The relationship of the related resource to the main resource.
--   
--   <i>See:</i> <a>relationship</a> smart constructor.
data Relationship

-- | Creates a value of <a>Relationship</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rResourceId</a> - The ID of the related resource (for example,
--   <tt>sg-xxxxxx</tt> ).</li>
--   <li><a>rResourceType</a> - The resource type of the related
--   resource.</li>
--   <li><a>rResourceName</a> - The custom name of the related resource, if
--   available.</li>
--   <li><a>rRelationshipName</a> - The type of relationship with the
--   related resource.</li>
--   </ul>
relationship :: Relationship

-- | The ID of the related resource (for example, <tt>sg-xxxxxx</tt> ).
rResourceId :: Lens' Relationship (Maybe Text)

-- | The resource type of the related resource.
rResourceType :: Lens' Relationship (Maybe ResourceType)

-- | The custom name of the related resource, if available.
rResourceName :: Lens' Relationship (Maybe Text)

-- | The type of relationship with the related resource.
rRelationshipName :: Lens' Relationship (Maybe Text)

-- | An object that contains the resource type and the number of resources.
--   
--   <i>See:</i> <a>resourceCount</a> smart constructor.
data ResourceCount

-- | Creates a value of <a>ResourceCount</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rcResourceType</a> - The resource type (for example,
--   <tt>"AWS::EC2::Instance"</tt> ).</li>
--   <li><a>rcCount</a> - The number of resources.</li>
--   </ul>
resourceCount :: ResourceCount

-- | The resource type (for example, <tt>"AWS::EC2::Instance"</tt> ).
rcResourceType :: Lens' ResourceCount (Maybe ResourceType)

-- | The number of resources.
rcCount :: Lens' ResourceCount (Maybe Integer)

-- | The details that identify a resource that is discovered by AWS Config,
--   including the resource type, ID, and (if available) the custom
--   resource name.
--   
--   <i>See:</i> <a>resourceIdentifier</a> smart constructor.
data ResourceIdentifier

-- | Creates a value of <a>ResourceIdentifier</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>riResourceId</a> - The ID of the resource (for example,
--   <tt>sg-xxxxxx</tt> ).</li>
--   <li><a>riResourceType</a> - The type of resource.</li>
--   <li><a>riResourceName</a> - The custom name of the resource (if
--   available).</li>
--   <li><a>riResourceDeletionTime</a> - The time that the resource was
--   deleted.</li>
--   </ul>
resourceIdentifier :: ResourceIdentifier

-- | The ID of the resource (for example, <tt>sg-xxxxxx</tt> ).
riResourceId :: Lens' ResourceIdentifier (Maybe Text)

-- | The type of resource.
riResourceType :: Lens' ResourceIdentifier (Maybe ResourceType)

-- | The custom name of the resource (if available).
riResourceName :: Lens' ResourceIdentifier (Maybe Text)

-- | The time that the resource was deleted.
riResourceDeletionTime :: Lens' ResourceIdentifier (Maybe UTCTime)

-- | The details that identify a resource within AWS Config, including the
--   resource type and resource ID.
--   
--   <i>See:</i> <a>resourceKey</a> smart constructor.
data ResourceKey

-- | Creates a value of <a>ResourceKey</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rkResourceType</a> - The resource type.</li>
--   <li><a>rkResourceId</a> - The ID of the resource (for example.,
--   sg-xxxxxx).</li>
--   </ul>
resourceKey :: ResourceType -> Text -> ResourceKey

-- | The resource type.
rkResourceType :: Lens' ResourceKey ResourceType

-- | The ID of the resource (for example., sg-xxxxxx).
rkResourceId :: Lens' ResourceKey Text

-- | Defines which resources trigger an evaluation for an AWS Config rule.
--   The scope can include one or more resource types, a combination of a
--   tag key and value, or a combination of one resource type and one
--   resource ID. Specify a scope to constrain which resources trigger an
--   evaluation for a rule. Otherwise, evaluations for the rule are
--   triggered when any resource in your recording group changes in
--   configuration.
--   
--   <i>See:</i> <a>scope</a> smart constructor.
data Scope

-- | Creates a value of <a>Scope</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sComplianceResourceTypes</a> - The resource types of only those
--   AWS resources that you want to trigger an evaluation for the rule. You
--   can only specify one type if you also specify a resource ID for
--   <tt>ComplianceResourceId</tt> .</li>
--   <li><a>sComplianceResourceId</a> - The ID of the only AWS resource
--   that you want to trigger an evaluation for the rule. If you specify a
--   resource ID, you must specify one resource type for
--   <tt>ComplianceResourceTypes</tt> .</li>
--   <li><a>sTagValue</a> - The tag value applied to only those AWS
--   resources that you want to trigger an evaluation for the rule. If you
--   specify a value for <tt>TagValue</tt> , you must also specify a value
--   for <tt>TagKey</tt> .</li>
--   <li><a>sTagKey</a> - The tag key that is applied to only those AWS
--   resources that you want to trigger an evaluation for the rule.</li>
--   </ul>
scope :: Scope

-- | The resource types of only those AWS resources that you want to
--   trigger an evaluation for the rule. You can only specify one type if
--   you also specify a resource ID for <tt>ComplianceResourceId</tt> .
sComplianceResourceTypes :: Lens' Scope [Text]

-- | The ID of the only AWS resource that you want to trigger an evaluation
--   for the rule. If you specify a resource ID, you must specify one
--   resource type for <tt>ComplianceResourceTypes</tt> .
sComplianceResourceId :: Lens' Scope (Maybe Text)

-- | The tag value applied to only those AWS resources that you want to
--   trigger an evaluation for the rule. If you specify a value for
--   <tt>TagValue</tt> , you must also specify a value for <tt>TagKey</tt>
--   .
sTagValue :: Lens' Scope (Maybe Text)

-- | The tag key that is applied to only those AWS resources that you want
--   to trigger an evaluation for the rule.
sTagKey :: Lens' Scope (Maybe Text)

-- | Provides the AWS Config rule owner (AWS or customer), the rule
--   identifier, and the events that trigger the evaluation of your AWS
--   resources.
--   
--   <i>See:</i> <a>source</a> smart constructor.
data Source

-- | Creates a value of <a>Source</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sSourceDetails</a> - Provides the source and type of the event
--   that causes AWS Config to evaluate your AWS resources.</li>
--   <li><a>sOwner</a> - Indicates whether AWS or the customer owns and
--   manages the AWS Config rule.</li>
--   <li><a>sSourceIdentifier</a> - For AWS Config managed rules, a
--   predefined identifier from a list. For example,
--   <tt>IAM_PASSWORD_POLICY</tt> is a managed rule. To reference a managed
--   rule, see <a>Using AWS Managed Config Rules</a> . For custom rules,
--   the identifier is the Amazon Resource Name (ARN) of the rule's AWS
--   Lambda function, such as
--   <tt>arn:aws:lambda:us-east-2:123456789012:function:custom_rule_name</tt>
--   .</li>
--   </ul>
source :: Owner -> Text -> Source

-- | Provides the source and type of the event that causes AWS Config to
--   evaluate your AWS resources.
sSourceDetails :: Lens' Source [SourceDetail]

-- | Indicates whether AWS or the customer owns and manages the AWS Config
--   rule.
sOwner :: Lens' Source Owner

-- | For AWS Config managed rules, a predefined identifier from a list. For
--   example, <tt>IAM_PASSWORD_POLICY</tt> is a managed rule. To reference
--   a managed rule, see <a>Using AWS Managed Config Rules</a> . For custom
--   rules, the identifier is the Amazon Resource Name (ARN) of the rule's
--   AWS Lambda function, such as
--   <tt>arn:aws:lambda:us-east-2:123456789012:function:custom_rule_name</tt>
--   .
sSourceIdentifier :: Lens' Source Text

-- | Provides the source and the message types that trigger AWS Config to
--   evaluate your AWS resources against a rule. It also provides the
--   frequency with which you want AWS Config to run evaluations for the
--   rule if the trigger type is periodic. You can specify the parameter
--   values for <tt>SourceDetail</tt> only for custom rules.
--   
--   <i>See:</i> <a>sourceDetail</a> smart constructor.
data SourceDetail

-- | Creates a value of <a>SourceDetail</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sdMessageType</a> - The type of notification that triggers AWS
--   Config to run an evaluation for a rule. You can specify the following
--   notification types: * <tt>ConfigurationItemChangeNotification</tt> -
--   Triggers an evaluation when AWS Config delivers a configuration item
--   as a result of a resource change. *
--   <tt>OversizedConfigurationItemChangeNotification</tt> - Triggers an
--   evaluation when AWS Config delivers an oversized configuration item.
--   AWS Config may generate this notification type when a resource changes
--   and the notification exceeds the maximum size allowed by Amazon SNS. *
--   <tt>ScheduledNotification</tt> - Triggers a periodic evaluation at the
--   frequency specified for <tt>MaximumExecutionFrequency</tt> . *
--   <tt>ConfigurationSnapshotDeliveryCompleted</tt> - Triggers a periodic
--   evaluation when AWS Config delivers a configuration snapshot. If you
--   want your custom rule to be triggered by configuration changes,
--   specify two SourceDetail objects, one for
--   <tt>ConfigurationItemChangeNotification</tt> and one for
--   <tt>OversizedConfigurationItemChangeNotification</tt> .</li>
--   <li><a>sdMaximumExecutionFrequency</a> - The frequency at which you
--   want AWS Config to run evaluations for a custom rule with a periodic
--   trigger. If you specify a value for <tt>MaximumExecutionFrequency</tt>
--   , then <tt>MessageType</tt> must use the
--   <tt>ScheduledNotification</tt> value.</li>
--   <li><a>sdEventSource</a> - The source of the event, such as an AWS
--   service, that triggers AWS Config to evaluate your AWS resources.</li>
--   </ul>
sourceDetail :: SourceDetail

-- | The type of notification that triggers AWS Config to run an evaluation
--   for a rule. You can specify the following notification types: *
--   <tt>ConfigurationItemChangeNotification</tt> - Triggers an evaluation
--   when AWS Config delivers a configuration item as a result of a
--   resource change. *
--   <tt>OversizedConfigurationItemChangeNotification</tt> - Triggers an
--   evaluation when AWS Config delivers an oversized configuration item.
--   AWS Config may generate this notification type when a resource changes
--   and the notification exceeds the maximum size allowed by Amazon SNS. *
--   <tt>ScheduledNotification</tt> - Triggers a periodic evaluation at the
--   frequency specified for <tt>MaximumExecutionFrequency</tt> . *
--   <tt>ConfigurationSnapshotDeliveryCompleted</tt> - Triggers a periodic
--   evaluation when AWS Config delivers a configuration snapshot. If you
--   want your custom rule to be triggered by configuration changes,
--   specify two SourceDetail objects, one for
--   <tt>ConfigurationItemChangeNotification</tt> and one for
--   <tt>OversizedConfigurationItemChangeNotification</tt> .
sdMessageType :: Lens' SourceDetail (Maybe MessageType)

-- | The frequency at which you want AWS Config to run evaluations for a
--   custom rule with a periodic trigger. If you specify a value for
--   <tt>MaximumExecutionFrequency</tt> , then <tt>MessageType</tt> must
--   use the <tt>ScheduledNotification</tt> value.
sdMaximumExecutionFrequency :: Lens' SourceDetail (Maybe MaximumExecutionFrequency)

-- | The source of the event, such as an AWS service, that triggers AWS
--   Config to evaluate your AWS resources.
sdEventSource :: Lens' SourceDetail (Maybe EventSource)
